1 /* ReactOS System Header -- kbd.h */
5 #pragma GCC system_header
12 typedef struct _VK_TO_BIT {
15 } VK_TO_BIT, *PVK_TO_BIT;
17 typedef struct _MODIFIERS {
21 } MODIFIERS, *PMODIFIERS;
23 #define TYPEDEF_VK_TO_WCHARS(i) \
24 typedef struct _VK_TO_WCHARS ## i { \
28 } VK_TO_WCHARS ## i, *PVK_TO_WCHARS ## i;
30 TYPEDEF_VK_TO_WCHARS(1)
31 TYPEDEF_VK_TO_WCHARS(2)
32 TYPEDEF_VK_TO_WCHARS(3)
33 TYPEDEF_VK_TO_WCHARS(4)
34 TYPEDEF_VK_TO_WCHARS(5)
35 TYPEDEF_VK_TO_WCHARS(6)
36 TYPEDEF_VK_TO_WCHARS(7)
37 TYPEDEF_VK_TO_WCHARS(8)
38 TYPEDEF_VK_TO_WCHARS(9)
39 TYPEDEF_VK_TO_WCHARS(10)
41 typedef struct _VK_TO_WCHAR_TABLE {
42 PVK_TO_WCHARS1 pVkToWchars;
45 } VK_TO_WCHAR_TABLE, *PVK_TO_WCHAR_TABLE;
47 typedef struct _DEADKEY {
55 typedef struct _VSC_LPWSTR {
58 } VSC_LPWSTR, *PVSC_LPWSTR;
60 typedef struct _VSC_VK {
65 #define TYPEDEF_LIGATURE(i) \
66 typedef struct _LIGATURE ## i { \
68 WORD ModificationNumber; \
70 } LIGATURE ## i, *PLIGATURE ## i;
75 #define GET_KBD_VERSION(p) (HIWORD((p)->fLocalFlags))
77 #define KLLF_SHIFTLOCK 2
78 #define KLLF_LRM_RLM 4
80 typedef struct _KBDTABLES {
81 PMODIFIERS pCharModifiers;
82 PVK_TO_WCHAR_TABLE pVkToWcharTable;
84 VSC_LPWSTR *pKeyNames;
85 VSC_LPWSTR *pKeyNamesExt;
86 LPWSTR *pKeyNamesDead;
95 } KBDTABLES, *PKBDTABLES;
97 /* Constants that help table decoding */
98 #define WCH_NONE 0xf000
99 #define WCH_DEAD 0xf001
100 #define WCH_LGTR 0xf002
104 #define CAPLOKALTGR 4
106 #define GRPSELTAP 0x80