11#define KBDMULTIVK 0x200
12#define KBDSPECIAL 0x400
13#define KBDNUMPAD 0x800
21#define SHFT_INVALID 0x0F
34#define TYPEDEF_VK_TO_WCHARS(i) \
35 typedef struct _VK_TO_WCHARS ## i { \
39 } VK_TO_WCHARS ## i, *PVK_TO_WCHARS ## i;
78#define TYPEDEF_LIGATURE(i) \
79typedef struct _LIGATURE ## i { \
81 WORD ModificationNumber; \
83} LIGATURE ## i, *PLIGATURE ## i;
92#define GET_KBD_VERSION(p) (HIWORD((p)->fLocaleFlags))
94#define KLLF_SHIFTLOCK 0x2
95#define KLLF_LRM_RLM 0x4
115#define WCH_NONE 0xf000
116#define WCH_DEAD 0xf001
117#define WCH_LGTR 0xf002
122#define CAPLOKALTGR 0x04
124#define GRPSELTAP 0x80
126#define VK_ABNT_C1 0xC1
127#define VK_ABNT_C2 0xC2
130#define SCANCODE_LSHIFT 0x2A
131#define SCANCODE_RSHIFT 0x36
132#define SCANCODE_CTRL 0x1D
133#define SCANCODE_ALT 0x38
145#define KBDTABLE_MULTI_MAX 8
156#define KBDNLS_TYPE_NULL 0
157#define KBDNLS_TYPE_NORMAL 1
158#define KBDNLS_TYPE_TOGGLE 2
160#define KBDNLS_INDEX_NORMAL 1
161#define KBDNLS_INDEX_ALT 2
165#define KBDNLS_NOEVENT 1
166#define KBDNLS_SEND_BASE_VK 2
167#define KBDNLS_SEND_PARAM_VK 3
168#define KBDNLS_KANALOCK 4
169#define KBDNLS_ALPHANUM 5
170#define KBDNLS_HIRAGANA 6
171#define KBDNLS_KATAKANA 7
172#define KBDNLS_SBCSDBCS 8
173#define KBDNLS_ROMAN 9
174#define KBDNLS_CODEINPUT 10
175#define KBDNLS_HELP_OR_END 11
176#define KBDNLS_HOME_OR_CLEAR 12
177#define KBDNLS_NUMPAD 13
178#define KBDNLS_KANAEVENT 14
179#define KBDNLS_CONV_OR_NONCONV 15
215#if (NTDDI_VERSION >= NTDDI_WINXP)
216#define VK_DBE_ALPHANUMERIC 0xF0
217#define VK_DBE_KATAKANA 0xF1
218#define VK_DBE_HIRAGANA 0xF2
219#define VK_DBE_SBCSCHAR 0xF3
220#define VK_DBE_DBCSCHAR 0xF4
221#define VK_DBE_ROMAN 0xF5
222#define VK_DBE_NOROMAN 0xF6
223#define VK_DBE_ENTERWORDREGISTERMODE 0xF7
224#define VK_DBE_ENTERIMECONFIGMODE 0xF8
225#define VK_DBE_FLUSHSTRING 0xF9
226#define VK_DBE_CODEINPUT 0xFA
227#define VK_DBE_NOCODEINPUT 0xFB
228#define VK_DBE_DETERMINESTRING 0xFC
229#define VK_DBE_ENTERDLGCONVERSIONMODE 0xFD
struct _VSC_LPWSTR * PVSC_LPWSTR
struct _VK_TO_WCHAR_TABLE VK_TO_WCHAR_TABLE
struct _VK_TO_BIT VK_TO_BIT
struct tagKBDTABLE_DESC * PKBDTABLE_DESC
struct _VK_TO_FUNCTION_TABLE VK_F
struct tagKBDTABLE_MULTI * PKBDTABLE_MULTI
struct _KBDTABLES * PKBDTABLES
struct _DEADKEY * PDEADKEY
struct tagKBDTABLES_FE KBDTABLES_FE
struct _KBDTABLES KBDTABLES
struct _VK_FUNCTION_PARAM VK_FPARAM
struct tagKBDTABLES_FE * PKBDTABLES_FE
struct tagKbdNlsLayer KBDNLSTABLES
struct _VK_TO_FUNCTION_TABLE * PVK_F
struct _MODIFIERS * PMODIFIERS
struct tagKBDTABLE_DESC KBDTABLE_DESC
struct tagKbdNlsLayer * PKBDNLSTABLES
struct _VK_TO_BIT * PVK_TO_BIT
#define KBDTABLE_MULTI_MAX
struct _VK_FUNCTION_PARAM * PVK_FPARAM
struct _VK_TO_WCHAR_TABLE * PVK_TO_WCHAR_TABLE
struct tagKBDTABLE_MULTI KBDTABLE_MULTI
struct _VSC_LPWSTR VSC_LPWSTR
#define TYPEDEF_VK_TO_WCHARS(i)
struct _MODIFIERS MODIFIERS
#define TYPEDEF_LIGATURE(i)
VSC_LPWSTR * pKeyNamesExt
PMODIFIERS pCharModifiers
PVK_TO_WCHAR_TABLE pVkToWcharTable
VK_FPARAM NLSFEProcAlt[8]
PVK_TO_WCHARS1 pVkToWchars
KBDTABLE_DESC aKbdTables[KBDTABLE_MULTI_MAX]