{ 0x56, L"Linke <Odyssey>" }, { 0x5b, L"Rechte <Odyssey>" }, { 0, NULL }, }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"\x00b4" L"Akut", L"`" L"Gravis", L"^" L"Zirkumflex", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', L'^', 0xe2, 0x00) }, { DEADTRANS(L'e', L'^', 0xea, 0x00) }, { DEADTRANS(L'i', L'^', 0xee, 0x00) }, { DEADTRANS(L'o', L'^', 0xf4, 0x00) }, { DEADTRANS(L'u', L'^', 0xfb, 0x00) }, { DEADTRANS(L'A', L'^', 0xc2, 0x00) }, { DEADTRANS(L'E', L'^', 0xca, 0x00) }, { DEADTRANS(L'I', L'^', 0xce, 0x00) }, { DEADTRANS(L'O', L'^', 0xd4, 0x00) }, { DEADTRANS(L'U', L'^', 0xdb, 0x00) }, { DEADTRANS(L' ', L'^', L'^', 0x00) }, { DEADTRANS(L'a', 0xb4, 0xe1, 0x00) }, { DEADTRANS(L'e', 0xb4, 0xe9, 0x00) }, { DEADTRANS(L'i', 0xb4, 0xed, 0x00) }, { DEADTRANS(L'o', 0xb4, 0xf3, 0x00) }, { DEADTRANS(L'u', 0xb4, 0xfa, 0x00) },
}; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"\x0301" L"ACUTE", L"\x0300" L"GRAVE", L"\x0302" L"CIRCUMFLEX", L"\x0308" L"UMLAUT", L"\x0303" L"TILDE", L"\x0327" L"CEDILLA", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', L'^', 0x00e2, 0x0000) }, { DEADTRANS(L'e', L'^', 0x00ea, 0x0000) }, { DEADTRANS(L'i', L'^', 0x00ee, 0x0000) }, { DEADTRANS(0x0131, L'^', 0x00ee, 0x0000) }, { DEADTRANS(L'o', L'^', 0x00f4, 0x0000) }, { DEADTRANS(L'u', L'^', 0x00fb, 0x0000) }, { DEADTRANS(L'A', L'^', 0x00c2, 0x0000) }, { DEADTRANS(L'E', L'^', 0x00ca, 0x0000) }, { DEADTRANS(L'I', L'^', 0x00ce, 0x0000) }, { DEADTRANS(0x0130, L'^', 0x00ce, 0x0000) }, { DEADTRANS(L'O', L'^', 0x00d4, 0x0000) }, { DEADTRANS(L'U', L'^', 0x00db, 0x0000) }, { DEADTRANS(L' ', L'^', L'^' , 0x0000) }, { DEADTRANS(L'a', 0x00b4, 0x00e1, 0x0000) }, { DEADTRANS(L'e', 0x00b4, 0x00e9, 0x0000) },
{ 0, NULL } }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"\'" L"ACUTE/CEDILLA", L"`" L"GRAVE", L"^" L"CIRCUMFLEX", L"\"" L"UMLAUT", L"~" L"TILDE", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', '\'', 0x00e1, 0x0000) }, { DEADTRANS(L'e', '\'', 0x00e9, 0x0000) }, { DEADTRANS(L'i', '\'', 0x00ed, 0x0000) }, { DEADTRANS(L'o', '\'', 0x00f3, 0x0000) }, { DEADTRANS(L'u', '\'', 0x00fa, 0x0000) }, { DEADTRANS(L'y', '\'', 0x00fd, 0x0000) }, { DEADTRANS(L'A', '\'', 0x00c1, 0x0000) }, { DEADTRANS(L'E', '\'', 0x00c9, 0x0000) }, { DEADTRANS(L'I', '\'', 0x00cd, 0x0000) }, { DEADTRANS(L'O', '\'', 0x00d3, 0x0000) }, { DEADTRANS(L'U', '\'', 0x00da, 0x0000) }, { DEADTRANS(L'Y', '\'', 0x00dd, 0x0000) }, { DEADTRANS(L' ', '\'', '\'', 0x0000) }, { DEADTRANS(L'c', '\'', 0x00e7, 0x0000) }, { DEADTRANS(L'C', '\'', 0x00c7, 0x0000) },
{ 0x54, L"<ReactOS>" }, { 0x55, L"Help" }, { 0x56, L"Left Windows" }, { 0x5b, L"Right Windows" }, { 0, NULL }, }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"~" L"Tylda", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', 0x02db, 0x0105, 0x00) }, { DEADTRANS(L'e', 0x02db, 0x0119, 0x00) }, { DEADTRANS(L'A', 0x02db, 0x0104, 0x00) }, { DEADTRANS(L'E', 0x02db, 0x0118, 0x00) }, { DEADTRANS(L' ', 0x02db, 0x02db, 0x00) }, { DEADTRANS(L'z', 0xb7, 0x017C, 0x00) }, { DEADTRANS(L'Z', 0xb7, 0x017B, 0x00) }, { DEADTRANS(L' ', 0xb7, 0xb7, 0x00) }, { 0, 0, 0 }, }; /* Finally, the master table */ ROSDATA KBDTABLES keyboard_layout_table = { /* modifier assignments */ &modifier_bits,
{ 0, NULL } }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"\x00b4" L"ACCENT AIGU", L"`" L"ACCENT GRAVE", L"^" L"ACCENT CIRCONFLEXE", L"\x00a8" L"TREMA", L"\x00b8" L"CEDILLE", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', 0x00b4, 0x00e1, 0x0000) }, { DEADTRANS(L'e', 0x00b4, 0x00e9, 0x0000) }, { DEADTRANS(L'i', 0x00b4, 0x00ed, 0x0000) }, { DEADTRANS(L'o', 0x00b4, 0x00f3, 0x0000) }, { DEADTRANS(L'u', 0x00b4, 0x00fa, 0x0000) }, { DEADTRANS(L'y', 0x00b4, 0x00fd, 0x0000) }, { DEADTRANS(L'A', 0x00b4, 0x00c1, 0x0000) }, { DEADTRANS(L'E', 0x00b4, 0x00c9, 0x0000) }, { DEADTRANS(L'I', 0x00b4, 0x00cd, 0x0000) }, { DEADTRANS(L'O', 0x00b4, 0x00d3, 0x0000) }, { DEADTRANS(L'U', 0x00b4, 0x00da, 0x0000) }, { DEADTRANS(L'Y', 0x00b4, 0x00dd, 0x0000) }, { DEADTRANS(L'C', 0x00b4, 0x0106, 0x0000) }, { DEADTRANS(L'c', 0x00b4, 0x0107, 0x0000) }, { DEADTRANS(L'L', 0x00b4, 0x0139, 0x0000) }, { DEADTRANS(L'l', 0x00b4, 0x013a, 0x0000) },
{ 0x4f, L"End" }, { 0x50, L"Down" }, { 0x51, L"Page Down" }, { 0x52, L"Insert" }, { 0x53, L"Delete" }, { 0x54, L"<ReactOS>" }, { 0x55, L"Help" }, { 0x56, L"Left Windows" }, { 0x5b, L"Right Windows" }, { 0, NULL }, }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(0x0043, 0x02c7, 0x010c, 0x0000) }, // C with caron { DEADTRANS(0x0063, 0x02c7, 0x010d, 0x0000) }, // c with caron { DEADTRANS(0x0045, 0x02c7, 0x011a, 0x0000) }, // E with caron { DEADTRANS(0x0065, 0x02c7, 0x011b, 0x0000) }, // e with caron { DEADTRANS(0x0044, 0x02c7, 0x010e, 0x0000) }, // D with caron { DEADTRANS(0x0064, 0x02c7, 0x010f, 0x0000) }, // d with caron { DEADTRANS(0x004c, 0x02c7, 0x013d, 0x0000) }, // L with caron { DEADTRANS(0x006c, 0x02c7, 0x013e, 0x0000) }, // l with caron { DEADTRANS(0x004e, 0x02c7, 0x0147, 0x0000) }, // N with caron { DEADTRANS(0x006e, 0x02c7, 0x0148, 0x0000) }, // n with caron { DEADTRANS(0x0053, 0x02c7, 0x0160, 0x0000) }, // S with caron { DEADTRANS(0x0073, 0x02c7, 0x0161, 0x0000) }, // s with caron { DEADTRANS(0x0052, 0x02c7, 0x0158, 0x0000) }, // R with acute { DEADTRANS(0x0072, 0x02c7, 0x0159, 0x0000) }, // r with acute { DEADTRANS(0x0054, 0x02c7, 0x0164, 0x0000) }, // T with caron { DEADTRANS(0x0074, 0x02c7, 0x0165, 0x0000) }, // t with caron
{ 0x5d, L"Application" }, { 0, NULL } }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"\x00b4" L"AGUDO", L"`" L"GRAVE", L"^" L"CIRCUNFLEJO", L"\x00a8" L"DIERERIS", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', L'`', 0x00e0, 0x0000) }, { DEADTRANS(L'e', L'`', 0x00e8, 0x0000) }, { DEADTRANS(L'i', L'`', 0x00ec, 0x0000) }, { DEADTRANS(L'o', L'`', 0x00f2, 0x0000) }, { DEADTRANS(L'u', L'`', 0x00f9, 0x0000) }, { DEADTRANS(L'A', L'`', 0x00c0, 0x0000) }, { DEADTRANS(L'E', L'`', 0x00c8, 0x0000) }, { DEADTRANS(L'I', L'`', 0x00cc, 0x0000) }, { DEADTRANS(L'O', L'`', 0x00d2, 0x0000) }, { DEADTRANS(L'U', L'`', 0x00d9, 0x0000) }, { DEADTRANS(L' ', L'`', L'`', 0x0000) }, { DEADTRANS(L'a', L'^', 0x00e2, 0x0000) }, { DEADTRANS(L'e', L'^', 0x00ea, 0x0000) }, { DEADTRANS(L'i', L'^', 0x00ee, 0x0000) }, { DEADTRANS(L'o', L'^', 0x00f4, 0x0000) }, { DEADTRANS(L'u', L'^', 0x00fb, 0x0000) },
{ 0, NULL } }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"`" L"GRAVE", L"\x00b4" L"ACUTE", L"^" L"CIRCUMFLEX", L"\x02c7" L"CARON", L"~" L"TILDE", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', L'`', 0x00e0, 0x0000) }, { DEADTRANS(L'o', L'`', 0x00f2, 0x0000) }, { DEADTRANS(L'e', L'`', 0x00e8, 0x0000) }, { DEADTRANS(L'u', L'`', 0x00f9, 0x0000) }, { DEADTRANS(L'A', L'`', 0x00c0, 0x0000) }, { DEADTRANS(L'O', L'`', 0x00d2, 0x0000) }, { DEADTRANS(L'E', L'`', 0x00c8, 0x0000) }, { DEADTRANS(L'U', L'`', 0x00d9, 0x0000) }, { DEADTRANS(L' ', L'`', L'`', 0x0000) }, { DEADTRANS(L'n', 0x00b4, 0x0144, 0x0000) }, { DEADTRANS(L'N', 0x00b4, 0x0143, 0x0000) }, { DEADTRANS(L'c', 0x00b4, 0x0107, 0x0000) }, { DEADTRANS(L'C', 0x00b4, 0x0106, 0x0000) }, { DEADTRANS(L'o', 0x00b4, 0x00f3, 0x0000) }, { DEADTRANS(L'O', 0x00b4, 0x00d3, 0x0000) },
L"\x02d8" L"BREVE", L"\x00b0" L"RING", L"\x02db" L"OGONEK", L"\x02d9" L"DOT", L"\x00b4" L"ACUTE", L"\x02dd" L"DOUBLE ACUTE", L"^" L"CIRCUMFLEX", L"\x00a8" L"UMLAUT", L"\x00b8" L"CEDILLA", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'I', L'^', 0x00ce, 0x0000) }, { DEADTRANS(L'i', L'^', 0x00ee, 0x0000) }, { DEADTRANS(L'O', L'^', 0x00d4, 0x0000) }, { DEADTRANS(L'o', L'^', 0x00f4, 0x0000) }, { DEADTRANS(L'A', L'^', 0x00c2, 0x0000) }, { DEADTRANS(L'a', L'^', 0x00e2, 0x0000) }, { DEADTRANS(L' ', L'^', L'^', 0x0000) }, { DEADTRANS(L'A', 0x02d8, 0x0102, 0x0000) }, { DEADTRANS(L'a', 0x02d8, 0x0103, 0x0000) }, { DEADTRANS(L' ', 0x02d8, 0x02d8, 0x0000) }, { DEADTRANS(L'U', 0x00b0, 0x016e, 0x0000) }, { DEADTRANS(L'u', 0x00b0, 0x016f, 0x0000) }, { DEADTRANS(L' ', 0x00b0, 0x00b0, 0x0000) },
}; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"\x00a8" L"Omlyd", L"\x005e" L"Cirkumfleks", L"\x007e" L"Tilde", L"\x00b4" L"Akut", L"\x0060" L"Grave", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { /* ¨ */ { DEADTRANS(0x0061, 0x00a8, 0x00e4, 0x0000) }, { DEADTRANS(0x0065, 0x00a8, 0x00eb, 0x0000) }, { DEADTRANS(0x0069, 0x00a8, 0x00ef, 0x0000) }, { DEADTRANS(0x006f, 0x00a8, 0x00f6, 0x0000) }, { DEADTRANS(0x0075, 0x00a8, 0x00fc, 0x0000) }, { DEADTRANS(0x0079, 0x00a8, 0x00ff, 0x0000) }, { DEADTRANS(0x0041, 0x00a8, 0x00c4, 0x0000) }, { DEADTRANS(0x0045, 0x00a8, 0x00cb, 0x0000) }, { DEADTRANS(0x0049, 0x00a8, 0x00cf, 0x0000) }, { DEADTRANS(0x004f, 0x00a8, 0x00d6, 0x0000) }, { DEADTRANS(0x0055, 0x00a8, 0x00dc, 0x0000) }, { DEADTRANS(0x0020, 0x00a8, 0x00a8, 0x0000) }, /* ^ */ { DEADTRANS(0x0061, 0x005e, 0x00e2, 0x0000) }, { DEADTRANS(0x0065, 0x005e, 0x00ea, 0x0000) },
{ 0x56, L"Linke <ReactOS>" }, { 0x5b, L"Rechte <ReactOS>" }, { 0, NULL }, }; ROSDATA DEADKEY_LPWSTR dead_key_names[] = { L"\x00b4" L"Akut", L"`" L"Gravis", L"^" L"Zirkumflex", NULL }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY dead_key[] = { { DEADTRANS(L'a', L'^', 0xe2, 0x00) },/* ^ */ { DEADTRANS(L'e', L'^', 0xea, 0x00) }, { DEADTRANS(L'i', L'^', 0xee, 0x00) }, { DEADTRANS(L'o', L'^', 0xf4, 0x00) }, { DEADTRANS(L'u', L'^', 0xfb, 0x00) }, { DEADTRANS(L'A', L'^', 0xc2, 0x00) }, { DEADTRANS(L'E', L'^', 0xca, 0x00) }, { DEADTRANS(L'I', L'^', 0xce, 0x00) }, { DEADTRANS(L'O', L'^', 0xd4, 0x00) }, { DEADTRANS(L'U', L'^', 0xdb, 0x00) }, { DEADTRANS(L' ', L'^', L'^', 0x00) }, { DEADTRANS(L'a', 0xb4, 0xe1, 0x00) }, /* ´ */ { DEADTRANS(L'e', 0xb4, 0xe9, 0x00) }, { DEADTRANS(L'i', 0xb4, 0xed, 0x00) }, { DEADTRANS(L'o', 0xb4, 0xf3, 0x00) }, { DEADTRANS(L'u', 0xb4, 0xfa, 0x00) },
ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[] = { vk_master(1,keypad_numbers), vk_master(2,key_to_chars_2mod), vk_master(3,key_to_chars_3mod), vk_master(4,key_to_chars_4mod), { 0,0,0 } }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY deadkey[] = { //*Д* DEADKEY 00B4 { DEADTRANS(L'a', 0xb4, 0xe1, 0x00) }, // letra a com Д { DEADTRANS(L'A', 0xb4, 0xc1, 0x00) }, // letra A com Д { DEADTRANS(L'e', 0xb4, 0xe9, 0x00) }, // letra e com Д { DEADTRANS(L'E', 0xb4, 0xc9, 0x00) }, // letra E com Д { DEADTRANS(L'i', 0xb4, 0xed, 0x00) }, // letra i com Д { DEADTRANS(L'I', 0xb4, 0xcd, 0x00) }, // letra I com Д { DEADTRANS(L'o', 0xb4, 0xf3, 0x00) }, // letra o com Д { DEADTRANS(L'O', 0xb4, 0xd3, 0x00) }, // letra O com Д { DEADTRANS(L'u', 0xb4, 0xfa, 0x00) }, // letra u com Д { DEADTRANS(L'U', 0xb4, 0xda, 0x00) }, // letra U com Д { DEADTRANS(L'y', 0xb4, 0xfd, 0x00) }, // letra y com Д { DEADTRANS(0x20, 0xb4, 0xb4, 0x00) }, // letra 'space' (0x0020) com Д //*`* DEADKEY 0060 { DEADTRANS(L'a', 0x60, 0xe0, 0x00) }, // letra a com ` { DEADTRANS(L'A', 0x60, 0xc0, 0x00) }, // letra A com `
}; #define vk_master(n,x) { (PVK_TO_WCHARS1)x, n, sizeof(x[0]) } ROSDATA VK_TO_WCHAR_TABLE vk_to_wchar_master_table[] = { vk_master(1,keypad_numbers), vk_master(2,key_to_chars_2mod), vk_master(3,key_to_chars_3mod), vk_master(4,key_to_chars_4mod), { 0,0,0 } }; #define DEADTRANS(ch, accent, comp, flags) MAKELONG(ch, accent), comp, flags ROSDATA DEADKEY deadkey[] = { { DEADTRANS(0x3B1, L';', 0x3AC, 0x000) }, //MIKRO A { DEADTRANS(0x391, L';', 0x386, 0x000) }, //MEGALO A { DEADTRANS(0x3B5, L';', 0x3AD, 0x000) }, //MIKRO E { DEADTRANS(0x395, L';', 0x388, 0x000) }, //MEGALO E { DEADTRANS(0x3B7, L';', 0x3AE, 0x000) }, //MIKRO H { DEADTRANS(0x397, L';', 0x389, 0x000) }, //MEGALO H { DEADTRANS(0x3B9, L';', 0x3AF, 0x000) }, //MIKRO I { DEADTRANS(0x399, L';', 0x38A, 0x000) }, //MEGALO I { DEADTRANS(0x3BF, L';', 0x3CC, 0x000) }, //MIKRO O { DEADTRANS(0x39F, L';', 0x38C, 0x000) }, //MEGALO O { DEADTRANS(0x3C5, L';', 0x3CD, 0x000) }, //MIKRO Y { DEADTRANS(0x3A5, L';', 0x38E, 0x000) }, //MEGALO Y { DEADTRANS(0x3C9, L';', 0x3CE, 0x000) }, //MIKRO W { DEADTRANS(0x3A9, L';', 0x38F, 0x000) }, //MEGALO W { DEADTRANS(0x3C5, 0x00A8, 0x3CB, 0x000) }, //MIKRO Y ME DIALYTIKA { DEADTRANS(0x3A5, 0x00A8, 0x3AB, 0x000) }, //MEGALO Y ME DIALYTIKA