10 struct _VK_TO_FUNCTION_TABLE *
pVkToF;
51#define KS_DOWN_BIT 0x80
52#define KS_LOCK_BIT 0x01
54#define SC_KEY_UP 0x8000
56#define LP_DO_NOT_CARE_BIT (1<<25)
65#define ThreadHasInputAccess(W32Thread) (TRUE)
95#define GET_KS_BYTE(vk) ((vk) * 2 / 8)
96#define GET_KS_DOWN_BIT(vk) (1 << (((vk) % 4)*2))
97#define GET_KS_LOCK_BIT(vk) (1 << (((vk) % 4)*2 + 1))
98#define IS_KEY_DOWN(ks, vk) (((ks)[GET_KS_BYTE(vk)] & GET_KS_DOWN_BIT(vk)) ? TRUE : FALSE)
99#define IS_KEY_LOCKED(ks, vk) (((ks)[GET_KS_BYTE(vk)] & GET_KS_LOCK_BIT(vk)) ? TRUE : FALSE)
100#define SET_KEY_DOWN(ks, vk, down) (ks)[GET_KS_BYTE(vk)] = ((down) ? \
101 ((ks)[GET_KS_BYTE(vk)] | GET_KS_DOWN_BIT(vk)) : \
102 ((ks)[GET_KS_BYTE(vk)] & ~GET_KS_DOWN_BIT(vk)))
103#define SET_KEY_LOCKED(ks, vk, down) (ks)[GET_KS_BYTE(vk)] = ((down) ? \
104 ((ks)[GET_KS_BYTE(vk)] | GET_KS_LOCK_BIT(vk)) : \
105 ((ks)[GET_KS_BYTE(vk)] & ~GET_KS_LOCK_BIT(vk)))
struct _ATTACHINFO * paiNext
struct _KBDTABLES * pKbdTbl
struct tagKBDFILE * pkfNext
struct _VK_TO_FUNCTION_TABLE * pVkToF
NTSTATUS NTAPI InitKeyboardImpl(VOID)