/* ReactOS System Header -- kbd.h */ #define __KBD_H #if __GNUC__ >=3 #pragma GCC system_header #endif #ifdef __cplusplus extern "C" { #endif typedef struct _VK_TO_BIT { BYTE Vk; BYTE ModBits; } VK_TO_BIT, *PVK_TO_BIT; typedef struct _MODIFIERS { PVK_TO_BIT pVkToBit; WORD wMaxModBits; BYTE ModNumber[1]; } MODIFIERS, *PMODIFIERS; #define TYPEDEF_VK_TO_WCHARS(i) \ typedef struct _VK_TO_WCHARS ## i { \ BYTE VirtualKey; \ BYTE Attributes; \ WCHAR wch[i]; \ } VK_TO_WCHARS ## i, *PVK_TO_WCHARS ## i; TYPEDEF_VK_TO_WCHARS(1) TYPEDEF_VK_TO_WCHARS(2) TYPEDEF_VK_TO_WCHARS(3) TYPEDEF_VK_TO_WCHARS(4) TYPEDEF_VK_TO_WCHARS(5) TYPEDEF_VK_TO_WCHARS(6) TYPEDEF_VK_TO_WCHARS(7) TYPEDEF_VK_TO_WCHARS(8) TYPEDEF_VK_TO_WCHARS(9) TYPEDEF_VK_TO_WCHARS(10) typedef struct _VK_TO_WCHAR_TABLE { PVK_TO_WCHARS1 pVkToWchars; BYTE nModifications; BYTE cbSize; } VK_TO_WCHAR_TABLE, *PVK_TO_WCHAR_TABLE; typedef struct _DEADKEY { DWORD dwBoth; WCHAR wchComposed; USHORT uFlags; } DEADKEY, *PDEADKEY; #define DKF_DEAD 1 typedef struct _VSC_LPWSTR { BYTE vsc; LPWSTR pwsz; } VSC_LPWSTR, *PVSC_LPWSTR; typedef struct _VSC_VK { BYTE Vsc; USHORT Vk; } VSC_VK, *PVSC_VK; #define TYPEDEF_LIGATURE(i) \ typedef struct _LIGATURE ## i { \ BYTE VirtualKey; \ WORD ModificationNumber; \ WCHAR wch[i]; \ } LIGATURE ## i, *PLIGATURE ## i; TYPEDEF_LIGATURE(1) #define KBD_VERSION 1 #define GET_KBD_VERSION(p) (HIWORD((p)->fLocalFlags)) #define KLLF_ALTGR 1 #define KLLF_SHIFTLOCK 2 #define KLLF_LRM_RLM 4 typedef struct _KBDTABLES { PMODIFIERS pCharModifiers; PVK_TO_WCHAR_TABLE pVkToWcharTable; PDEADKEY pDeadKey; VSC_LPWSTR *pKeyNames; VSC_LPWSTR *pKeyNamesExt; LPWSTR *pKeyNamesDead; USHORT *pusVSCtoVK; BYTE bMaxVSCtoVK; PVSC_VK pVSCtoVK_E0; PVSC_VK pVSCtoVK_E1; DWORD fLocalFlags; BYTE nLgMaxd; BYTE cbLgEntry; PLIGATURE1 pLigature; } KBDTABLES, *PKBDTABLES; /* Constants that help table decoding */ #define WCH_NONE 0xf000 #define WCH_DEAD 0xf001 #define WCH_LGTR 0xf002 #define CAPSLOK 1 #define SGCAPS 2 #define CAPLOKALTGR 4 #define KANALOK 8 #define GRPSELTAP 0x80 #ifdef __cplusplus }; #endif//__KBD_H