Mercurial > games > semicongine
annotate fuhtark_test/include/ddk/ntddkbd.h @ 1501:f40d9d814c08 default tip main
did: correct vulkan-api generator
| author | sam <sam@basx.dev> |
|---|---|
| date | Wed, 26 Nov 2025 23:34:29 +0700 |
| parents | 91c8c3b7cbf0 |
| children |
| rev | line source |
|---|---|
|
1500
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
1 /* |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
2 * ntddkbd.h |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
3 * |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
4 * Keyboard IOCTL interface |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
5 * |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
6 * This file is part of the w32api package. |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
7 * |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
8 * Contributors: |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
9 * Created by Casper S. Hornstrup <chorns@users.sourceforge.net> |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
10 * |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
11 * THIS SOFTWARE IS NOT COPYRIGHTED |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
12 * |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
13 * This source code is offered for use in the public domain. You may |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
14 * use, modify or distribute it freely. |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
15 * |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
16 * This code is distributed in the hope that it will be useful but |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
17 * WITHOUT ANY WARRANTY. ALL WARRANTIES, EXPRESS OR IMPLIED ARE HEREBY |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
18 * DISCLAIMED. This includes but is not limited to warranties of |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
19 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
20 * |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
21 */ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
22 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
23 #ifndef __NTDDKBD_H |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
24 #define __NTDDKBD_H |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
25 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
26 #ifdef __cplusplus |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
27 extern "C" { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
28 #endif |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
29 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
30 #define DD_KEYBOARD_DEVICE_NAME "\\Device\\KeyboardClass" |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
31 #define DD_KEYBOARD_DEVICE_NAME_U L"\\Device\\KeyboardClass" |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
32 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
33 #define IOCTL_KEYBOARD_QUERY_ATTRIBUTES \ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
34 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0000, METHOD_BUFFERED, FILE_ANY_ACCESS) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
35 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
36 #define IOCTL_KEYBOARD_QUERY_INDICATORS \ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
37 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0010, METHOD_BUFFERED, FILE_ANY_ACCESS) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
38 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
39 #define IOCTL_KEYBOARD_QUERY_INDICATOR_TRANSLATION \ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
40 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0020, METHOD_BUFFERED, FILE_ANY_ACCESS) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
41 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
42 #define IOCTL_KEYBOARD_QUERY_TYPEMATIC \ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
43 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0008, METHOD_BUFFERED, FILE_ANY_ACCESS) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
44 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
45 #define IOCTL_KEYBOARD_SET_TYPEMATIC \ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
46 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0001, METHOD_BUFFERED, FILE_ANY_ACCESS) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
47 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
48 #define IOCTL_KEYBOARD_SET_INDICATORS \ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
49 CTL_CODE(FILE_DEVICE_KEYBOARD, 0x0002, METHOD_BUFFERED, FILE_ANY_ACCESS) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
50 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
51 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
52 DEFINE_GUID(GUID_DEVINTERFACE_KEYBOARD, \ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
53 0x884b96c3, 0x56ef, 0x11d1, 0xbc, 0x8c, 0x00, 0xa0, 0xc9, 0x14, 0x05, 0xdd); |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
54 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
55 #define KEYBOARD_ERROR_VALUE_BASE 10000 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
56 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
57 /* KEYBOARD_INPUT_DATA.MakeCode constants */ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
58 #define KEYBOARD_OVERRUN_MAKE_CODE 0xFF |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
59 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
60 /* KEYBOARD_INPUT_DATA.Flags constants */ |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
61 #define KEY_MAKE 0 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
62 #define KEY_BREAK 1 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
63 #define KEY_E0 2 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
64 #define KEY_E1 4 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
65 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
66 typedef struct _KEYBOARD_INPUT_DATA { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
67 USHORT UnitId; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
68 USHORT MakeCode; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
69 USHORT Flags; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
70 USHORT Reserved; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
71 ULONG ExtraInformation; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
72 } KEYBOARD_INPUT_DATA, *PKEYBOARD_INPUT_DATA; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
73 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
74 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
75 typedef struct _KEYBOARD_TYPEMATIC_PARAMETERS { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
76 USHORT UnitId; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
77 USHORT Rate; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
78 USHORT Delay; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
79 } KEYBOARD_TYPEMATIC_PARAMETERS, *PKEYBOARD_TYPEMATIC_PARAMETERS; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
80 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
81 typedef struct _KEYBOARD_ID { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
82 UCHAR Type; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
83 UCHAR Subtype; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
84 } KEYBOARD_ID, *PKEYBOARD_ID; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
85 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
86 #define ENHANCED_KEYBOARD(Id) ((Id).Type == 2 || (Id).Type == 4 || FAREAST_KEYBOARD(Id)) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
87 #define FAREAST_KEYBOARD(Id) ((Id).Type == 7 || (Id).Type == 8) |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
88 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
89 typedef struct _KEYBOARD_INDICATOR_PARAMETERS { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
90 USHORT UnitId; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
91 USHORT LedFlags; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
92 } KEYBOARD_INDICATOR_PARAMETERS, *PKEYBOARD_INDICATOR_PARAMETERS; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
93 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
94 typedef struct _INDICATOR_LIST { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
95 USHORT MakeCode; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
96 USHORT IndicatorFlags; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
97 } INDICATOR_LIST, *PINDICATOR_LIST; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
98 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
99 typedef struct _KEYBOARD_INDICATOR_TRANSLATION { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
100 USHORT NumberOfIndicatorKeys; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
101 INDICATOR_LIST IndicatorList[1]; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
102 } KEYBOARD_INDICATOR_TRANSLATION, *PKEYBOARD_INDICATOR_TRANSLATION; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
103 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
104 typedef struct _KEYBOARD_ATTRIBUTES { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
105 KEYBOARD_ID KeyboardIdentifier; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
106 USHORT KeyboardMode; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
107 USHORT NumberOfFunctionKeys; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
108 USHORT NumberOfIndicators; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
109 USHORT NumberOfKeysTotal; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
110 ULONG InputDataQueueLength; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
111 KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMinimum; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
112 KEYBOARD_TYPEMATIC_PARAMETERS KeyRepeatMaximum; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
113 } KEYBOARD_ATTRIBUTES, *PKEYBOARD_ATTRIBUTES; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
114 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
115 typedef struct _KEYBOARD_UNIT_ID_PARAMETER { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
116 USHORT UnitId; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
117 } KEYBOARD_UNIT_ID_PARAMETER, *PKEYBOARD_UNIT_ID_PARAMETER; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
118 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
119 typedef struct _KEYBOARD_IME_STATUS { |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
120 USHORT UnitId; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
121 ULONG ImeOpen; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
122 ULONG ImeConvMode; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
123 } KEYBOARD_IME_STATUS, *PKEYBOARD_IME_STATUS; |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
124 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
125 #ifdef __cplusplus |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
126 } |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
127 #endif |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
128 |
|
91c8c3b7cbf0
add: futhark tests for generating vulkan api
sam <sam@basx.dev>
parents:
diff
changeset
|
129 #endif /* __NTDDKBD_H */ |
