31#define WIN32_NO_STATUS
38#define ROSDATA static __declspec(allocate(".data"))
41#pragma data_seg(".data")
44#define ROSDATA static __attribute__((section(".data")))
50#define KNUMS KBDNUMPAD|KBDSPECIAL
51#define KMEXT KBDEXT|KBDMULTIVK
61 VK_OEM_MINUS, VK_OEM_PLUS,
VK_BACK,
81 'B',
'N',
'M', VK_OEM_COMMA,
141 { 0x10, VK_MEDIA_PREV_TRACK |
KBDEXT },
142 { 0x19, VK_MEDIA_NEXT_TRACK |
KBDEXT },
144 { 0x20, VK_VOLUME_MUTE |
KBDEXT },
145 { 0x21, VK_LAUNCH_APP2 |
KBDEXT },
146 { 0x22, VK_MEDIA_PLAY_PAUSE |
KBDEXT },
147 { 0x24, VK_MEDIA_STOP |
KBDEXT },
148 { 0x2E, VK_VOLUME_DOWN |
KBDEXT },
149 { 0x30, VK_VOLUME_UP |
KBDEXT },
150 { 0x32, VK_BROWSER_HOME |
KBDEXT },
168 { 0x65, VK_BROWSER_SEARCH |
KBDEXT },
169 { 0x66, VK_BROWSER_FAVORITES |
KBDEXT },
170 { 0x67, VK_BROWSER_REFRESH |
KBDEXT },
171 { 0x68, VK_BROWSER_STOP |
KBDEXT },
172 { 0x69, VK_BROWSER_FORWARD |
KBDEXT },
173 { 0x6A, VK_BROWSER_BACK |
KBDEXT },
174 { 0x6B, VK_LAUNCH_APP1 |
KBDEXT },
175 { 0x6C, VK_LAUNCH_MAIL |
KBDEXT },
176 { 0x6D, VK_LAUNCH_MEDIA_SELECT |
KBDEXT },
207 {
'A',
CAPLOK, {
'a',
'A'} },
208 {
'B',
CAPLOK, {
'b',
'B'} },
209 {
'C',
CAPLOK, {
'c',
'C'} },
210 {
'F',
CAPLOK, {
'f',
'F'} },
211 {
'G',
CAPLOK, {
'g',
'G'} },
212 {
'H',
CAPLOK, {
'h',
'H'} },
213 {
'I',
CAPLOK, {
'i',
'I'} },
214 {
'J',
CAPLOK, {
'j',
'J'} },
215 {
'K',
CAPLOK, {
'k',
'K'} },
216 {
'M',
CAPLOK, {
'm',
'M'} },
217 {
'N',
CAPLOK, {
'n',
'N'} },
218 {
'O',
CAPLOK, {
'o',
'O'} },
219 {
'R',
CAPLOK, {
'r',
'R'} },
220 {
'T',
CAPLOK, {
't',
'T'} },
221 {
'U',
CAPLOK, {
'u',
'U'} },
222 {
'V',
CAPLOK, {
'v',
'V'} },
223 {
'W',
CAPLOK, {
'w',
'W'} },
224 {
'X',
CAPLOK, {
'x',
'X'} },
225 {
'Y',
CAPLOK, {
'y',
'Y'} },
226 {
'Z',
CAPLOK, {
'z',
'Z'} },
232 {
VK_TAB, 0, {
'\t',
'\t'} },
233 {
VK_ADD, 0, {
'+',
'+'} },
244 { VK_OEM_102, 0, {
'\\',
'|', 0x1c } },
245 {
VK_BACK, 0, {0x8, 0x8, 0x7F } },
255 {
'1', 0, {
'1',
'!',
WCH_NONE, 0x0303 } },
256 {
'2', 0, {
'2',
'@',
WCH_NONE, 0x030C } },
257 {
'3', 0, {
'3',
'#',
WCH_NONE, 0x0302 } },
258 {
'4', 0, {
'4',
'$',
WCH_NONE, 0x0306 } },
259 {
'5', 0, {
'5',
'%',
WCH_NONE, 0x030A } },
260 {
'6', 0, {
'6',
'^',
WCH_NONE, 0x0328 } },
261 {
'7', 0, {
'7',
'&',
WCH_NONE, 0x0300 } },
262 {
'8', 0, {
'8',
'*',
WCH_NONE, 0x0307 } },
263 {
'9', 0, {
'9',
'(',
WCH_NONE, 0x0301 } },
264 {
'0', 0, {
'0',
')',
WCH_NONE, 0x030B } },
275 { VK_OEM_MINUS, 0, {
'-',
'_',
WCH_NONE, 0x0308 , 0x2013 } },
276 { VK_OEM_PLUS, 0, {
'=',
'+',
WCH_NONE, 0x0327 , 0x00B1 } },
284 { VK_OEM_COMMA, 0, {
',',
';',
WCH_NONE,
'<', 0x00AB } },
285 { VK_OEM_PERIOD, 0, {
'.',
':',
WCH_NONE,
'>', 0x00BB } },
305#define vk_master(n, x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) }
319 { 0x0e,
L"Retro\u0219tergere" },
320 { 0x0f,
L"Tabulator" },
321 { 0x1c,
L"Intrare" },
322 { 0x1d,
L"Control" },
324 { 0x35,
L"/ (num.)" },
325 { 0x36,
L"Schimb dreapta" },
326 { 0x37,
L"* (num.)" },
328 { 0x39,
L"Spa\u021Biu" },
329 { 0x3a,
L"MAJUSCULE" },
340 { 0x45,
L"Pauz\u0103" },
341 { 0x46,
L"Fix. derulare" },
342 { 0x47,
L"7 (num.)" },
343 { 0x48,
L"8 (num.)" },
344 { 0x49,
L"9 (num.)" },
345 { 0x4a,
L"- (num.)" },
346 { 0x4b,
L"4 (num.)" },
347 { 0x4c,
L"5 (num.)" },
348 { 0x4d,
L"6 (num.)" },
349 { 0x4e,
L"+ (num.)" },
350 { 0x4f,
L"1 (num.)" },
351 { 0x50,
L"2 (num.)" },
352 { 0x51,
L"3 (num.)" },
353 { 0x52,
L"0 (num.)" },
354 { 0x53,
L"Sep. zecimal" },
355 { 0x54,
L"Sys Req" },
376 { 0x1c,
L"Intr. numerice" },
377 { 0x1d,
L"Control dreapta" },
378 { 0x37,
L"Imprimare" },
379 { 0x38,
L"Alt dreapta" },
380 { 0x45,
L"Fix. numerice" },
381 { 0x46,
L"\u00CEntrerupere" },
382 { 0x47,
L"Acas\u0103" },
384 { 0x49,
L"Pag. sus" },
385 { 0x4b,
L"St\u00E2nga" },
387 { 0x4d,
L"Dreapta" },
388 { 0x4f,
L"Sf\u00E2r\u0219it" },
390 { 0x51,
L"Pag. jos" },
391 { 0x52,
L"Inser\u021Bie" },
392 { 0x53,
L"\u0218tergere" },
395 { 0x5b,
L"Meniu st\u00E2nga" },
396 { 0x5c,
L"Meniu dreapta" },
402 L"\x0300" L"Accent grav",
403 L"\x0301" L"Accent acut",
404 L"\x0302" L"Circumflex",
405 L"\x0303" L"Tild\u0103",
407 L"\x0307" L"Suprapunct",
408 L"\x0308" L"Trem\u0103",
409 L"\x030A" L"Supracerc",
410 L"\x030B" L"Accent acut dublu",
412 L"\x0326" L"Virgul\u0103",
413 L"\x0327" L"Sedil\u0103",
418#define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags
426 #include "deadkeys/tilde"
427 #include "deadkeys/caron"
428 #include "deadkeys/circumflex"
429 #include "deadkeys/breve"
430 #include "deadkeys/ring_above"
431 #include "deadkeys/ogonek"
432 #include "deadkeys/grave_acc"
433 #include "deadkeys/dot_above"
434 #include "deadkeys/acute_acc"
435 #include "deadkeys/dbl_acute_acc"
436 #include "deadkeys/comma_below"
PKBDTABLES WINAPI KbdLayerDescriptor()
ROSDATA DEADKEY dead_key[]
ROSDATA VSC_LPWSTR extended_key_names[]
ROSDATA USHORT scancode_to_vk[]
ROSDATA VK_TO_WCHARS1 keypad_numbers[]
ROSDATA MODIFIERS modifier_bits
ROSDATA VK_TO_WCHARS4 key_to_chars_4mod[]
ROSDATA VSC_LPWSTR key_names[]
ROSDATA VSC_VK extcode0_to_vk[]
ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[]
ROSDATA VK_TO_WCHARS3 key_to_chars_3mod[]
ROSDATA VK_TO_WCHARS5 key_to_chars_5mod[]
ROSDATA VK_TO_WCHARS2 key_to_chars_2mod[]
ROSDATA DEADKEY_LPWSTR dead_key_names[]
ROSDATA VK_TO_BIT modifier_keys[]
ROSDATA VSC_VK extcode1_to_vk[]
ROSDATA KBDTABLES keyboard_layout_table