ReactOS  0.4.15-dev-1384-g878186b
kbdtool.h
Go to the documentation of this file.
1 /*
2  * PROJECT: ReactOS Build Tools [Keyboard Layout Compiler]
3  * LICENSE: BSD - See COPYING.BSD in the top level directory
4  * FILE: tools/kbdtool/kbdtool.h
5  * PURPOSE: Main Header File
6  * PROGRAMMERS: ReactOS Foundation
7  */
8 
9 /* INCLUDES *******************************************************************/
10 
11 #include <ctype.h>
12 #include <string.h>
13 #include <stdarg.h>
14 #include <stdio.h>
15 #include <stdlib.h>
16 #include <time.h>
17 #include <typedefs.h>
18 
19 #define KEYWORD_COUNT 17
20 
21 #define CHAR_NORMAL_KEY 0
22 #define CHAR_DEAD_KEY 1
23 #define CHAR_OTHER_KEY 2
24 #define CHAR_INVALID_KEY 3
25 #define CHAR_LIGATURE_KEY 4
26 
27 typedef struct tagKEYNAME
28 {
31  struct tagKEYNAME* Next;
32 } KEYNAME, *PKEYNAME;
33 
34 typedef struct tagSCVK
35 {
40 } SCVK, *PSCVK;
41 
42 typedef struct tagVKNAME
43 {
46 } VKNAME, *PVKNAME;
47 
48 typedef struct tagLAYOUTENTRY
49 {
64 
65 typedef struct tagLAYOUT
66 {
68 } LAYOUT, *PLAYOUT;
69 
70 ULONG
71 DoOutput(
72  IN ULONG StateCount,
73  IN PULONG ShiftStates,
74  IN PKEYNAME DescriptionData,
75  IN PKEYNAME LanguageData,
77  IN PVOID DeadKeyData,
78  IN PVOID LigatureData,
79  IN PKEYNAME KeyNameData,
80  IN PKEYNAME KeyNameExtData,
81  IN PKEYNAME KeyNameDeadData
82 );
83 
84 PCHAR
85 getVKName(
86  IN ULONG VirtualKey,
88 );
89 
90 ULONG
91 DoParsing(
92  VOID
93 );
94 
96 extern PCHAR gpszFileName;
97 extern FILE* gfpInput;
98 extern VKNAME VKName[];
99 extern VKNAME Modifiers[];
100 extern SCVK ScVk[];
101 extern PCHAR StateLabel[];
102 extern PCHAR CapState[];
103 extern LAYOUT g_Layout;
104 extern CHAR gVKeyName[32];
105 extern CHAR gKBDName[10];
106 extern CHAR gCopyright[256];
107 extern CHAR gDescription[256];
108 extern CHAR gCompany[256];
109 extern CHAR gLocaleName[256];
110 extern ULONG gVersion, gSubVersion;
111 
112 /* EOF */
signed char * PCHAR
Definition: retypes.h:7
#define IN
Definition: typedefs.h:39
SCVK ScVk[]
Definition: data.c:146
LAYOUT g_Layout
Definition: parser.c:25
_In_ __drv_aliasesMem PSTRING Prefix
Definition: rtlfuncs.h:1631
ULONG Cap
Definition: kbdtool.h:53
USHORT ScanCode
Definition: kbdtool.h:50
USHORT ScanCode
Definition: kbdtool.h:36
FILE * gfpInput
Definition: main.c:21
BOOLEAN Verbose
Definition: chkdsk.c:72
CHAR gVKeyName[32]
Definition: parser.c:22
struct tagLAYOUT LAYOUT
ULONG Processed
Definition: kbdtool.h:61
char CHAR
Definition: xmlstorage.h:175
CHAR gCompany[256]
Definition: parser.c:20
BOOLEAN UnicodeFile
Definition: main.c:24
BOOLEAN SanityCheck
Definition: main.c:24
VKNAME VKName[]
Definition: data.c:16
CHAR gDescription[256]
Definition: parser.c:19
PCHAR Name
Definition: kbdtool.h:60
struct tagKEYNAME * PKEYNAME
ULONG StateCount
Definition: kbdtool.h:54
unsigned char BOOLEAN
BOOLEAN FallbackDriver
Definition: main.c:24
struct tagKEYNAME * Next
Definition: kbdtool.h:31
struct tagLAYOUT * PLAYOUT
ULONG DeadCharData[8]
Definition: kbdtool.h:56
ULONG DoOutput(IN ULONG StateCount, IN PULONG ShiftStates, IN PKEYNAME DescriptionData, IN PKEYNAME LanguageData, IN PVOID AttributeData, IN PVOID DeadKeyData, IN PVOID LigatureData, IN PKEYNAME KeyNameData, IN PKEYNAME KeyNameExtData, IN PKEYNAME KeyNameDeadData)
Definition: output.c:1268
struct tagSCVK * PSCVK
BOOLEAN Processed
Definition: kbdtool.h:39
ULONG gVersion
Definition: init.c:22
struct LAYOUTENTRY * CapData
Definition: kbdtool.h:59
ULONG DoParsing(VOID)
Definition: parser.c:972
PCHAR CapState[]
Definition: data.c:135
struct tagKEYNAME KEYNAME
unsigned char UCHAR
Definition: xmlstorage.h:181
struct tagVKNAME * PVKNAME
ULONG VirtualKey
Definition: kbdtool.h:44
ULONG gSubVersion
Definition: main.c:17
CHAR gCopyright[256]
Definition: version.c:17
PCHAR getVKName(IN ULONG VirtualKey, IN BOOLEAN Prefix)
Definition: parser.c:65
CHAR gKBDName[10]
Definition: parser.c:17
ULONG LineCount
Definition: kbdtool.h:62
ULONG CharData[8]
Definition: kbdtool.h:55
unsigned short USHORT
Definition: pedump.c:61
ULONG OtherCharData[8]
Definition: kbdtool.h:58
CHAR gLocaleName[256]
Definition: parser.c:21
unsigned int * PULONG
Definition: retypes.h:1
struct tagLAYOUTENTRY * PLAYOUTENTRY
VKNAME Modifiers[]
Definition: data.c:56
struct tagLAYOUTENTRY LAYOUTENTRY
UCHAR LigatureCharData[8]
Definition: kbdtool.h:57
UCHAR OriginalVirtualKey
Definition: kbdtool.h:52
unsigned int ULONG
Definition: retypes.h:1
ULONG Code
Definition: kbdtool.h:29
struct tagVKNAME VKNAME
PCHAR Name
Definition: kbdtool.h:45
UCHAR VirtualKey
Definition: kbdtool.h:51
PCHAR StateLabel[]
Definition: data.c:64
PCHAR Name
Definition: kbdtool.h:30
UCHAR VirtualKey
Definition: kbdtool.h:37
base of all file and directory entries
Definition: entries.h:82
PCHAR gpszFileName
Definition: main.c:20
PCHAR Name
Definition: kbdtool.h:38
struct tagSCVK SCVK