88#define KS_DOWN_BIT 0x80
89#define KS_LOCK_BIT 0x01
91#define SC_KEY_UP 0x8000
93#define LP_DO_NOT_CARE_BIT (1<<25)
103#define ThreadHasInputAccess(W32Thread) (TRUE)
171#define GET_KS_BYTE(vk) ((vk) * 2 / 8)
172#define GET_KS_DOWN_BIT(vk) (1 << (((vk) % 4)*2))
173#define GET_KS_LOCK_BIT(vk) (1 << (((vk) % 4)*2 + 1))
174#define IS_KEY_DOWN(ks, vk) (((ks)[GET_KS_BYTE(vk)] & GET_KS_DOWN_BIT(vk)) ? TRUE : FALSE)
175#define IS_KEY_LOCKED(ks, vk) (((ks)[GET_KS_BYTE(vk)] & GET_KS_LOCK_BIT(vk)) ? TRUE : FALSE)
176#define SET_KEY_DOWN(ks, vk, down) (ks)[GET_KS_BYTE(vk)] = ((down) ? \
177 ((ks)[GET_KS_BYTE(vk)] | GET_KS_DOWN_BIT(vk)) : \
178 ((ks)[GET_KS_BYTE(vk)] & ~GET_KS_DOWN_BIT(vk)))
179#define SET_KEY_LOCKED(ks, vk, down) (ks)[GET_KS_BYTE(vk)] = ((down) ? \
180 ((ks)[GET_KS_BYTE(vk)] | GET_KS_LOCK_BIT(vk)) : \
181 ((ks)[GET_KS_BYTE(vk)] & ~GET_KS_LOCK_BIT(vk)))
#define ExAcquireResourceExclusiveLite(res, wait)
struct _HIDP_PREPARSED_DATA * PHIDP_PREPARSED_DATA
#define KeLeaveCriticalRegion()
#define KeEnterCriticalRegion()
VOID FASTCALL ExReleaseResourceLite(IN PERESOURCE Resource)
struct _ATTACHINFO * paiNext
PHIDP_PREPARSED_DATA PreparsedData
HID_COLLECTION_INFORMATION CollectionInformation
KEYBOARD_ATTRIBUTES Attributes
MOUSE_ATTRIBUTES Attributes
struct _KBDTABLES * pKbdTbl
struct tagKBDFILE * pkfNext
struct _VK_TO_FUNCTION_TABLE * pVkToF
PCBYTE PBYTE SIZE_T cbData
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
TW_UINT32 TW_UINT16 TW_UINT16 MSG
NTSTATUS NTAPI InitKeyboardImpl(VOID)