+/* file autogenerated from keyboard-patterns.txt. do not edit - will be overwritten */
+#include <stdint.h>
+#include "keyboard.h"
+#include "keyboard-patterns.h"
+
+const uint8_t ENC_C1[0x0B] = {
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 1,
+ 0,
+ 0,
+};
+
+uint8_t const * const * const CH_LIST[0x0B] = {
+ CH_ISO8859_1,
+ CH_ISO8859_2,
+ CH_ISO8859_3,
+ CH_ISO8859_4,
+ CH_ISO8859_9,
+ CH_ISO8859_10,
+ CH_ISO8859_13,
+ CH_ISO8859_15,
+ CH_ISO8859_16,
+ CH_CP1250,
+ CH_CP852,
+};
+
+uint8_t const * const KEYMAP_LIST[0x0B] = {
+ KEYMAP_ISO8859_1,
+ KEYMAP_ISO8859_2,
+ KEYMAP_ISO8859_3,
+ KEYMAP_ISO8859_4,
+ KEYMAP_ISO8859_9,
+ KEYMAP_ISO8859_10,
+ KEYMAP_ISO8859_13,
+ KEYMAP_ISO8859_15,
+ KEYMAP_ISO8859_16,
+ KEYMAP_CP1250,
+ KEYMAP_CP852,
+};
+
+uint8_t const * const CH_TABLE[0x0600] = {
+/* ASCII 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 00 */ CH_0000, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL,
+/* 10 */ CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL,
+/* 20 */ CH_0020, CH_0021, CH_0022, CH_0023, CH_0024, CH_0025, CH_0026, CH_0027, CH_0028, CH_0029, CH_002A, CH_002B, CH_002C, CH_002D, CH_002E, CH_002F,
+/* 30 */ CH_0030, CH_0031, CH_0032, CH_0033, CH_0034, CH_0035, CH_0036, CH_0037, CH_0038, CH_0039, CH_003A, CH_003B, CH_003C, CH_003D, CH_003E, CH_003F,
+/* 40 */ CH_0040, CH_0041, CH_0042, CH_0043, CH_0044, CH_0045, CH_0046, CH_0047, CH_0048, CH_0049, CH_004A, CH_004B, CH_004C, CH_004D, CH_004E, CH_004F,
+/* 50 */ CH_0050, CH_0051, CH_0052, CH_0053, CH_0054, CH_0055, CH_0056, CH_0057, CH_0058, CH_0059, CH_005A, CH_005B, CH_005C, CH_005D, CH_005E, CH_005F,
+/* 60 */ CH_0060, CH_0061, CH_0062, CH_0063, CH_0064, CH_0065, CH_0066, CH_0067, CH_0068, CH_0069, CH_006A, CH_006B, CH_006C, CH_006D, CH_006E, CH_006F,
+/* 70 */ CH_0070, CH_0071, CH_0072, CH_0073, CH_0074, CH_0075, CH_0076, CH_0077, CH_0078, CH_0079, CH_007A, CH_007B, CH_007C, CH_007D, CH_007E, CH_UNKN,
+/* ISO8859_1 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_00A1, CH_00A2, CH_00A3, CH_00A4, CH_00A5, CH_00A6, CH_00A7, CH_00A8, CH_00A9, CH_00AA, CH_00AB, CH_00AC, CH_00AD, CH_00AE, CH_00AF,
+/* B0 */ CH_00B0, CH_00B1, CH_00B2, CH_00B3, CH_00B4, CH_00B5, CH_00B6, CH_00B7, CH_00B8, CH_00B9, CH_00BA, CH_00BB, CH_00BC, CH_00BD, CH_00BE, CH_00BF,
+/* C0 */ CH_00C0, CH_00C1, CH_00C2, CH_00C3, CH_00C4, CH_00C5, CH_00C6, CH_00C7, CH_00C8, CH_00C9, CH_00CA, CH_00CB, CH_00CC, CH_00CD, CH_00CE, CH_00CF,
+/* D0 */ CH_00D0, CH_00D1, CH_00D2, CH_00D3, CH_00D4, CH_00D5, CH_00D6, CH_00D7, CH_00D8, CH_00D9, CH_00DA, CH_00DB, CH_00DC, CH_00DD, CH_00DE, CH_00DF,
+/* E0 */ CH_00E0, CH_00E1, CH_00E2, CH_00E3, CH_00E4, CH_00E5, CH_00E6, CH_00E7, CH_00E8, CH_00E9, CH_00EA, CH_00EB, CH_00EC, CH_00ED, CH_00EE, CH_00EF,
+/* F0 */ CH_00F0, CH_00F1, CH_00F2, CH_00F3, CH_00F4, CH_00F5, CH_00F6, CH_00F7, CH_00F8, CH_00F9, CH_00FA, CH_00FB, CH_00FC, CH_00FD, CH_00FE, CH_00FF,
+/* ISO8859_2 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_0104, CH_02D8, CH_0141, CH_00A4, CH_013D, CH_015A, CH_00A7, CH_00A8, CH_0160, CH_015E, CH_0164, CH_0179, CH_00AD, CH_017D, CH_017B,
+/* B0 */ CH_00B0, CH_0105, CH_02DB, CH_0142, CH_00B4, CH_013E, CH_015B, CH_02C7, CH_00B8, CH_0161, CH_015F, CH_0165, CH_017A, CH_02DD, CH_017E, CH_017C,
+/* C0 */ CH_0154, CH_00C1, CH_00C2, CH_0102, CH_00C4, CH_0139, CH_0106, CH_00C7, CH_010C, CH_00C9, CH_0118, CH_00CB, CH_011A, CH_00CD, CH_00CE, CH_010E,
+/* D0 */ CH_0110, CH_0143, CH_0147, CH_00D3, CH_00D4, CH_0150, CH_00D6, CH_00D7, CH_0158, CH_016E, CH_00DA, CH_0170, CH_00DC, CH_00DD, CH_0162, CH_00DF,
+/* E0 */ CH_0155, CH_00E1, CH_00E2, CH_0103, CH_00E4, CH_013A, CH_0107, CH_00E7, CH_010D, CH_00E9, CH_0119, CH_00EB, CH_011B, CH_00ED, CH_00EE, CH_010F,
+/* F0 */ CH_0111, CH_0144, CH_0148, CH_00F3, CH_00F4, CH_0151, CH_00F6, CH_00F7, CH_0159, CH_016F, CH_00FA, CH_0171, CH_00FC, CH_00FD, CH_0163, CH_02D9,
+/* ISO8859_3 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_0126, CH_02D8, CH_00A3, CH_00A4, CH_UNKN, CH_0124, CH_00A7, CH_00A8, CH_0130, CH_015E, CH_011E, CH_0134, CH_00AD, CH_UNKN, CH_017B,
+/* B0 */ CH_00B0, CH_0127, CH_00B2, CH_00B3, CH_00B4, CH_00B5, CH_0125, CH_00B7, CH_00B8, CH_0131, CH_015F, CH_011F, CH_0135, CH_00BD, CH_UNKN, CH_017C,
+/* C0 */ CH_00C0, CH_00C1, CH_00C2, CH_UNKN, CH_00C4, CH_010A, CH_0108, CH_00C7, CH_00C8, CH_00C9, CH_00CA, CH_00CB, CH_00CC, CH_00CD, CH_00CE, CH_00CF,
+/* D0 */ CH_UNKN, CH_00D1, CH_00D2, CH_00D3, CH_00D4, CH_0120, CH_00D6, CH_00D7, CH_011C, CH_00D9, CH_00DA, CH_00DB, CH_00DC, CH_016C, CH_015C, CH_00DF,
+/* E0 */ CH_00E0, CH_00E1, CH_00E2, CH_UNKN, CH_00E4, CH_010B, CH_0109, CH_00E7, CH_00E8, CH_00E9, CH_00EA, CH_00EB, CH_00EC, CH_00ED, CH_00EE, CH_00EF,
+/* F0 */ CH_UNKN, CH_00F1, CH_00F2, CH_00F3, CH_00F4, CH_0121, CH_00F6, CH_00F7, CH_011D, CH_00F9, CH_00FA, CH_00FB, CH_00FC, CH_016D, CH_015D, CH_02D9,
+/* ISO8859_4 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_0104, CH_0138, CH_0156, CH_00A4, CH_0128, CH_013B, CH_00A7, CH_00A8, CH_0160, CH_0112, CH_0122, CH_0166, CH_00AD, CH_017D, CH_00AF,
+/* B0 */ CH_00B0, CH_0105, CH_02DB, CH_0157, CH_00B4, CH_0129, CH_013C, CH_02C7, CH_00B8, CH_0161, CH_0113, CH_0123, CH_0167, CH_014A, CH_017E, CH_014B,
+/* C0 */ CH_0100, CH_00C1, CH_00C2, CH_00C3, CH_00C4, CH_00C5, CH_00C6, CH_012E, CH_010C, CH_00C9, CH_0118, CH_00CB, CH_0116, CH_00CD, CH_00CE, CH_012A,
+/* D0 */ CH_0110, CH_0145, CH_014C, CH_0136, CH_00D4, CH_00D5, CH_00D6, CH_00D7, CH_00D8, CH_0172, CH_00DA, CH_00DB, CH_00DC, CH_0168, CH_016A, CH_00DF,
+/* E0 */ CH_0101, CH_00E1, CH_00E2, CH_00E3, CH_00E4, CH_00E5, CH_00E6, CH_012F, CH_010D, CH_00E9, CH_0119, CH_00EB, CH_0117, CH_00ED, CH_00EE, CH_012B,
+/* F0 */ CH_0111, CH_0146, CH_014D, CH_0137, CH_00F4, CH_00F5, CH_00F6, CH_00F7, CH_00F8, CH_0173, CH_00FA, CH_00FB, CH_00FC, CH_0169, CH_016B, CH_02D9,
+/* ISO8859_9 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_00A1, CH_00A2, CH_00A3, CH_00A4, CH_00A5, CH_00A6, CH_00A7, CH_00A8, CH_00A9, CH_00AA, CH_00AB, CH_00AC, CH_00AD, CH_00AE, CH_00AF,
+/* B0 */ CH_00B0, CH_00B1, CH_00B2, CH_00B3, CH_00B4, CH_00B5, CH_00B6, CH_00B7, CH_00B8, CH_00B9, CH_00BA, CH_00BB, CH_00BC, CH_00BD, CH_00BE, CH_00BF,
+/* C0 */ CH_00C0, CH_00C1, CH_00C2, CH_00C3, CH_00C4, CH_00C5, CH_00C6, CH_00C7, CH_00C8, CH_00C9, CH_00CA, CH_00CB, CH_00CC, CH_00CD, CH_00CE, CH_00CF,
+/* D0 */ CH_011E, CH_00D1, CH_00D2, CH_00D3, CH_00D4, CH_00D5, CH_00D6, CH_00D7, CH_00D8, CH_00D9, CH_00DA, CH_00DB, CH_00DC, CH_0130, CH_015E, CH_00DF,
+/* E0 */ CH_00E0, CH_00E1, CH_00E2, CH_00E3, CH_00E4, CH_00E5, CH_00E6, CH_00E7, CH_00E8, CH_00E9, CH_00EA, CH_00EB, CH_00EC, CH_00ED, CH_00EE, CH_00EF,
+/* F0 */ CH_011F, CH_00F1, CH_00F2, CH_00F3, CH_00F4, CH_00F5, CH_00F6, CH_00F7, CH_00F8, CH_00F9, CH_00FA, CH_00FB, CH_00FC, CH_0131, CH_015F, CH_00FF,
+/* ISO8859_10 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_0104, CH_0112, CH_0122, CH_012A, CH_0128, CH_0136, CH_00A7, CH_013B, CH_0110, CH_0160, CH_0166, CH_017D, CH_00AD, CH_016A, CH_014A,
+/* B0 */ CH_00B0, CH_0105, CH_0113, CH_0123, CH_012B, CH_0129, CH_0137, CH_00B7, CH_013C, CH_0111, CH_0161, CH_0167, CH_017E, CH_UNKN, CH_016B, CH_014B,
+/* C0 */ CH_0100, CH_00C1, CH_00C2, CH_00C3, CH_00C4, CH_00C5, CH_00C6, CH_012E, CH_010C, CH_00C9, CH_0118, CH_00CB, CH_0116, CH_00CD, CH_00CE, CH_00CF,
+/* D0 */ CH_00D0, CH_0145, CH_014C, CH_00D3, CH_00D4, CH_00D5, CH_00D6, CH_0168, CH_00D8, CH_0172, CH_00DA, CH_00DB, CH_00DC, CH_00DD, CH_00DE, CH_00DF,
+/* E0 */ CH_0101, CH_00E1, CH_00E2, CH_00E3, CH_00E4, CH_00E5, CH_00E6, CH_012F, CH_010D, CH_00E9, CH_0119, CH_00EB, CH_0117, CH_00ED, CH_00EE, CH_00EF,
+/* F0 */ CH_00F0, CH_0146, CH_014D, CH_00F3, CH_00F4, CH_00F5, CH_00F6, CH_0169, CH_00F8, CH_0173, CH_00FA, CH_00FB, CH_00FC, CH_00FD, CH_00FE, CH_0138,
+/* ISO8859_13 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_UNKN, CH_00A2, CH_00A3, CH_00A4, CH_UNKN, CH_00A6, CH_00A7, CH_00D8, CH_00A9, CH_0156, CH_00AB, CH_00AC, CH_00AD, CH_00AE, CH_00C6,
+/* B0 */ CH_00B0, CH_00B1, CH_00B2, CH_00B3, CH_UNKN, CH_00B5, CH_00B6, CH_00B7, CH_00F8, CH_00B9, CH_0157, CH_00BB, CH_00BC, CH_00BD, CH_00BE, CH_00E6,
+/* C0 */ CH_0104, CH_012E, CH_0100, CH_0106, CH_00C4, CH_00C5, CH_0118, CH_0112, CH_010C, CH_00C9, CH_0179, CH_0116, CH_0122, CH_0136, CH_012A, CH_013B,
+/* D0 */ CH_0160, CH_0143, CH_0145, CH_00D3, CH_014C, CH_00D5, CH_00D6, CH_00D7, CH_0172, CH_0141, CH_015A, CH_016A, CH_00DC, CH_017B, CH_017D, CH_00DF,
+/* E0 */ CH_0105, CH_012F, CH_0101, CH_0107, CH_00E4, CH_00E5, CH_0119, CH_0113, CH_010D, CH_00E9, CH_017A, CH_0117, CH_0123, CH_0137, CH_012B, CH_013C,
+/* F0 */ CH_0161, CH_0144, CH_0146, CH_00F3, CH_014D, CH_00F5, CH_00F6, CH_00F7, CH_0173, CH_0142, CH_015B, CH_016B, CH_00FC, CH_017C, CH_017E, CH_UNKN,
+/* ISO8859_15 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_00A1, CH_00A2, CH_00A3, CH_UNKN, CH_00A5, CH_0160, CH_00A7, CH_0161, CH_00A9, CH_00AA, CH_00AB, CH_00AC, CH_00AD, CH_00AE, CH_00AF,
+/* B0 */ CH_00B0, CH_00B1, CH_00B2, CH_00B3, CH_017D, CH_00B5, CH_00B6, CH_00B7, CH_017E, CH_00B9, CH_00BA, CH_00BB, CH_0152, CH_0153, CH_0178, CH_00BF,
+/* C0 */ CH_00C0, CH_00C1, CH_00C2, CH_00C3, CH_00C4, CH_00C5, CH_00C6, CH_00C7, CH_00C8, CH_00C9, CH_00CA, CH_00CB, CH_00CC, CH_00CD, CH_00CE, CH_00CF,
+/* D0 */ CH_00D0, CH_00D1, CH_00D2, CH_00D3, CH_00D4, CH_00D5, CH_00D6, CH_00D7, CH_00D8, CH_00D9, CH_00DA, CH_00DB, CH_00DC, CH_00DD, CH_00DE, CH_00DF,
+/* E0 */ CH_00E0, CH_00E1, CH_00E2, CH_00E3, CH_00E4, CH_00E5, CH_00E6, CH_00E7, CH_00E8, CH_00E9, CH_00EA, CH_00EB, CH_00EC, CH_00ED, CH_00EE, CH_00EF,
+/* F0 */ CH_00F0, CH_00F1, CH_00F2, CH_00F3, CH_00F4, CH_00F5, CH_00F6, CH_00F7, CH_00F8, CH_00F9, CH_00FA, CH_00FB, CH_00FC, CH_00FD, CH_00FE, CH_00FF,
+/* ISO8859_16 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* A0 */ CH_00A0, CH_0104, CH_0105, CH_0141, CH_UNKN, CH_UNKN, CH_0160, CH_00A7, CH_0161, CH_00A9, CH_UNKN, CH_00AB, CH_0179, CH_00AD, CH_017A, CH_017B,
+/* B0 */ CH_00B0, CH_00B1, CH_010C, CH_0142, CH_017D, CH_UNKN, CH_00B6, CH_00B7, CH_017E, CH_010D, CH_UNKN, CH_00BB, CH_0152, CH_0153, CH_0178, CH_017C,
+/* C0 */ CH_00C0, CH_00C1, CH_00C2, CH_0102, CH_00C4, CH_0106, CH_00C6, CH_00C7, CH_00C8, CH_00C9, CH_00CA, CH_00CB, CH_00CC, CH_00CD, CH_00CE, CH_00CF,
+/* D0 */ CH_0110, CH_0143, CH_00D2, CH_00D3, CH_00D4, CH_0150, CH_00D6, CH_015A, CH_0170, CH_00D9, CH_00DA, CH_00DB, CH_00DC, CH_0118, CH_UNKN, CH_00DF,
+/* E0 */ CH_00E0, CH_00E1, CH_00E2, CH_0103, CH_00E4, CH_0107, CH_00E6, CH_00E7, CH_00E8, CH_00E9, CH_00EA, CH_00EB, CH_00EC, CH_00ED, CH_00EE, CH_00EF,
+/* F0 */ CH_0111, CH_0144, CH_00F2, CH_00F3, CH_00F4, CH_0151, CH_00F6, CH_015B, CH_0171, CH_00F9, CH_00FA, CH_00FB, CH_00FC, CH_0119, CH_UNKN, CH_00FF,
+/* CP1250 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_0160, CH_UNKN, CH_015A, CH_0164, CH_017D, CH_0179,
+/* 90 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_0161, CH_UNKN, CH_015B, CH_0165, CH_017E, CH_017A,
+/* A0 */ CH_00A0, CH_02C7, CH_02D8, CH_0141, CH_00A4, CH_0104, CH_00A6, CH_00A7, CH_00A8, CH_00A9, CH_015E, CH_00AB, CH_00AC, CH_00AD, CH_00AE, CH_017B,
+/* B0 */ CH_00B0, CH_00B1, CH_02DB, CH_0142, CH_00B4, CH_00B5, CH_00B6, CH_00B7, CH_00B8, CH_0105, CH_015F, CH_00BB, CH_013D, CH_02DD, CH_013E, CH_017C,
+/* C0 */ CH_0154, CH_00C1, CH_00C2, CH_0102, CH_00C4, CH_0139, CH_0106, CH_00C7, CH_010C, CH_00C9, CH_0118, CH_00CB, CH_011A, CH_00CD, CH_00CE, CH_010E,
+/* D0 */ CH_0110, CH_0143, CH_0147, CH_00D3, CH_00D4, CH_0150, CH_00D6, CH_00D7, CH_0158, CH_016E, CH_00DA, CH_0170, CH_00DC, CH_00DD, CH_0162, CH_00DF,
+/* E0 */ CH_0155, CH_00E1, CH_00E2, CH_0103, CH_00E4, CH_013A, CH_0107, CH_00E7, CH_010D, CH_00E9, CH_0119, CH_00EB, CH_011B, CH_00ED, CH_00EE, CH_010F,
+/* F0 */ CH_0111, CH_0144, CH_0148, CH_00F3, CH_00F4, CH_0151, CH_00F6, CH_00F7, CH_0159, CH_016F, CH_00FA, CH_0171, CH_00FC, CH_00FD, CH_0163, CH_02D9,
+/* CP852 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 80 */ CH_00C7, CH_00FC, CH_00E9, CH_00E2, CH_00E4, CH_016F, CH_0107, CH_00E7, CH_0142, CH_00EB, CH_0150, CH_0151, CH_00EE, CH_0179, CH_00C4, CH_0106,
+/* 90 */ CH_00C9, CH_0139, CH_013A, CH_00F4, CH_00F6, CH_013D, CH_013E, CH_015A, CH_015B, CH_00D6, CH_00DC, CH_0164, CH_0165, CH_0141, CH_00D7, CH_010D,
+/* A0 */ CH_00E1, CH_00ED, CH_00F3, CH_00FA, CH_0104, CH_0105, CH_017D, CH_017E, CH_0118, CH_0119, CH_00AC, CH_017A, CH_010C, CH_015F, CH_00AB, CH_00BB,
+/* B0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_00C1, CH_00C2, CH_011A, CH_015E, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_017B, CH_017C, CH_UNKN,
+/* C0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_0102, CH_0103, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_00A4,
+/* D0 */ CH_0111, CH_0110, CH_010E, CH_00CB, CH_010F, CH_0147, CH_00CD, CH_00CE, CH_011B, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_0162, CH_016E, CH_UNKN,
+/* E0 */ CH_00D3, CH_00DF, CH_00D4, CH_0143, CH_0144, CH_0148, CH_0160, CH_0161, CH_0154, CH_00DA, CH_0155, CH_0170, CH_00FD, CH_00DD, CH_0163, CH_00B4,
+/* F0 */ CH_00AD, CH_02DD, CH_02DB, CH_02C7, CH_02D8, CH_00A7, CH_00F7, CH_00B8, CH_00B0, CH_00A8, CH_02D9, CH_0171, CH_0158, CH_0159, CH_UNKN, CH_00A0,
+};
+
+uint8_t const * const UNI_TABLE[0x02DE] = {
+/* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 0000 */ CH_0000, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL,
+/* 0010 */ CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL,
+/* 0020 */ CH_0020, CH_0021, CH_0022, CH_0023, CH_0024, CH_0025, CH_0026, CH_0027, CH_0028, CH_0029, CH_002A, CH_002B, CH_002C, CH_002D, CH_002E, CH_002F,
+/* 0030 */ CH_0030, CH_0031, CH_0032, CH_0033, CH_0034, CH_0035, CH_0036, CH_0037, CH_0038, CH_0039, CH_003A, CH_003B, CH_003C, CH_003D, CH_003E, CH_003F,
+/* 0040 */ CH_0040, CH_0041, CH_0042, CH_0043, CH_0044, CH_0045, CH_0046, CH_0047, CH_0048, CH_0049, CH_004A, CH_004B, CH_004C, CH_004D, CH_004E, CH_004F,
+/* 0050 */ CH_0050, CH_0051, CH_0052, CH_0053, CH_0054, CH_0055, CH_0056, CH_0057, CH_0058, CH_0059, CH_005A, CH_005B, CH_005C, CH_005D, CH_005E, CH_005F,
+/* 0060 */ CH_0060, CH_0061, CH_0062, CH_0063, CH_0064, CH_0065, CH_0066, CH_0067, CH_0068, CH_0069, CH_006A, CH_006B, CH_006C, CH_006D, CH_006E, CH_006F,
+/* 0070 */ CH_0070, CH_0071, CH_0072, CH_0073, CH_0074, CH_0075, CH_0076, CH_0077, CH_0078, CH_0079, CH_007A, CH_007B, CH_007C, CH_007D, CH_007E, CH_NULL,
+/* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 0080 */ CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL,
+/* 0090 */ CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL, CH_NULL,
+/* 00A0 */ CH_00A0, CH_00A1, CH_00A2, CH_00A3, CH_00A4, CH_00A5, CH_00A6, CH_00A7, CH_00A8, CH_00A9, CH_00AA, CH_00AB, CH_00AC, CH_00AD, CH_00AE, CH_00AF,
+/* 00B0 */ CH_00B0, CH_00B1, CH_00B2, CH_00B3, CH_00B4, CH_00B5, CH_00B6, CH_00B7, CH_00B8, CH_00B9, CH_00BA, CH_00BB, CH_00BC, CH_00BD, CH_00BE, CH_00BF,
+/* 00C0 */ CH_00C0, CH_00C1, CH_00C2, CH_00C3, CH_00C4, CH_00C5, CH_00C6, CH_00C7, CH_00C8, CH_00C9, CH_00CA, CH_00CB, CH_00CC, CH_00CD, CH_00CE, CH_00CF,
+/* 00D0 */ CH_00D0, CH_00D1, CH_00D2, CH_00D3, CH_00D4, CH_00D5, CH_00D6, CH_00D7, CH_00D8, CH_00D9, CH_00DA, CH_00DB, CH_00DC, CH_00DD, CH_00DE, CH_00DF,
+/* 00E0 */ CH_00E0, CH_00E1, CH_00E2, CH_00E3, CH_00E4, CH_00E5, CH_00E6, CH_00E7, CH_00E8, CH_00E9, CH_00EA, CH_00EB, CH_00EC, CH_00ED, CH_00EE, CH_00EF,
+/* 00F0 */ CH_00F0, CH_00F1, CH_00F2, CH_00F3, CH_00F4, CH_00F5, CH_00F6, CH_00F7, CH_00F8, CH_00F9, CH_00FA, CH_00FB, CH_00FC, CH_00FD, CH_00FE, CH_00FF,
+/* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 0100 */ CH_0100, CH_0101, CH_0102, CH_0103, CH_0104, CH_0105, CH_0106, CH_0107, CH_0108, CH_0109, CH_010A, CH_010B, CH_010C, CH_010D, CH_010E, CH_010F,
+/* 0110 */ CH_0110, CH_0111, CH_0112, CH_0113, CH_0114, CH_0115, CH_0116, CH_0117, CH_0118, CH_0119, CH_011A, CH_011B, CH_011C, CH_011D, CH_011E, CH_011F,
+/* 0120 */ CH_0120, CH_0121, CH_0122, CH_0123, CH_0124, CH_0125, CH_0126, CH_0127, CH_0128, CH_0129, CH_012A, CH_012B, CH_012C, CH_012D, CH_012E, CH_012F,
+/* 0130 */ CH_0130, CH_0131, CH_0132, CH_0133, CH_0134, CH_0135, CH_0136, CH_0137, CH_0138, CH_0139, CH_013A, CH_013B, CH_013C, CH_013D, CH_013E, CH_013F,
+/* 0140 */ CH_0140, CH_0141, CH_0142, CH_0143, CH_0144, CH_0145, CH_0146, CH_0147, CH_0148, CH_UNKN, CH_014A, CH_014B, CH_014C, CH_014D, CH_014E, CH_014F,
+/* 0150 */ CH_0150, CH_0151, CH_0152, CH_0153, CH_0154, CH_0155, CH_0156, CH_0157, CH_0158, CH_0159, CH_015A, CH_015B, CH_015C, CH_015D, CH_015E, CH_015F,
+/* 0160 */ CH_0160, CH_0161, CH_0162, CH_0163, CH_0164, CH_0165, CH_0166, CH_0167, CH_0168, CH_0169, CH_016A, CH_016B, CH_016C, CH_016D, CH_016E, CH_016F,
+/* 0170 */ CH_0170, CH_0171, CH_0172, CH_0173, CH_0174, CH_0175, CH_0176, CH_0177, CH_0178, CH_0179, CH_017A, CH_017B, CH_017C, CH_017D, CH_017E, CH_UNKN,
+/* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 0180 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0190 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 01A0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 01B0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 01C0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 01D0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 01E0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 01F0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 0200 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0210 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0220 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0230 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0240 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0250 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0260 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0270 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 00 01 02 03 04 05 06 07 08 09 0A 0B 0C 0D 0E 0F */
+/* 0280 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 0290 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 02A0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 02B0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 02C0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_02C7, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN,
+/* 02D0 */ CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_UNKN, CH_02D8, CH_02D9, CH_UNKN, CH_02DB, CH_UNKN, CH_02DD,
+};
+
+const uint8_t KEYBOARD_PATTERN[0x05EC] = {
+/* 0000 */
+ 0,
+/* 0020: ' ' */
+/* 00A0: ' ' */
+ 1,
+ KEY_SPACE,
+/* 0021: '!' */
+/* 00A1: '¡' */
+ 1,
+ SKEY_EXCL,
+/* 0022: '"' */
+ 1,
+ SKEY_QUOT,
+/* 0023: '#' */
+ 2,
+ CODE_ALT,
+ XKEY_HASH,
+/* 0024: '$' */
+ 2,
+ CODE_ALT,
+ XKEY_DOLLAR,
+/* 0025: '%' */
+ 1,
+ SKEY_PERCENT,
+/* 0026: '&' */
+ 1,
+ SKEY_AMP,
+/* 0027: ''' */
+ 2,
+ CODE_ALT,
+ XKEY_QUOT,
+/* 0028: '(' */
+ 1,
+ SKEY_LPAREN,
+/* 0029: ')' */
+ 1,
+ SKEY_RPAREN,
+/* 002A: '*' */
+ 2,
+ CODE_ALT,
+ XKEY_STAR,
+/* 002B: '+' */
+ 1,
+ SKEY_PLUS,
+/* 002C: ',' */
+/* 00B8: '¸' */
+ 1,
+ KEY_COMA,
+/* 002D: '-' */
+/* 00AD: '' */
+ 1,
+ KEY_MINUS,
+/* 002E: '.' */
+ 1,
+ KEY_DOT,
+/* 002F: '/' */
+ 1,
+ SKEY_SLASH,
+/* 0030: '0' */
+ 1,
+ KEY_0,
+/* 0031: '1' */
+ 1,
+ KEY_1,
+/* 0032: '2' */
+ 1,
+ KEY_2,
+/* 0033: '3' */
+ 1,
+ KEY_3,
+/* 0034: '4' */
+ 1,
+ KEY_4,
+/* 0035: '5' */
+ 1,
+ KEY_5,
+/* 0036: '6' */
+ 1,
+ KEY_6,
+/* 0037: '7' */
+ 1,
+ KEY_7,
+/* 0038: '8' */
+ 1,
+ KEY_8,
+/* 0039: '9' */
+ 1,
+ KEY_9,
+/* 003A: ':' */
+ 1,
+ SKEY_COLON,
+/* 003B: ';' */
+ 1,
+ SKEY_SEMI,
+/* 003C: '<' */
+ 2,
+ CODE_ALT,
+ XKEY_LT,
+/* 003D: '=' */
+ 1,
+ SKEY_EQ,
+/* 003E: '>' */
+ 2,
+ CODE_ALT,
+ XKEY_GT,
+/* 003F: '?' */
+/* 00BF: '¿' */
+ 1,
+ SKEY_QUEST,
+/* 0040: '@' */
+ 17,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ SKEY_LPAREN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_A,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ SKEY_RPAREN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+/* 0041: 'A' */
+ 1,
+ SKEY_A,
+/* 0042: 'B' */
+ 1,
+ SKEY_B,
+/* 0043: 'C' */
+ 1,
+ SKEY_C,
+/* 0044: 'D' */
+ 1,
+ SKEY_D,
+/* 0045: 'E' */
+ 1,
+ SKEY_E,
+/* 0046: 'F' */
+ 1,
+ SKEY_F,
+/* 0047: 'G' */
+ 1,
+ SKEY_G,
+/* 0048: 'H' */
+ 1,
+ SKEY_H,
+/* 0049: 'I' */
+ 1,
+ SKEY_I,
+/* 004A: 'J' */
+ 1,
+ SKEY_J,
+/* 004B: 'K' */
+/* 0138: 'ĸ' */
+ 1,
+ SKEY_K,
+/* 004C: 'L' */
+ 1,
+ SKEY_L,
+/* 004D: 'M' */
+ 1,
+ SKEY_M,
+/* 004E: 'N' */
+ 1,
+ SKEY_N,
+/* 004F: 'O' */
+ 1,
+ SKEY_O,
+/* 0050: 'P' */
+ 1,
+ SKEY_P,
+/* 0051: 'Q' */
+ 1,
+ SKEY_Q,
+/* 0052: 'R' */
+ 1,
+ SKEY_R,
+/* 0053: 'S' */
+ 1,
+ SKEY_S,
+/* 0054: 'T' */
+ 1,
+ SKEY_T,
+/* 0055: 'U' */
+ 1,
+ SKEY_U,
+/* 0056: 'V' */
+ 1,
+ SKEY_V,
+/* 0057: 'W' */
+ 1,
+ SKEY_W,
+/* 0058: 'X' */
+ 1,
+ SKEY_X,
+/* 0059: 'Y' */
+ 1,
+ SKEY_Y,
+/* 005A: 'Z' */
+ 1,
+ SKEY_Z,
+/* 005B: '[' */
+ 9,
+ SKEY_LPAREN,
+ CODE_HALFUP,
+ KEY_BACK,
+ KEY_MINUS,
+ KEY_BACK,
+ CODE_HALFDOWN,
+ CODE_HALFDOWN,
+ KEY_MINUS,
+ CODE_HALFUP,
+/* 005C: '\' */
+ 14,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ SKEY_GRAVE,
+ KEY_SPACE,
+ CODE_HALFDOWN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ SKEY_GRAVE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_HALFUP,
+/* 005D: ']' */
+ 9,
+ SKEY_RPAREN,
+ CODE_HALFUP,
+ KEY_BACK,
+ KEY_MINUS,
+ KEY_BACK,
+ CODE_HALFDOWN,
+ CODE_HALFDOWN,
+ KEY_MINUS,
+ CODE_HALFUP,
+/* 005E: '^' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_SPACE,
+/* 005F: '_' */
+ 1,
+ SKEY_UNDER,
+/* 0060: '`' */
+ 2,
+ SKEY_GRAVE,
+ KEY_SPACE,
+/* 0061: 'a' */
+ 1,
+ KEY_A,
+/* 0062: 'b' */
+ 1,
+ KEY_B,
+/* 0063: 'c' */
+ 1,
+ KEY_C,
+/* 0064: 'd' */
+ 1,
+ KEY_D,
+/* 0065: 'e' */
+ 1,
+ KEY_E,
+/* 0066: 'f' */
+ 1,
+ KEY_F,
+/* 0067: 'g' */
+ 1,
+ KEY_G,
+/* 0068: 'h' */
+ 1,
+ KEY_H,
+/* 0069: 'i' */
+/* 0131: 'ı' */
+ 1,
+ KEY_I,
+/* 006A: 'j' */
+ 1,
+ KEY_J,
+/* 006B: 'k' */
+ 1,
+ KEY_K,
+/* 006C: 'l' */
+ 1,
+ KEY_L,
+/* 006D: 'm' */
+ 1,
+ KEY_M,
+/* 006E: 'n' */
+ 1,
+ KEY_N,
+/* 006F: 'o' */
+ 1,
+ KEY_O,
+/* 0070: 'p' */
+ 1,
+ KEY_P,
+/* 0071: 'q' */
+ 1,
+ KEY_Q,
+/* 0072: 'r' */
+ 1,
+ KEY_R,
+/* 0073: 's' */
+ 1,
+ KEY_S,
+/* 0074: 't' */
+ 1,
+ KEY_T,
+/* 0075: 'u' */
+ 1,
+ KEY_U,
+/* 0076: 'v' */
+ 1,
+ KEY_V,
+/* 0077: 'w' */
+ 1,
+ KEY_W,
+/* 0078: 'x' */
+/* 00D7: '×' */
+ 1,
+ KEY_X,
+/* 0079: 'y' */
+ 1,
+ KEY_Y,
+/* 007A: 'z' */
+ 1,
+ KEY_Z,
+/* 007B: '{' */
+ 4,
+ SKEY_LPAREN,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_LT,
+/* 007C: '|' */
+/* 00A6: '¦' */
+ 7,
+ CODE_ALT,
+ XKEY_QUOT,
+ KEY_BACK,
+ CODE_HALFDOWN,
+ CODE_ALT,
+ XKEY_QUOT,
+ CODE_HALFUP,
+/* 007D: '}' */
+ 4,
+ SKEY_RPAREN,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_GT,
+/* 007E: '~' */
+ 12,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+/* 00A2: '¢' */
+ 9,
+ KEY_C,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_QUOT,
+ KEY_BACK,
+ CODE_HALFDOWN,
+ CODE_ALT,
+ XKEY_QUOT,
+ CODE_HALFUP,
+/* 00A3: '£' */
+ 2,
+ CODE_ALT,
+ XKEY_POUND,
+/* 00A4: '¤' */
+ 3,
+ KEY_O,
+ KEY_BACK,
+ KEY_X,
+/* 00A5: '¥' */
+ 3,
+ SKEY_Y,
+ KEY_BACK,
+ SKEY_EQ,
+/* 00A7: '§' */
+ 1,
+ SKEY_PARAG,
+/* 00A8: '¨' */
+ 3,
+ CODE_ALT,
+ XKEY_UMLAUT,
+ KEY_SPACE,
+/* 00A9: '©' */
+ 17,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ SKEY_LPAREN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ SKEY_C,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ SKEY_RPAREN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+/* 00AA: 'ª' */
+ 5,
+ CODE_HALFUP,
+ KEY_A,
+ CODE_HALFDOWN,
+ KEY_BACK,
+ KEY_MINUS,
+/* 00AB: '«' */
+ 11,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ CODE_ALT,
+ XKEY_LT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ KEY_MARGIN,
+ CODE_ALT,
+ XKEY_LT,
+ CODE_STEPLEFT,
+/* 00AC: '¬' */
+ 12,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ CODE_ALT,
+ XKEY_QUOT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_HALFUP,
+/* 00AE: '®' */
+ 17,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ SKEY_LPAREN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ SKEY_R,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ SKEY_RPAREN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+/* 00AF: '¯' */
+ 3,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 00B0: '°' */
+ 2,
+ CODE_ALT,
+ XKEY_DEGREE,
+/* 00B1: '±' */
+ 3,
+ SKEY_PLUS,
+ KEY_BACK,
+ SKEY_UNDER,
+/* 00B2: '²' */
+ 3,
+ CODE_HALFUP,
+ KEY_2,
+ CODE_HALFDOWN,
+/* 00B3: '³' */
+ 3,
+ CODE_HALFUP,
+ KEY_3,
+ CODE_HALFDOWN,
+/* 00B4: '´' */
+ 2,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 00B5: 'µ' */
+ 14,
+ KEY_U,
+ CODE_HALFDOWN,
+ KEY_BACK,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_ALT,
+ XKEY_QUOT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_SPACE,
+ CODE_HALFUP,
+/* 00B6: '¶' */
+ 3,
+ SKEY_P,
+ KEY_BACK,
+ SKEY_I,
+/* 00B7: '·' */
+/* 02D9: '˙' */
+ 3,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 00B9: '¹' */
+ 3,
+ CODE_HALFUP,
+ KEY_1,
+ CODE_HALFDOWN,
+/* 00BA: 'º' */
+ 4,
+ CODE_ALT,
+ XKEY_DEGREE,
+ KEY_BACK,
+ KEY_MINUS,
+/* 00BB: '»' */
+ 12,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ CODE_ALT,
+ XKEY_GT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ CODE_ALT,
+ XKEY_GT,
+ CODE_STEPLEFT,
+/* 00BC: '¼' */
+ 9,
+ CODE_HALFUP,
+ KEY_1,
+ CODE_HALFDOWN,
+ KEY_BACK,
+ KEY_MINUS,
+ KEY_BACK,
+ CODE_HALFDOWN,
+ KEY_4,
+ CODE_HALFUP,
+/* 00BD: '½' */
+ 9,
+ CODE_HALFUP,
+ KEY_1,
+ CODE_HALFDOWN,
+ KEY_BACK,
+ KEY_MINUS,
+ KEY_BACK,
+ CODE_HALFDOWN,
+ KEY_2,
+ CODE_HALFUP,
+/* 00BE: '¾' */
+ 9,
+ CODE_HALFUP,
+ KEY_3,
+ CODE_HALFDOWN,
+ KEY_BACK,
+ KEY_MINUS,
+ KEY_BACK,
+ CODE_HALFDOWN,
+ KEY_4,
+ CODE_HALFUP,
+/* 00C0: 'À' */
+ 2,
+ SKEY_GRAVE,
+ SKEY_A,
+/* 00C1: 'Á' */
+ 2,
+ KEY_ACUTE,
+ SKEY_A,
+/* 00C2: 'Â' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_A,
+/* 00C3: 'Ã' */
+/* 0100: 'Ā' */
+ 5,
+ SKEY_A,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 00C4: 'Ä' */
+ 1,
+ SKEY_AE,
+/* 00C5: 'Å' */
+ 5,
+ SKEY_A,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 00C6: 'Æ' */
+ 10,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ SKEY_A,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ SKEY_E,
+ CODE_STEPLEFT,
+/* 00C7: 'Ç' */
+ 3,
+ SKEY_C,
+ KEY_BACK,
+ KEY_COMA,
+/* 00C8: 'È' */
+ 2,
+ SKEY_GRAVE,
+ SKEY_E,
+/* 00C9: 'É' */
+ 2,
+ KEY_ACUTE,
+ SKEY_E,
+/* 00CA: 'Ê' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_E,
+/* 00CB: 'Ë' */
+ 3,
+ CODE_ALT,
+ XKEY_UMLAUT,
+ SKEY_E,
+/* 00CC: 'Ì' */
+ 2,
+ SKEY_GRAVE,
+ SKEY_I,
+/* 00CD: 'Í' */
+ 2,
+ KEY_ACUTE,
+ SKEY_I,
+/* 00CE: 'Î' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_I,
+/* 00CF: 'Ï' */
+ 3,
+ CODE_ALT,
+ XKEY_UMLAUT,
+ SKEY_I,
+/* 00D0: 'Ð' */
+/* 0110: 'Đ' */
+ 9,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_MINUS,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ SKEY_D,
+/* 00D1: 'Ñ' */
+ 5,
+ SKEY_N,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 00D2: 'Ò' */
+ 2,
+ SKEY_GRAVE,
+ SKEY_O,
+/* 00D3: 'Ó' */
+ 2,
+ KEY_ACUTE,
+ SKEY_O,
+/* 00D4: 'Ô' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_O,
+/* 00D5: 'Õ' */
+/* 014C: 'Ō' */
+ 5,
+ SKEY_O,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 00D6: 'Ö' */
+ 1,
+ SKEY_OE,
+/* 00D8: 'Ø' */
+ 3,
+ SKEY_O,
+ KEY_BACK,
+ SKEY_SLASH,
+/* 00D9: 'Ù' */
+ 2,
+ SKEY_GRAVE,
+ SKEY_U,
+/* 00DA: 'Ú' */
+ 2,
+ KEY_ACUTE,
+ SKEY_U,
+/* 00DB: 'Û' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_U,
+/* 00DC: 'Ü' */
+ 1,
+ SKEY_UE,
+/* 00DD: 'Ý' */
+ 2,
+ KEY_ACUTE,
+ SKEY_Y,
+/* 00DE: 'Þ' */
+/* 00FE: 'þ' */
+ 3,
+ KEY_P,
+ KEY_BACK,
+ KEY_B,
+/* 00DF: 'ß' */
+ 1,
+ KEY_SS,
+/* 00E0: 'à' */
+ 2,
+ SKEY_GRAVE,
+ KEY_A,
+/* 00E1: 'á' */
+ 2,
+ KEY_ACUTE,
+ KEY_A,
+/* 00E2: 'â' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_A,
+/* 00E3: 'ã' */
+ 14,
+ KEY_A,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+/* 00E4: 'ä' */
+ 1,
+ KEY_AE,
+/* 00E5: 'å' */
+ 4,
+ KEY_A,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_DEGREE,
+/* 00E6: 'æ' */
+ 10,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_A,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_E,
+ CODE_STEPLEFT,
+/* 00E7: 'ç' */
+ 3,
+ KEY_C,
+ KEY_BACK,
+ KEY_COMA,
+/* 00E8: 'è' */
+ 2,
+ SKEY_GRAVE,
+ KEY_E,
+/* 00E9: 'é' */
+ 2,
+ KEY_ACUTE,
+ KEY_E,
+/* 00EA: 'ê' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_E,
+/* 00EB: 'ë' */
+ 3,
+ CODE_ALT,
+ XKEY_UMLAUT,
+ KEY_E,
+/* 00EC: 'ì' */
+ 2,
+ SKEY_GRAVE,
+ KEY_I,
+/* 00ED: 'í' */
+ 2,
+ KEY_ACUTE,
+ KEY_I,
+/* 00EE: 'î' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_I,
+/* 00EF: 'ï' */
+ 3,
+ CODE_ALT,
+ XKEY_UMLAUT,
+ KEY_I,
+/* 00F0: 'ð' */
+/* 0111: 'đ' */
+ 5,
+ KEY_D,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 00F1: 'ñ' */
+ 14,
+ KEY_N,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+/* 00F2: 'ò' */
+ 2,
+ SKEY_GRAVE,
+ KEY_O,
+/* 00F3: 'ó' */
+ 2,
+ KEY_ACUTE,
+ KEY_O,
+/* 00F4: 'ô' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_O,
+/* 00F5: 'õ' */
+ 14,
+ KEY_O,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+/* 00F6: 'ö' */
+ 1,
+ KEY_OE,
+/* 00F7: '÷' */
+ 3,
+ SKEY_COLON,
+ KEY_BACK,
+ KEY_MINUS,
+/* 00F8: 'ø' */
+ 3,
+ KEY_O,
+ KEY_BACK,
+ SKEY_SLASH,
+/* 00F9: 'ù' */
+ 2,
+ SKEY_GRAVE,
+ KEY_U,
+/* 00FA: 'ú' */
+ 2,
+ KEY_ACUTE,
+ KEY_U,
+/* 00FB: 'û' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_U,
+/* 00FC: 'ü' */
+ 1,
+ KEY_UE,
+/* 00FD: 'ý' */
+ 2,
+ KEY_ACUTE,
+ KEY_Y,
+/* 00FF: 'ÿ' */
+ 3,
+ CODE_ALT,
+ XKEY_UMLAUT,
+ KEY_Y,
+/* 0101: 'ā' */
+ 5,
+ KEY_A,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 0102: 'Ă' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_A,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0103: 'ă' */
+ 5,
+ SKEY_GRAVE,
+ KEY_A,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0104: 'Ą' */
+ 9,
+ SKEY_A,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 0105: 'ą' */
+ 9,
+ KEY_A,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 0106: 'Ć' */
+ 2,
+ KEY_ACUTE,
+ SKEY_C,
+/* 0107: 'ć' */
+ 2,
+ KEY_ACUTE,
+ KEY_C,
+/* 0108: 'Ĉ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_C,
+/* 0109: 'ĉ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_C,
+/* 010A: 'Ċ' */
+ 5,
+ SKEY_C,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 010B: 'ċ' */
+ 5,
+ KEY_C,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 010C: 'Č' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_C,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 010D: 'č' */
+ 5,
+ SKEY_GRAVE,
+ KEY_C,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 010E: 'Ď' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_D,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 010F: 'ď' */
+ 5,
+ SKEY_GRAVE,
+ KEY_D,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0112: 'Ē' */
+ 5,
+ SKEY_E,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 0113: 'ē' */
+ 5,
+ KEY_E,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 0114: 'Ĕ' */
+/* 011A: 'Ě' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_E,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0115: 'ĕ' */
+/* 011B: 'ě' */
+ 5,
+ SKEY_GRAVE,
+ KEY_E,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0116: 'Ė' */
+ 5,
+ SKEY_E,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 0117: 'ė' */
+ 5,
+ KEY_E,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 0118: 'Ę' */
+ 9,
+ SKEY_E,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 0119: 'ę' */
+ 9,
+ KEY_E,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 011C: 'Ĝ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_G,
+/* 011D: 'ĝ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_G,
+/* 011E: 'Ğ' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_G,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 011F: 'ğ' */
+ 5,
+ SKEY_GRAVE,
+ KEY_G,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0120: 'Ġ' */
+ 5,
+ SKEY_G,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 0121: 'ġ' */
+ 5,
+ KEY_G,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 0122: 'Ģ' */
+ 3,
+ SKEY_G,
+ KEY_BACK,
+ KEY_COMA,
+/* 0123: 'ģ' */
+ 3,
+ KEY_G,
+ KEY_BACK,
+ KEY_COMA,
+/* 0124: 'Ĥ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_H,
+/* 0125: 'ĥ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_H,
+/* 0126: 'Ħ' */
+ 5,
+ SKEY_H,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 0127: 'ħ' */
+ 5,
+ KEY_H,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 0128: 'Ĩ' */
+/* 012A: 'Ī' */
+ 5,
+ SKEY_I,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 0129: 'ĩ' */
+ 14,
+ KEY_I,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+/* 012B: 'ī' */
+ 5,
+ KEY_I,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 012C: 'Ĭ' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_I,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 012D: 'ĭ' */
+ 5,
+ SKEY_GRAVE,
+ KEY_I,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 012E: 'Į' */
+ 9,
+ SKEY_I,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 012F: 'į' */
+ 9,
+ KEY_I,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 0130: 'İ' */
+ 5,
+ SKEY_I,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 0132: 'IJ' */
+ 10,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ SKEY_I,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ SKEY_J,
+ CODE_STEPLEFT,
+/* 0133: 'ij' */
+ 10,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_I,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_J,
+ CODE_STEPLEFT,
+/* 0134: 'Ĵ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_J,
+/* 0135: 'ĵ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_J,
+/* 0136: 'Ķ' */
+ 3,
+ SKEY_K,
+ KEY_BACK,
+ KEY_COMA,
+/* 0137: 'ķ' */
+ 3,
+ KEY_K,
+ KEY_BACK,
+ KEY_COMA,
+/* 0139: 'Ĺ' */
+ 2,
+ KEY_ACUTE,
+ SKEY_L,
+/* 013A: 'ĺ' */
+ 2,
+ KEY_ACUTE,
+ KEY_L,
+/* 013B: 'Ļ' */
+ 3,
+ SKEY_L,
+ KEY_BACK,
+ KEY_COMA,
+/* 013C: 'ļ' */
+ 3,
+ KEY_L,
+ KEY_BACK,
+ KEY_COMA,
+/* 013D: 'Ľ' */
+ 5,
+ SKEY_L,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_COMA,
+ CODE_HALFDOWN,
+/* 013E: 'ľ' */
+ 11,
+ KEY_L,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ CODE_HALFUP,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_HALFDOWN,
+ CODE_STEPLEFT,
+/* 013F: 'Ŀ' */
+ 5,
+ SKEY_L,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 0140: 'ŀ' */
+ 11,
+ KEY_L,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ CODE_HALFUP,
+ KEY_MARGIN,
+ KEY_DOT,
+ CODE_HALFDOWN,
+ CODE_STEPLEFT,
+/* 0141: 'Ł' */
+ 3,
+ SKEY_L,
+ KEY_BACK,
+ KEY_MINUS,
+/* 0142: 'ł' */
+ 3,
+ KEY_L,
+ KEY_BACK,
+ KEY_MINUS,
+/* 0143: 'Ń' */
+ 2,
+ KEY_ACUTE,
+ SKEY_N,
+/* 0144: 'ń' */
+ 2,
+ KEY_ACUTE,
+ KEY_N,
+/* 0145: 'Ņ' */
+ 3,
+ SKEY_N,
+ KEY_BACK,
+ KEY_COMA,
+/* 0146: 'ņ' */
+ 3,
+ KEY_N,
+ KEY_BACK,
+ KEY_COMA,
+/* 0147: 'Ň' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_N,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0148: 'ň' */
+ 5,
+ SKEY_GRAVE,
+ KEY_N,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 014A: 'Ŋ' */
+ 9,
+ SKEY_N,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 014B: 'ŋ' */
+ 9,
+ KEY_N,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 014D: 'ō' */
+ 5,
+ KEY_O,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 014E: 'Ŏ' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_O,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 014F: 'ŏ' */
+ 5,
+ SKEY_GRAVE,
+ KEY_O,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0150: 'Ő' */
+ 14,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ KEY_BACK,
+ SKEY_O,
+/* 0151: 'ő' */
+ 14,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ KEY_BACK,
+ KEY_O,
+/* 0152: 'Œ' */
+ 10,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ SKEY_O,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ SKEY_E,
+ CODE_STEPLEFT,
+/* 0153: 'œ' */
+ 10,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_O,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_E,
+ CODE_STEPLEFT,
+/* 0154: 'Ŕ' */
+ 2,
+ KEY_ACUTE,
+ SKEY_R,
+/* 0155: 'ŕ' */
+ 2,
+ KEY_ACUTE,
+ KEY_R,
+/* 0156: 'Ŗ' */
+ 3,
+ SKEY_R,
+ KEY_BACK,
+ KEY_COMA,
+/* 0157: 'ŗ' */
+ 3,
+ KEY_R,
+ KEY_BACK,
+ KEY_COMA,
+/* 0158: 'Ř' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_R,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0159: 'ř' */
+ 5,
+ SKEY_GRAVE,
+ KEY_R,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 015A: 'Ś' */
+ 2,
+ KEY_ACUTE,
+ SKEY_S,
+/* 015B: 'ś' */
+ 2,
+ KEY_ACUTE,
+ KEY_S,
+/* 015C: 'Ŝ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_S,
+/* 015D: 'ŝ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_S,
+/* 015E: 'Ş' */
+ 3,
+ SKEY_S,
+ KEY_BACK,
+ KEY_COMA,
+/* 015F: 'ş' */
+ 3,
+ KEY_S,
+ KEY_BACK,
+ KEY_COMA,
+/* 0160: 'Š' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_S,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0161: 'š' */
+ 5,
+ SKEY_GRAVE,
+ KEY_S,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0162: 'Ţ' */
+ 3,
+ SKEY_T,
+ KEY_BACK,
+ KEY_COMA,
+/* 0163: 'ţ' */
+ 3,
+ KEY_T,
+ KEY_BACK,
+ KEY_COMA,
+/* 0164: 'Ť' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_T,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 0165: 'ť' */
+ 11,
+ KEY_T,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ CODE_HALFUP,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_HALFDOWN,
+ CODE_STEPLEFT,
+/* 0166: 'Ŧ' */
+ 3,
+ SKEY_T,
+ KEY_BACK,
+ KEY_MINUS,
+/* 0167: 'ŧ' */
+ 3,
+ KEY_T,
+ KEY_BACK,
+ KEY_MINUS,
+/* 0168: 'Ũ' */
+/* 016A: 'Ū' */
+ 5,
+ SKEY_U,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 0169: 'ũ' */
+ 14,
+ KEY_U,
+ KEY_BACK,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+/* 016B: 'ū' */
+ 5,
+ KEY_U,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_MINUS,
+ CODE_HALFDOWN,
+/* 016C: 'Ŭ' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_U,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 016D: 'ŭ' */
+ 5,
+ SKEY_GRAVE,
+ KEY_U,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 016E: 'Ů' */
+ 5,
+ SKEY_U,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 016F: 'ů' */
+ 5,
+ KEY_U,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 0170: 'Ű' */
+ 14,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ KEY_BACK,
+ SKEY_U,
+/* 0171: 'ű' */
+ 14,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ KEY_BACK,
+ KEY_U,
+/* 0172: 'Ų' */
+ 9,
+ SKEY_U,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 0173: 'ų' */
+ 9,
+ KEY_U,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 0174: 'Ŵ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_W,
+/* 0175: 'ŵ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_W,
+/* 0176: 'Ŷ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ SKEY_Y,
+/* 0177: 'ŷ' */
+ 3,
+ CODE_ALT,
+ XKEY_CARET,
+ KEY_Y,
+/* 0178: 'Ÿ' */
+ 3,
+ CODE_ALT,
+ XKEY_UMLAUT,
+ SKEY_Y,
+/* 0179: 'Ź' */
+ 10,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ SKEY_Z,
+/* 017A: 'ź' */
+ 2,
+ KEY_ACUTE,
+ KEY_Z,
+/* 017B: 'Ż' */
+ 3,
+ SKEY_Z,
+ KEY_BACK,
+ KEY_MINUS,
+/* 017C: 'ż' */
+ 5,
+ KEY_Z,
+ KEY_BACK,
+ CODE_HALFUP,
+ KEY_DOT,
+ CODE_HALFDOWN,
+/* 017D: 'Ž' */
+ 5,
+ SKEY_GRAVE,
+ SKEY_Z,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 017E: 'ž' */
+ 5,
+ SKEY_GRAVE,
+ KEY_Z,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 02C7: 'ˇ' */
+/* 02D8: '˘' */
+ 5,
+ SKEY_GRAVE,
+ KEY_SPACE,
+ KEY_BACK,
+ KEY_ACUTE,
+ KEY_SPACE,
+/* 02DB: '˛' */
+ 9,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_COMA,
+ CODE_STEPLEFT,
+/* 02DD: '˝' */
+ 12,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ KEY_ACUTE,
+ KEY_SPACE,
+ CODE_STEPLEFT,
+/* FFFD: '�' */
+ 19,
+ KEY_MARGIN,
+ CODE_STEPLEFT,
+ CODE_ALT,
+ XKEY_LT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ SKEY_QUEST,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT,
+ CODE_STEPLEFT_EXTRA,
+ KEY_MARGIN,
+ CODE_ALT,
+ XKEY_GT,
+ CODE_STEPLEFT,
+};
+
+const uint8_t KEYMAP_ISO8859_1[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0xA3,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0xB4,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0xA8,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0x00,
+ /* Ę */ [TCODE_E_] = 0x00,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0x00,
+ /* Ż */ [TCODE_Z_] = 0x00,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0x00,
+ /* Ą */ [TCODE_A_] = 0x00,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x00,
+ /* Ś */ [TCODE_S_] = 0x00,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x00,
+ /* Ś */ [TCODE_D_] = 0x00,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0x00,
+ /* Ł */ [TCODE_L_] = 0x00,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0x00,
+ /* Ź */ [TCODE_Y_] = 0x00,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0x00,
+ /* Ć */ [TCODE_C_] = 0x00,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0x00,
+ /* Ń */ [TCODE_N_] = 0x00,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_2[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0x00,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0xB4,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0xA8,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0xEA,
+ /* Ę */ [TCODE_E_] = 0xCA,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0xBF,
+ /* Ż */ [TCODE_Z_] = 0xAF,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0xB1,
+ /* Ą */ [TCODE_A_] = 0xA1,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0xB6,
+ /* Ś */ [TCODE_S_] = 0xA6,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0xB6,
+ /* Ś */ [TCODE_D_] = 0xA6,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0xB3,
+ /* Ł */ [TCODE_L_] = 0xA3,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0xBC,
+ /* Ź */ [TCODE_Y_] = 0xAC,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0xE6,
+ /* Ć */ [TCODE_C_] = 0xC6,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0xF1,
+ /* Ń */ [TCODE_N_] = 0xD1,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_3[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0xA3,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0xB4,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0xA8,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0x00,
+ /* Ę */ [TCODE_E_] = 0x00,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0xBF,
+ /* Ż */ [TCODE_Z_] = 0xAF,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0x00,
+ /* Ą */ [TCODE_A_] = 0x00,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x00,
+ /* Ś */ [TCODE_S_] = 0x00,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x00,
+ /* Ś */ [TCODE_D_] = 0x00,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0x00,
+ /* Ł */ [TCODE_L_] = 0x00,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0x00,
+ /* Ź */ [TCODE_Y_] = 0x00,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0x00,
+ /* Ć */ [TCODE_C_] = 0x00,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0x00,
+ /* Ń */ [TCODE_N_] = 0x00,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_4[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0x00,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0xB4,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0xA8,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0xEA,
+ /* Ę */ [TCODE_E_] = 0xCA,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0x00,
+ /* Ż */ [TCODE_Z_] = 0x00,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0x00,
+ /* Ó */ [TCODE_O_] = 0x00,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0xB1,
+ /* Ą */ [TCODE_A_] = 0xA1,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x00,
+ /* Ś */ [TCODE_S_] = 0x00,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x00,
+ /* Ś */ [TCODE_D_] = 0x00,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0x00,
+ /* Ł */ [TCODE_L_] = 0x00,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0x00,
+ /* Ź */ [TCODE_Y_] = 0x00,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0x00,
+ /* Ć */ [TCODE_C_] = 0x00,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0x00,
+ /* Ń */ [TCODE_N_] = 0x00,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_9[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0xA3,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0xB4,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0xA8,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0x00,
+ /* Ę */ [TCODE_E_] = 0x00,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0x00,
+ /* Ż */ [TCODE_Z_] = 0x00,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0x00,
+ /* Ą */ [TCODE_A_] = 0x00,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x00,
+ /* Ś */ [TCODE_S_] = 0x00,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x00,
+ /* Ś */ [TCODE_D_] = 0x00,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0x00,
+ /* Ł */ [TCODE_L_] = 0x00,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0x00,
+ /* Ź */ [TCODE_Y_] = 0x00,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0x00,
+ /* Ć */ [TCODE_C_] = 0x00,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0x00,
+ /* Ń */ [TCODE_N_] = 0x00,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_10[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0x00,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0x00,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0x00,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0xEA,
+ /* Ę */ [TCODE_E_] = 0xCA,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0x00,
+ /* Ż */ [TCODE_Z_] = 0x00,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0xB1,
+ /* Ą */ [TCODE_A_] = 0xA1,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x00,
+ /* Ś */ [TCODE_S_] = 0x00,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x00,
+ /* Ś */ [TCODE_D_] = 0x00,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0x00,
+ /* Ł */ [TCODE_L_] = 0x00,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0x00,
+ /* Ź */ [TCODE_Y_] = 0x00,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0x00,
+ /* Ć */ [TCODE_C_] = 0x00,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0x00,
+ /* Ń */ [TCODE_N_] = 0x00,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_13[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0xA3,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0x00,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0x00,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0xE6,
+ /* Ę */ [TCODE_E_] = 0xC6,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0xFD,
+ /* Ż */ [TCODE_Z_] = 0xDD,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0xE0,
+ /* Ą */ [TCODE_A_] = 0xC0,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0xFA,
+ /* Ś */ [TCODE_S_] = 0xDA,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0xFA,
+ /* Ś */ [TCODE_D_] = 0xDA,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0xF9,
+ /* Ł */ [TCODE_L_] = 0xD9,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0xEA,
+ /* Ź */ [TCODE_Y_] = 0xCA,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0xE3,
+ /* Ć */ [TCODE_C_] = 0xC3,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0xF1,
+ /* Ń */ [TCODE_N_] = 0xD1,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_15[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0xA3,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0x00,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0x00,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0x00,
+ /* Ę */ [TCODE_E_] = 0x00,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0x00,
+ /* Ż */ [TCODE_Z_] = 0x00,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0x00,
+ /* Ą */ [TCODE_A_] = 0x00,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x00,
+ /* Ś */ [TCODE_S_] = 0x00,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x00,
+ /* Ś */ [TCODE_D_] = 0x00,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0x00,
+ /* Ł */ [TCODE_L_] = 0x00,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0x00,
+ /* Ź */ [TCODE_Y_] = 0x00,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0x00,
+ /* Ć */ [TCODE_C_] = 0x00,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0x00,
+ /* Ń */ [TCODE_N_] = 0x00,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_ISO8859_16[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0x00,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0x00,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0x00,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0xFD,
+ /* Ę */ [TCODE_E_] = 0xDD,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0xBF,
+ /* Ż */ [TCODE_Z_] = 0xAF,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0xA2,
+ /* Ą */ [TCODE_A_] = 0xA1,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0xF7,
+ /* Ś */ [TCODE_S_] = 0xD7,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0xF7,
+ /* Ś */ [TCODE_D_] = 0xD7,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0xB3,
+ /* Ł */ [TCODE_L_] = 0xA3,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0xAE,
+ /* Ź */ [TCODE_Y_] = 0xAC,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0xE5,
+ /* Ć */ [TCODE_C_] = 0xC5,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0xF1,
+ /* Ń */ [TCODE_N_] = 0xD1,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_CP1250[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xA7,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xDF,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0x00,
+ /* ° */ [TCODE_DEGREE] = 0xB0,
+ /* ´ */ [KEY_ACUTE] = 0xB4,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0xA8,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0xEA,
+ /* Ę */ [TCODE_E_] = 0xCA,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0xBF,
+ /* Ż */ [TCODE_Z_] = 0xAF,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xF3,
+ /* Ó */ [TCODE_O_] = 0xD3,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0xFC,
+ /* Ü */ [SKEY_UE] = 0xDC,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0xB9,
+ /* Ą */ [TCODE_A_] = 0xA5,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x9C,
+ /* Ś */ [TCODE_S_] = 0x8C,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x9C,
+ /* Ś */ [TCODE_D_] = 0x8C,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0xB3,
+ /* Ł */ [TCODE_L_] = 0xA3,
+ /* ö */ [KEY_OE] = 0xF6,
+ /* Ö */ [SKEY_OE] = 0xD6,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0xE4,
+ /* Ä */ [SKEY_AE] = 0xC4,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0x9F,
+ /* Ź */ [TCODE_Y_] = 0x8F,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0xE6,
+ /* Ć */ [TCODE_C_] = 0xC6,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0xF1,
+ /* Ń */ [TCODE_N_] = 0xD1,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint8_t KEYMAP_CP852[0x0100] = {
+ [0 ... 0xff] = 0x00,
+ /* @ */ [TKEY_AT] = 0x40,
+ /* ~ */ [TKEY_TILDE] = 0x7E,
+ [TCODE_ESC] = 0x1B,
+ /* 1 */ [KEY_1] = 0x31,
+ /* ! */ [SKEY_EXCL] = 0x21,
+ /* < */ [TCODE_LT] = 0x3C,
+ /* < */ [TCODE_LT_] = 0x3C,
+ /* 2 */ [KEY_2] = 0x32,
+ /* " */ [SKEY_QUOT] = 0x22,
+ /* > */ [TCODE_GT] = 0x3E,
+ /* > */ [TCODE_GT_] = 0x3E,
+ /* 3 */ [KEY_3] = 0x33,
+ /* § */ [SKEY_PARAG] = 0xF5,
+ /* ' */ [TCODE_QUOT] = 0x27,
+ /* ' */ [TCODE_QUOT_] = 0x27,
+ /* 4 */ [KEY_4] = 0x34,
+ /* + */ [SKEY_PLUS] = 0x2B,
+ /* 5 */ [KEY_5] = 0x35,
+ /* % */ [SKEY_PERCENT] = 0x25,
+ /* 6 */ [KEY_6] = 0x36,
+ /* & */ [SKEY_AMP] = 0x26,
+ /* 7 */ [KEY_7] = 0x37,
+ /* / */ [SKEY_SLASH] = 0x2F,
+ /* 8 */ [KEY_8] = 0x38,
+ /* ( */ [SKEY_LPAREN] = 0x28,
+ /* 9 */ [KEY_9] = 0x39,
+ /* ) */ [SKEY_RPAREN] = 0x29,
+ /* 0 */ [KEY_0] = 0x30,
+ /* = */ [SKEY_EQ] = 0x3D,
+ /* # */ [TCODE_HASH] = 0x23,
+ /* $ */ [TCODE_DOLLAR] = 0x24,
+ /* ß */ [KEY_SS] = 0xE1,
+ /* ? */ [SKEY_QUEST] = 0x3F,
+ /* £ */ [TCODE_POUND] = 0x00,
+ /* ° */ [TCODE_DEGREE] = 0xF8,
+ /* ´ */ [KEY_ACUTE] = 0xEF,
+ /* ` */ [SKEY_GRAVE] = 0x60,
+ /* ^ */ [TCODE_DASH] = 0x5E,
+ /* ¨ */ [TCODE_UMLAUT] = 0xF9,
+ [KEY_BACK] = 0x08,
+ [KEY_TAB] = 0x09,
+ /* q */ [KEY_Q] = 0x71,
+ /* Q */ [SKEY_Q] = 0x51,
+ /* w */ [KEY_W] = 0x77,
+ /* W */ [SKEY_W] = 0x57,
+ /* e */ [KEY_E] = 0x65,
+ /* E */ [SKEY_E] = 0x45,
+ /* ę */ [TCODE_E] = 0xA9,
+ /* Ę */ [TCODE_E_] = 0xA8,
+ /* r */ [KEY_R] = 0x72,
+ /* R */ [SKEY_R] = 0x52,
+ /* t */ [KEY_T] = 0x74,
+ /* T */ [SKEY_T] = 0x54,
+ /* z */ [KEY_Z] = 0x7A,
+ /* Z */ [SKEY_Z] = 0x5A,
+ /* ż */ [TCODE_Z] = 0xBE,
+ /* Ż */ [TCODE_Z_] = 0xBD,
+ /* u */ [KEY_U] = 0x75,
+ /* U */ [SKEY_U] = 0x55,
+ /* i */ [KEY_I] = 0x69,
+ /* I */ [SKEY_I] = 0x49,
+ /* o */ [KEY_O] = 0x6F,
+ /* O */ [SKEY_O] = 0x4F,
+ /* ó */ [TCODE_O] = 0xA2,
+ /* Ó */ [TCODE_O_] = 0xE0,
+ /* p */ [KEY_P] = 0x70,
+ /* P */ [SKEY_P] = 0x50,
+ /* ü */ [KEY_UE] = 0x81,
+ /* Ü */ [SKEY_UE] = 0x9A,
+ /* \ */ [TCODE_BSLASH] = 0x5C,
+ /* | */ [TCODE_WALL] = 0x7C,
+ [KEY_RETURN] = 0x0D,
+ [SKEY_RETURN] = 0x0D,
+ /* a */ [KEY_A] = 0x61,
+ /* A */ [SKEY_A] = 0x41,
+ /* ą */ [TCODE_A] = 0xA5,
+ /* Ą */ [TCODE_A_] = 0xA4,
+ /* s */ [KEY_S] = 0x73,
+ /* S */ [SKEY_S] = 0x53,
+ /* ś */ [TCODE_S] = 0x98,
+ /* Ś */ [TCODE_S_] = 0x97,
+ /* d */ [KEY_D] = 0x64,
+ /* D */ [SKEY_D] = 0x44,
+ /* ś */ [TCODE_D] = 0x98,
+ /* Ś */ [TCODE_D_] = 0x97,
+ /* f */ [KEY_F] = 0x66,
+ /* F */ [SKEY_F] = 0x46,
+ /* g */ [KEY_G] = 0x67,
+ /* G */ [SKEY_G] = 0x47,
+ /* h */ [KEY_H] = 0x68,
+ /* H */ [SKEY_H] = 0x48,
+ /* j */ [KEY_J] = 0x6A,
+ /* J */ [SKEY_J] = 0x4A,
+ /* k */ [KEY_K] = 0x6B,
+ /* K */ [SKEY_K] = 0x4B,
+ /* l */ [KEY_L] = 0x6C,
+ /* L */ [SKEY_L] = 0x4C,
+ /* ł */ [TCODE_L] = 0x88,
+ /* Ł */ [TCODE_L_] = 0x9D,
+ /* ö */ [KEY_OE] = 0x94,
+ /* Ö */ [SKEY_OE] = 0x99,
+ /* [ */ [TCODE_LSQBR] = 0x5B,
+ /* { */ [TCODE_LCURL] = 0x7B,
+ /* ä */ [KEY_AE] = 0x84,
+ /* Ä */ [SKEY_AE] = 0x8E,
+ /* ] */ [TCODE_RSQBR] = 0x5D,
+ /* } */ [TCODE_RCURL] = 0x7D,
+ /* y */ [KEY_Y] = 0x79,
+ /* Y */ [SKEY_Y] = 0x59,
+ /* ź */ [TCODE_Y] = 0xAB,
+ /* Ź */ [TCODE_Y_] = 0x8D,
+ /* x */ [KEY_X] = 0x78,
+ /* X */ [SKEY_X] = 0x58,
+ /* c */ [KEY_C] = 0x63,
+ /* C */ [SKEY_C] = 0x43,
+ /* ć */ [TCODE_C] = 0x86,
+ /* Ć */ [TCODE_C_] = 0x8F,
+ /* v */ [KEY_V] = 0x76,
+ /* V */ [SKEY_V] = 0x56,
+ /* b */ [KEY_B] = 0x62,
+ /* B */ [SKEY_B] = 0x42,
+ /* n */ [KEY_N] = 0x6E,
+ /* N */ [SKEY_N] = 0x4E,
+ /* ń */ [TCODE_N] = 0xE4,
+ /* Ń */ [TCODE_N_] = 0xE3,
+ /* m */ [KEY_M] = 0x6D,
+ /* M */ [SKEY_M] = 0x4D,
+ /* , */ [KEY_COMA] = 0x2C,
+ /* ; */ [SKEY_SEMI] = 0x3B,
+ /* . */ [KEY_DOT] = 0x2E,
+ /* : */ [SKEY_COLON] = 0x3A,
+ /* - */ [KEY_MINUS] = 0x2D,
+ /* _ */ [SKEY_UNDER] = 0x5F,
+ /* * */ [TCODE_STAR] = 0x2A,
+ /* */ [KEY_SPACE] = 0x20,
+ /* */ [SKEY_SPACE] = 0x20,
+ [KEY_ERASE1] = 0x7F,
+ [KEY_ERASEW] = 0x7F,
+};
+const uint16_t KEYMAP_UNI[0x0100] = {
+ [0 ... 0xff] = 0x0000,
+ /* @ */ [TKEY_AT] = 0x0040,
+ /* ~ */ [TKEY_TILDE] = 0x007E,
+ [TCODE_ESC] = 0x001B,
+ /* 1 */ [KEY_1] = 0x0031,
+ /* ! */ [SKEY_EXCL] = 0x0021,
+ /* < */ [TCODE_LT] = 0x003C,
+ /* < */ [TCODE_LT_] = 0x003C,
+ /* 2 */ [KEY_2] = 0x0032,
+ /* " */ [SKEY_QUOT] = 0x0022,
+ /* > */ [TCODE_GT] = 0x003E,
+ /* > */ [TCODE_GT_] = 0x003E,
+ /* 3 */ [KEY_3] = 0x0033,
+ /* § */ [SKEY_PARAG] = 0x00A7,
+ /* ' */ [TCODE_QUOT] = 0x0027,
+ /* ' */ [TCODE_QUOT_] = 0x0027,
+ /* 4 */ [KEY_4] = 0x0034,
+ /* + */ [SKEY_PLUS] = 0x002B,
+ /* 5 */ [KEY_5] = 0x0035,
+ /* % */ [SKEY_PERCENT] = 0x0025,
+ /* 6 */ [KEY_6] = 0x0036,
+ /* & */ [SKEY_AMP] = 0x0026,
+ /* 7 */ [KEY_7] = 0x0037,
+ /* / */ [SKEY_SLASH] = 0x002F,
+ /* 8 */ [KEY_8] = 0x0038,
+ /* ( */ [SKEY_LPAREN] = 0x0028,
+ /* 9 */ [KEY_9] = 0x0039,
+ /* ) */ [SKEY_RPAREN] = 0x0029,
+ /* 0 */ [KEY_0] = 0x0030,
+ /* = */ [SKEY_EQ] = 0x003D,
+ /* # */ [TCODE_HASH] = 0x0023,
+ /* $ */ [TCODE_DOLLAR] = 0x0024,
+ /* ß */ [KEY_SS] = 0x00DF,
+ /* ? */ [SKEY_QUEST] = 0x003F,
+ /* £ */ [TCODE_POUND] = 0x00A3,
+ /* ° */ [TCODE_DEGREE] = 0x00B0,
+ /* ´ */ [KEY_ACUTE] = 0x00B4,
+ /* ` */ [SKEY_GRAVE] = 0x0060,
+ /* ^ */ [TCODE_DASH] = 0x005E,
+ /* ¨ */ [TCODE_UMLAUT] = 0x00A8,
+ [KEY_BACK] = 0x0008,
+ [KEY_TAB] = 0x0009,
+ /* q */ [KEY_Q] = 0x0071,
+ /* Q */ [SKEY_Q] = 0x0051,
+ /* w */ [KEY_W] = 0x0077,
+ /* W */ [SKEY_W] = 0x0057,
+ /* e */ [KEY_E] = 0x0065,
+ /* E */ [SKEY_E] = 0x0045,
+ /* ę */ [TCODE_E] = 0x0119,
+ /* Ę */ [TCODE_E_] = 0x0118,
+ /* r */ [KEY_R] = 0x0072,
+ /* R */ [SKEY_R] = 0x0052,
+ /* t */ [KEY_T] = 0x0074,
+ /* T */ [SKEY_T] = 0x0054,
+ /* z */ [KEY_Z] = 0x007A,
+ /* Z */ [SKEY_Z] = 0x005A,
+ /* ż */ [TCODE_Z] = 0x017C,
+ /* Ż */ [TCODE_Z_] = 0x017B,
+ /* u */ [KEY_U] = 0x0075,
+ /* U */ [SKEY_U] = 0x0055,
+ /* i */ [KEY_I] = 0x0069,
+ /* I */ [SKEY_I] = 0x0049,
+ /* o */ [KEY_O] = 0x006F,
+ /* O */ [SKEY_O] = 0x004F,
+ /* ó */ [TCODE_O] = 0x00F3,
+ /* Ó */ [TCODE_O_] = 0x00D3,
+ /* p */ [KEY_P] = 0x0070,
+ /* P */ [SKEY_P] = 0x0050,
+ /* ü */ [KEY_UE] = 0x00FC,
+ /* Ü */ [SKEY_UE] = 0x00DC,
+ /* \ */ [TCODE_BSLASH] = 0x005C,
+ /* | */ [TCODE_WALL] = 0x007C,
+ [KEY_RETURN] = 0x000D,
+ [SKEY_RETURN] = 0x000D,
+ /* a */ [KEY_A] = 0x0061,
+ /* A */ [SKEY_A] = 0x0041,
+ /* ą */ [TCODE_A] = 0x0105,
+ /* Ą */ [TCODE_A_] = 0x0104,
+ /* s */ [KEY_S] = 0x0073,
+ /* S */ [SKEY_S] = 0x0053,
+ /* ś */ [TCODE_S] = 0x015B,
+ /* Ś */ [TCODE_S_] = 0x015A,
+ /* d */ [KEY_D] = 0x0064,
+ /* D */ [SKEY_D] = 0x0044,
+ /* ś */ [TCODE_D] = 0x015B,
+ /* Ś */ [TCODE_D_] = 0x015A,
+ /* f */ [KEY_F] = 0x0066,
+ /* F */ [SKEY_F] = 0x0046,
+ /* g */ [KEY_G] = 0x0067,
+ /* G */ [SKEY_G] = 0x0047,
+ /* h */ [KEY_H] = 0x0068,
+ /* H */ [SKEY_H] = 0x0048,
+ /* j */ [KEY_J] = 0x006A,
+ /* J */ [SKEY_J] = 0x004A,
+ /* k */ [KEY_K] = 0x006B,
+ /* K */ [SKEY_K] = 0x004B,
+ /* l */ [KEY_L] = 0x006C,
+ /* L */ [SKEY_L] = 0x004C,
+ /* ł */ [TCODE_L] = 0x0142,
+ /* Ł */ [TCODE_L_] = 0x0141,
+ /* ö */ [KEY_OE] = 0x00F6,
+ /* Ö */ [SKEY_OE] = 0x00D6,
+ /* [ */ [TCODE_LSQBR] = 0x005B,
+ /* { */ [TCODE_LCURL] = 0x007B,
+ /* ä */ [KEY_AE] = 0x00E4,
+ /* Ä */ [SKEY_AE] = 0x00C4,
+ /* ] */ [TCODE_RSQBR] = 0x005D,
+ /* } */ [TCODE_RCURL] = 0x007D,
+ /* y */ [KEY_Y] = 0x0079,
+ /* Y */ [SKEY_Y] = 0x0059,
+ /* ź */ [TCODE_Y] = 0x017A,
+ /* Ź */ [TCODE_Y_] = 0x0179,
+ /* x */ [KEY_X] = 0x0078,
+ /* X */ [SKEY_X] = 0x0058,
+ /* c */ [KEY_C] = 0x0063,
+ /* C */ [SKEY_C] = 0x0043,
+ /* ć */ [TCODE_C] = 0x0107,
+ /* Ć */ [TCODE_C_] = 0x0106,
+ /* v */ [KEY_V] = 0x0076,
+ /* V */ [SKEY_V] = 0x0056,
+ /* b */ [KEY_B] = 0x0062,
+ /* B */ [SKEY_B] = 0x0042,
+ /* n */ [KEY_N] = 0x006E,
+ /* N */ [SKEY_N] = 0x004E,
+ /* ń */ [TCODE_N] = 0x0144,
+ /* Ń */ [TCODE_N_] = 0x0143,
+ /* m */ [KEY_M] = 0x006D,
+ /* M */ [SKEY_M] = 0x004D,
+ /* , */ [KEY_COMA] = 0x002C,
+ /* ; */ [SKEY_SEMI] = 0x003B,
+ /* . */ [KEY_DOT] = 0x002E,
+ /* : */ [SKEY_COLON] = 0x003A,
+ /* - */ [KEY_MINUS] = 0x002D,
+ /* _ */ [SKEY_UNDER] = 0x005F,
+ /* * */ [TCODE_STAR] = 0x002A,
+ /* */ [KEY_SPACE] = 0x0020,
+ /* */ [SKEY_SPACE] = 0x0020,
+ [KEY_ERASE1] = 0x007F,
+ [KEY_ERASEW] = 0x007F,
+};