📄 intface.h
字号:
//
// Copyright (c) Microsoft Corporation. All rights reserved.
//
//
// Use of this sample source code is subject to the terms of the Microsoft
// license agreement under which you licensed this sample source code. If
// you did not accept the terms of the license agreement, you are not
// authorized to use this sample source code. For the terms of the license,
// please see the license agreement between you and Microsoft or, if applicable,
// see the LICENSE.RTF on your install media or the root of your tools installation.
// THE SAMPLE SOURCE CODE IS PROVIDED "AS IS", WITH NO WARRANTIES OR INDEMNITIES.
//
/*++
THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
PARTICULAR PURPOSE.
Module Name:
intface.h
Abstract:
Header file for interface between input system frame work and
each indivitual input pad. It also includes definitons of input
pad specific structure.
--*/
#ifndef __INTFACE_H__
#define __INTFACE_H__
#ifdef __cplusplus
extern "C" {
#endif
typedef struct _SOFTKBD_INPUT {
UINT32 m_nCharacter : 16; // Bits 0-15 are unicode code point
UINT32 m_nKey : 8; // Bits 16-24 are virtual key code
UINT32 m_bShift : 1; // Bit 25 is shift key state (down == 1)
UINT32 m_bCtrl : 1; // Bit 26 is control key state (down == 1)
UINT32 m_bAlt : 1; // Bit 27 is alt key state (down == 1)
UINT32 m_bCaps : 1; // Bit 28 is caps lock toggle state (on == 1)
UINT32 m_bNum : 1; // Bit 29 is num lock toggle state (on == 1)
UINT32 m_bScroll : 1; // Bit 30 is scroll lock toggle state (on == 1)
} SOFTKBD_INPUT, *PSOFTKBD_INPUT;
/*
* SIPANEL_QUERY_STATUS
*/
typedef enum _SIPSTATUSTYPE
{
SIP_COMP_CONTEXT = 0x0L,
SIP_IME_STATUS,
} SIPSTATUSTYPE;
typedef struct _tagSIPStatus {
SIPSTATUSTYPE m_type; // Type of information
UINT m_status; // The content
} SIPSTATUS, *PSIPSTATUS;
/*
* SIPANEL_CALLBACK_TYPE
*/
typedef enum _SIPANEL_CALLBACK_TYPE
{
SIPANEL_HARDKBD_INPUT = 0x1000L,
SIPANEL_SOFTKBD_INPUT,
SIPANEL_HANDWRITING_INPUT,
SIPANEL_QUERY_STATUS, // Query the current IME status of SIPanel
SIPANEL_COMMON_INPUT,
SIPANEL_COMMON_KEY,
SIPANEL_SWITCH_PAD,
} SIPANEL_CALLBACK_TYPE;
typedef BOOL (CALLBACK* SIPANEL_CALLBACK) (IN SIPANEL_CALLBACK_TYPE, IN OUT LPARAM);
/*
* InputPad_Initialize()
*/
HWND InputPad_Initialize(
IN HWND,
IN SIPANEL_CALLBACK
);
/*
* INPAD_COMMAND_TYPE
*/
typedef enum _INPAD_COMMAND_TYPE
{
INPAD_LOAD = 0L,
INPAD_UNLOAD,
INPAD_EXIT,
INPAD_ERASE,
INPAD_DETERMINE,
INPAD_QUERY_SIZE,
INPAD_SET_KEYBOARD_STATE,
INPAD_QUERY_RCMASK,
INPAD_SET_RCMASK,
INPAD_SPECIAL_CHAR,
INPAD_QUERY_PROCESS_DONE,
INPAD_COMMON_KEY,
INPAD_SWITCH_PAD,
} INPAD_COMMAND_TYPE, *PINPAD_COMMAND_TYPE;
BOOL InputPad_Command(IN INPAD_COMMAND_TYPE, IN OUT LPARAM);
typedef enum _INPUTPAD_ID
{
INPUTPAD_SOFTKB = 0L,
INPUTPAD_HDKB,
INPUTPAD_HWPAD,
INPUTPAD_MENUITEM = 100L
} INPUTPAD_ID, *PINPUTPAD_ID;
/*
* The common keys on SIPanel
*
* Those are the keys that has effect on default composition window
*/
#define SIP_CKEY_CLEARALL 0x0001L
#define SIP_CKEY_BACKSPACE 0x0002L
#define SIP_CKEY_UNDO 0x0003L
#define SIP_CKEY_FSPACE 0x0004L
#define SIP_CKEY_HSPACE 0x0005L
#define SIP_CKEY_CTRL 0x0006L
#define SIP_CKEY_NEWLINE 0x0007L
#define SIP_CKEY_CONVERT 0x0008L
#define SIP_CKEY_DETERMINE 0x0009L
#ifdef __cplusplus
}
#endif /*__cplusplus*/
#endif /* __INTFACE_H__ */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -