/* * PROJECT: ReactOS Build Tools [Keyboard Layout Compiler] * LICENSE: BSD - See COPYING.BSD in the top level directory * FILE: tools/kbdtool/kbdtool.h * PURPOSE: Main Header File * PROGRAMMERS: ReactOS Foundation */ /* INCLUDES *******************************************************************/ #include #include #include #include #include #include #define KEYWORD_COUNT 17 #define CHAR_NORMAL_KEY 0 #define CHAR_DEAD_KEY 1 #define CHAR_OTHER_KEY 2 #define CHAR_INVALID_KEY 3 #define CHAR_LIGATURE_KEY 4 typedef struct tagKEYNAME { ULONG Code; PCHAR Name; struct tagKEYNAME* Next; } KEYNAME, *PKEYNAME; typedef struct tagSCVK { USHORT ScanCode; USHORT VirtualKey; PCHAR Name; BOOLEAN Processed; } SCVK, *PSCVK; typedef struct tagVKNAME { ULONG VirtualKey; PCHAR Name; } VKNAME, *PVKNAME; typedef struct tagLAYOUTENTRY { USHORT ScanCode; UCHAR VirtualKey; UCHAR OriginalVirtualKey; ULONG Cap; ULONG StateCount; ULONG CharData[8]; ULONG DeadCharData[8]; UCHAR LigatureCharData[8]; ULONG OtherCharData[8]; struct LAYOUTENTRY* CapData; PCHAR Name; ULONG Processed; ULONG LineCount; } LAYOUTENTRY, *PLAYOUTENTRY; typedef struct tagLAYOUT { LAYOUTENTRY Entry[110]; } LAYOUT, *PLAYOUT; PCHAR getVKName( IN ULONG VirtualKey, IN BOOLEAN Prefix ); extern BOOLEAN Verbose, UnicodeFile, SanityCheck, FallbackDriver; extern PCHAR gpszFileName; extern FILE* gfpInput; extern VKNAME VKName[]; extern VKNAME Modifiers[]; extern SCVK ScVk[]; extern PCHAR StateLabel[]; extern PCHAR CapState[]; extern LAYOUT g_Layout; extern CHAR gVKeyName[32]; extern CHAR gKBDName[10]; extern CHAR gCopyright[256]; extern CHAR gDescription[256]; extern CHAR gCompany[256]; extern CHAR gLocaleName[256]; extern ULONG gVersion, gSubVersion; /* EOF */