diff --git a/converter/adb_usb/matrix.c b/converter/adb_usb/matrix.c index 7f7066d6..c4ef2705 100644 --- a/converter/adb_usb/matrix.c +++ b/converter/adb_usb/matrix.c @@ -36,7 +36,11 @@ along with this program. If not, see . static bool has_media_keys = false; -static bool is_iso_layout = false; +static enum { + ADB_LAYOUT_ANSI, + ADB_LAYOUT_ISO, + ADB_LAYOUT_JIS +} adb_layout = ADB_LAYOUT_ANSI; // matrix state buffer(1:on, 0:off) @@ -64,7 +68,7 @@ static void keyboard_init(void) // Check if there is keyboard at default address reg3 = adb_host_talk(ADB_ADDR_KEYBOARD, ADB_REG_3); if (reg3) { - xprintf("K:found: reg3:%04X\n", reg3); + xprintf("K:Found: reg3:%04X\n", reg3); adb_host_listen(ADB_ADDR_KEYBOARD, ADB_REG_3, ((reg3 >> 8) & 0xF0) | ADB_ADDR_KBD_TMP, 0xFE); } @@ -75,20 +79,30 @@ static void keyboard_init(void) } xprintf("K:TMP: reg3:%04X\n", reg3); - // Determine ISO keyboard by handler id - // http://lxr.free-electrons.com/source/drivers/macintosh/adbhid.c?v=4.4#L815 + // https://elixir.bootlin.com/linux/v5.17.4/source/drivers/macintosh/adbhid.c#L802 handler = reg3 & 0xFF; switch (handler) { + case 0x01: case 0x02: case 0x03: case 0x06: case 0x08: + case 0x0C: case 0x10: case 0x18: case 0x1B: case 0x1C: + case 0xC0: case 0xC3: case 0xC6: + adb_layout = ADB_LAYOUT_ANSI; + break; case 0x04: case 0x05: case 0x07: case 0x09: case 0x0D: case 0x11: case 0x14: case 0x19: case 0x1D: case 0xC1: case 0xC4: case 0xC7: - is_iso_layout = true; + adb_layout = ADB_LAYOUT_ISO; + break; + case 0x12: case 0x15: case 0x16: case 0x17: case 0x1A: + case 0x1E: case 0xC2: case 0xC5: case 0xC8: case 0xC9: + adb_layout = ADB_LAYOUT_JIS; break; default: - is_iso_layout = false; + adb_layout = ADB_LAYOUT_ANSI; break; } - xprintf("K:ISO: %s\n", (is_iso_layout ? "yes" : "no")); + xprintf("K:Layout: %s\n", (adb_layout == ADB_LAYOUT_ANSI ? "ANSI" : ( + adb_layout == ADB_LAYOUT_ISO ? "ISO" : ( + adb_layout == ADB_LAYOUT_JIS ? "JIS" : "???")))); // Adjustable keyboard media keys: address=0x07 and handlerID=0x02 has_media_keys = (0x02 == (adb_host_talk(ADB_ADDR_APPLIANCE, ADB_REG_3) & 0xff)); @@ -693,7 +707,7 @@ uint8_t matrix_scan(void) key1 = 0xFF; } - /* Swap codes for ISO keyboard + /* Keyboard code translation * https://github.com/tmk/tmk_keyboard/issues/35 * * ANSI @@ -704,8 +718,8 @@ uint8_t matrix_scan(void) * |----------- ----------| * |CapsLo| A| '|Return | * |----------- ----------| - * |Shift | Shift | - * `----------- ----------' + * |Shift | |Shift | + * |----------- ----------| * * ISO * ,----------- ----------. @@ -715,27 +729,49 @@ uint8_t matrix_scan(void) * |----------- -----` | * |CapsLo| A| '| *c| | * |----------- ----------| - * |Shif| *b| Shift | - * `----------- ----------' + * |Shif| *b| |Shift | + * |----------- ----------| * - * ADB scan code USB usage - * ------------- --------- - * Key ANSI ISO ANSI ISO - * --------------------------------------------- - * *a 0x32 0x0A GRAVE GRAVE - * *b ---- 0x32 ---- NUBS - * *c 0x2A 0x70 BSLASH NUHS + * JIS + * ,----------- ----------. + * | *a| 1| 2 =| *d| BS| + * |----------- ----------| + * |Tab | Q| | [|Retur| + * |----------- -----` | + * |CapsLo| A| :| *c| | + * |----------- ----------| + * |Shift | | *e| Shift| + * |----------- ----------| + * + * ADB scan code USB usage + * ------------- --------- + * Key ANSI ISO JIS ANSI ISO JIS + * --------------------------------------------------- + * *a 0x32 0x0A 0x32 GRAVE GRAVE GRAVE + * *b ---- 0x32 ---- ---- NUBS ---- + * *c 0x2A 0x70 0x2A BSLASH NUHS NUHS + * *d ---- ---- 0x5D ---- ---- JPY + * *e ---- ---- 0x5E ---- ---- RO */ - if (is_iso_layout) { + if (adb_layout == ADB_LAYOUT_ISO) { + // 32 <-> 0A if ((key0 & 0x7F) == 0x32) { key0 = (key0 & 0x80) | 0x0A; } else if ((key0 & 0x7F) == 0x0A) { key0 = (key0 & 0x80) | 0x32; } + // 2A -> 70 if ((key0 & 0x7F) == 0x2A) { key0 = (key0 & 0x80) | 0x70; } } + if (adb_layout == ADB_LAYOUT_JIS) { + // 2A -> 70 + if ((key0 & 0x7F) == 0x2A) { + key0 = (key0 & 0x80) | 0x70; + } + } + register_key(key0); if (key1 != 0xFF) // key1 is 0xFF when no second key. extra_key = key1<<8 | 0xFF; // process in a separate call diff --git a/converter/adb_usb/unimap_common.h b/converter/adb_usb/unimap_common.h index 81922137..397dc887 100644 --- a/converter/adb_usb/unimap_common.h +++ b/converter/adb_usb/unimap_common.h @@ -27,59 +27,57 @@ along with this program. If not, see . * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |F24| * `---' `---------------' `---------------' `---------------' `-----------' `---' * ,-----------------------------------------------------------. ,-----------. ,---------------. ,---. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backspa| |Ins|Hom|PgU| |NmL| =| /| *| |VUp| + * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY| BS| |Ins|Hom|PgU| |NmL| =| /| *| |VUp| * |-----------------------------------------------------------| |-----------| |---------------| |---| * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| -| |VDn| * |-----------------------------------------------------------| `-----------' |---------------| |---| * |CapsLo| A| S| D| F| G| H| J| K| L| ;| '| #| Ret| | 4| 5| 6| +| |Mut| * |-----------------------------------------------------------| ,---. |---------------| `---' - * |Shif| <| Z| X| C| V| B| N| M| ,| ,| /|Shift | |Up | | 1| 2| 3| | + * |Shif| <| Z| X| C| V| B| N| M| ,| ,| /| RO| Shift| |Up | | 1| 2| 3| | * |-----------------------------------------------------------| ,-----------. |-----------|Ent| ,---. - * |Ctrl |Opt |Gui | Space |Gui* |Opt |Ctrl | |Lef|Dow|Rig| | 0| .| | |F13| + * |Ctrl |Opt |Cmd |Eng| Space |Jpn|Ent|Cmd* |Opt |Ctrl | |Lef|Dow|Rig| | 0| ,| .| | |F13| * `-----------------------------------------------------------' `-----------' `---------------' `---' + * Eng:英数, Jpn:かな * * ,---. .---------------. ,---------------. ,---------------. ,-----------. ,---. * | 35| | 7A| 78| 63| 76| | 60| 61| 62| 64| | 65| 6D| 67| 6F| | 69| 6B| 71| | 7F| * `---' `---------------' `---------------' `---------------' `-----------' `---' * ,-----------------------------------------------------------. ,-----------. ,---------------. ,---. - * |*32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18| 33 | | 72| 73| 74| | 47| 51| 4B| 43| | 48| + * |*32| 12| 13| 14| 15| 17| 16| 1A| 1C| 19| 1D| 1B| 18| 5D| 33| | 72| 73| 74| | 47| 51| 4B| 43| | 48| * |-----------------------------------------------------------| |-----------| |---------------| |---| - * | 30 | 0C| 0D| 0E| 0F| 10| 11| 20| 22| 1F| 23| 21| 1E| 2A | | 75| 77| 79| | 59| 5B| 5C| 4E| | 49| + * | 30 | 0C| 0D| 0E| 0F| 11| 10| 20| 22| 1F| 23| 21| 1E| 2A | | 75| 77| 79| | 59| 5B| 5C| 4E| | 49| * |-----------------------------------------------------------| `-----------' |---------------| |---| * | 39 | 00| 01| 02| 03| 05| 04| 26| 28| 25| 29| 27|*70| 24 | | 56| 57| 58| 45| | 4A| * |-----------------------------------------------------------| ,---. |---------------| `---' - * | 38 |*0A| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C| 7B | | 3E| | 53| 54| 55| | + * | 38 |*0A| 06| 07| 08| 09| 0B| 2D| 2E| 2B| 2F| 2C| 5E| 7B | | 3E| | 53| 54| 55| | * |-----------------------------------------------------------| ,-----------. |-----------| 4C| ,---. - * | 36 | 3A | 37 | 31 | 37 | 7C | 7D | | 3B| 3D| 3C| | 52 | 41| | | 42| + * | 36 | 3A | 37 | 66| 31 | 68| 6A| *37 | 7C | 7D | | 3B| 3D| 3C| | 52| 5F| 41| | | 42| * `-----------------------------------------------------------' `-----------' `---------------' `---' * NOTE: Not-extended ADB keyboards have no discrimination between left and right modifiers. * Use left ones for mapping. Right modifier always sends same code as left one. * Apple Extended Keyboard can discriminate the modifiers except for Command(GUI) key. - * For Apple ISO keyboard scan code 0A and 32 are swapped and scan code 2A is translated to 70. + * For ISO keyboard scan code 0A and 32 are swapped and scan code 2A is translated to 70. + * For JIS Keyboard scan code 2A is translated to 70. */ #define UNIMAP_ADB( \ K35, K7A,K78,K63,K76,K60,K61,K62,K64,K65,K6D,K67,K6F, K69,K6B,K71, K7F, \ - K32,K12,K13,K14,K15,K17,K16,K1A,K1C,K19,K1D,K1B,K18, K33, K72,K73,K74, K47,K51,K4B,K43, K48, \ - K30,K0C,K0D,K0E,K0F,K10,K11,K20,K22,K1F,K23,K21,K1E, K2A, K75,K77,K79, K59,K5B,K5C,K4E, K49, \ + K32,K12,K13,K14,K15,K17,K16,K1A,K1C,K19,K1D,K1B,K18,K5D,K33, K72,K73,K74, K47,K51,K4B,K43, K48, \ + K30,K0C,K0D,K0E,K0F,K11,K10,K20,K22,K1F,K23,K21,K1E, K2A, K75,K77,K79, K59,K5B,K5C,K4E, K49, \ K39,K00,K01,K02,K03,K05,K04,K26,K28,K25,K29,K27, K70,K24, K56,K57,K58,K45, K4A, \ - K38,K0A,K06,K07,K08,K09,K0B,K2D,K2E,K2B,K2F,K2C, K7B, K3E, K53,K54,K55,K4C, \ - K36,K3A,K37, K31, K7C,K7D, K3B,K3D,K3C, K52,K41, K42 \ + K38,K0A,K06,K07,K08,K09,K0B,K2D,K2E,K2B,K2F,K2C, K5E,K7B, K3E, K53,K54,K55,K4C, \ + K36,K3A,K37,K66, K31, K68,K6A, K7C,K7D, K3B,K3D,K3C, K52,K5F,K41, K42 \ ) UNIMAP( \ K42,NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, K7F, \ K35, K7A,K78,K63,K76,K60,K61,K62,K64,K65,K6D,K67,K6F, K69,K6B,K71, K49,K48,K4A, \ - K32,K12,K13,K14,K15,K17,K16,K1A,K1C,K19,K1D,K1B,K18,NO, K33, K72,K73,K74, K47,K51,K4B,K43, \ - K30,K0C,K0D,K0E,K0F,K10,K11,K20,K22,K1F,K23,K21,K1E, K2A, K75,K77,K79, K59,K5B,K5C,K4E, \ + K32,K12,K13,K14,K15,K17,K16,K1A,K1C,K19,K1D,K1B,K18,K5D,K33, K72,K73,K74, K47,K51,K4B,K43, \ + K30,K0C,K0D,K0E,K0F,K11,K10,K20,K22,K1F,K23,K21,K1E, K2A, K75,K77,K79, K59,K5B,K5C,K4E, \ K39,K00,K01,K02,K03,K05,K04,K26,K28,K25,K29,K27, K70,K24, K56,K57,K58,K45, \ - K38,K0A,K06,K07,K08,K09,K0B,K2D,K2E,K2B,K2F,K2C, NO, K7B, K3E, K53,K54,K55,K4C, \ - K36,K37,K3A,NO, K31, NO, NO, K7C,NO, NO, K7D, K3B,K3D,K3C, K52,K41,NO \ + K38,K0A,K06,K07,K08,K09,K0B,K2D,K2E,K2B,K2F,K2C, K5E,K7B, K3E, K53,K54,K55,K4C, \ + K36,K37,K3A,K66, K31, K68,K6A,K7C,NO, NO, K7D, K3B,K3D,K3C, K52, K41,K5F \ ) -// http://lxr.free-electrons.com/source/drivers/macintosh/adbhid.c -// http://opensource.apple.com//source/IOHIDFamily/IOHIDFamily-701.20.10/IOHIDFamily/Cosmo_USB2ADB.c -// http://m0115.web.fc2.com/m0115.jpg -// Not used: UNIMAP_{F14, F15, F21, F22, KP_EQUAL} -// Not mapped: 0x46, 0x4D, 0x6C +// https://github.com/tmk/tmk_keyboard/wiki/Apple-Desktop-Bus#scan-codes const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { // Position(unimap) ADB scan code(matrix) // --------------------------------------------- @@ -161,14 +159,14 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { UNIMAP_RIGHT, // 0x3C UNIMAP_DOWN, // 0x3D UNIMAP_UP, // 0x3E - UNIMAP_F23, // 0x3F FN? + UNIMAP_NO, // 0x3F FN? }, { - UNIMAP_F17, // 0x40 + UNIMAP_NO, // 0x40 UNIMAP_KP_DOT, // 0x41 UNIMAP_F13, // 0x42 Mic(Adjustable keyboard) UNIMAP_KP_MINUS, // 0x43 ADB keypad asterisk(top right) - UNIMAP_F18, // 0x44 dup + UNIMAP_NO, // 0x44 UNIMAP_KP_COMMA, // 0x45 ADB keypad plus UNIMAP_NO, // 0x46 UNIMAP_NUMLOCK, // 0x47 @@ -181,10 +179,10 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { UNIMAP_KP_ENTER, // 0x4C dup UNIMAP_NO, // 0x4D UNIMAP_KP_PLUS, // 0x4E ADB keypad minus - UNIMAP_F18, // 0x4F dup + UNIMAP_NO, // 0x4F }, { - UNIMAP_F19, // 0x50 + UNIMAP_NO, // 0x50 UNIMAP_KP_SLASH, // 0x51 ADB keypad equal(next to clear/numlock) UNIMAP_KP_0, // 0x52 UNIMAP_KP_1, // 0x53 @@ -196,12 +194,12 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { { UNIMAP_KP_6, // 0x58 UNIMAP_KP_7, // 0x59 - UNIMAP_F20, // 0x5A + UNIMAP_NO, // 0x5A UNIMAP_KP_8, // 0x5B UNIMAP_KP_9, // 0x5C - UNIMAP_JYEN, // 0x5D - UNIMAP_RO, // 0x5E - UNIMAP_KP_COMMA, // 0x5F + UNIMAP_JPY, // 0x5D JIS Yen + UNIMAP_RO, // 0x5E JIS Ro + UNIMAP_KP_COMMA, // 0x5F JIS Keypad-, }, { UNIMAP_F5, // 0x60 @@ -210,13 +208,13 @@ const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = { UNIMAP_F3, // 0x63 UNIMAP_F8, // 0x64 UNIMAP_F9, // 0x65 - UNIMAP_MHEN, // 0x66 + UNIMAP_MHEN, // 0x66 Eisu UNIMAP_F11, // 0x67 }, { - UNIMAP_HENK, // 0x68 + UNIMAP_HENK, // 0x68 Kana UNIMAP_PSCREEN, // 0x69 PrintScreen/F13 - UNIMAP_F16, // 0x6A + UNIMAP_KANA, // 0x6A UNIMAP_SCROLLLOCK, // 0x6B ScrollLock/F14 UNIMAP_NO, // 0x6C UNIMAP_F10, // 0x6D diff --git a/converter/adb_usb/unimap_plain.c b/converter/adb_usb/unimap_plain.c index 1da5f4df..bff9ba4d 100644 --- a/converter/adb_usb/unimap_plain.c +++ b/converter/adb_usb/unimap_plain.c @@ -18,7 +18,7 @@ along with this program. If not, see . #define AC_FN0 ACTION_LAYER_TAP_KEY(1, KC_GRV) -#define AC_FN1 ACTION_LAYER_TAP_KEY(2, KC_BSLS) +#define AC_FN1 ACTION_LAYER_TAP_KEY(1, KC_BSLS) #define AC_PKEY ACTION_MODS_TAP_KEY(MOD_NONE, KC_PWR) #ifdef KEYMAP_SECTION_ENABLE @@ -31,27 +31,24 @@ const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |Pwr| * `---' `---------------' `---------------' `---------------' `-----------' `---' * ,-----------------------------------------------------------. ,-----------. ,---------------. ,---. - * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backspa| |Ins|Hom|PgU| |NmL| =| /| *| |VUp| + * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|JPY| BS| |Ins|Hom|PgU| |NmL| =| /| *| |VUp| * |-----------------------------------------------------------| |-----------| |---------------| |---| - * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|End|PgD| | 7| 8| 9| -| |VDn| + * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \ | |Del|End|PgD| | 7| 8| 9| -| |VDn| * |-----------------------------------------------------------| `-----------' |---------------| |---| - * |CapsLo| A| S| D| F| G| H| J| K| L| ;| '|# |Retn| | 4| 5| 6| +| |Mut| + * |CapsLo| A| S| D| F| G| H| J| K| L| ;| '| #| Ret| | 4| 5| 6| +| |Mut| * |-----------------------------------------------------------| ,---. |---------------| `---' - * |Shif|\ | Z| X| C| V| B| N| M| ,| ,| /|Shift | |Up | | 1| 2| 3| | + * |Shif| <| Z| X| C| V| B| N| M| ,| ,| /| RO| Shift| |Up | | 1| 2| 3| | * |-----------------------------------------------------------| ,-----------. |-----------|Ent| ,---. - * |Ctrl |Opt |Gui | Space |Gui* |Opt |Ctrl | |Lef|Dow|Rig| | 0| .| | |Ply| + * |Ctrl |Opt |Gui |MHN| Space |HNK|Ent|Gui* |Opt |Ctrl | |Lef|Dow|Rig| | 0| ,| .| | |Ply| * `-----------------------------------------------------------' `-----------' `---------------' `---' - * NOTE: Not-extended ADB keyboards have no discrimination between left and right modifiers. - * Use left ones for mapping. Right modifier always sends same code as left one. - * Apple Extended Keyboard can discriminate the modifiers except for Command(GUI) key. */ [0] = UNIMAP_ADB( ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,PAUS, PKEY, - FN0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,EQL, PSLS,PAST, VOLU, + FN0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JPY, BSPC, INS, HOME,PGUP, NLCK,EQL, PSLS,PAST, VOLU, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, FN1, DEL, END, PGDN, P7, P8, P9, PMNS, VOLD, LCAP,A, S, D, F, G, H, J, K, L, SCLN,QUOT, NUHS,ENT, P4, P5, P6, PPLS, MUTE, - LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, P1, P2, P3, PENT, - LCTL,LALT,LGUI, SPC, RALT,RCTL, LEFT,DOWN,RGHT, P0, PDOT, MPLY + LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RO, RSFT, UP, P1, P2, P3, PENT, + LCTL,LALT,LGUI,MHEN, SPC, HENK,KANA, RALT,RCTL, LEFT,DOWN,RGHT, P0, PCMM,PDOT, MPLY ), /* @@ -59,48 +56,23 @@ const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { * | `| | | | | | | | | | | | | | | | | | | | | | * `---' `---------------' `---------------' `---------------' `-----------' `---' * ,-----------------------------------------------------------. ,-----------. ,---------------. ,---. - * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | | | | | | | | | | | | + * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del| | | | | | | | | | | | * |-----------------------------------------------------------| |-----------| |---------------| |---| * | | | | | | | | |PrS|ScL|Pau|Up |INS| | | | | | | | | | | | | * |-----------------------------------------------------------| `-----------' |---------------| |---| * |CapsLo|VoD|VoU|Mut| | | | |Hom|PgU|Lef|Rig|# |Retn| | | | | | | | * |-----------------------------------------------------------| ,---. |---------------| `---' - * | | | | | | | | | |End|PgD|Dow|Shift | |PgU| | | | | | + * | | | | | | | | | |End|PgD|Dow| RO| Shift| |PgU| | | | | | * |-----------------------------------------------------------| ,-----------. |-----------| | ,---. - * | | | | | | | | |Hom|PgD|End| | | | | | | + * | | | | | | | | | | |Hom|PgD|End| | | | | | | | * `-----------------------------------------------------------' `-----------' `---------------' `---' */ [1] = UNIMAP_ADB( GRV, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS, - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, + ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, INS, TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,LEFT,RGHT, TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,DOWN, TRNS, PGUP, TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS, TRNS, TRNS,TRNS, HOME,PGDN,END, TRNS, TRNS, TRNS - ), - - /* - * ,---. .---------------. ,---------------. ,---------------. ,-----------. ,---. - * | `| | | | | | | | | | | | | | | | | | | | | | - * `---' `---------------' `---------------' `---------------' `-----------' `---' - * ,-----------------------------------------------------------. ,-----------. ,---------------. ,---. - * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Delete | | | | | | | | | | | | - * |-----------------------------------------------------------| |-----------| |---------------| |---| - * | | | | | | | | |PrS|ScL|Pau|Up |INS| | | | | | | | | | | | | - * |-----------------------------------------------------------| `-----------' |---------------| |---| - * |CapsLo|VoD|VoU|Mut| | | | |Hom|PgU|Lef|Rig|# |Retn| | | | | | | | - * |-----------------------------------------------------------| ,---. |---------------| `---' - * | | | | | | | | | |End|PgD|Dow|Shift | |PgU| | | | | | - * |-----------------------------------------------------------| ,-----------. |-----------| | ,---. - * | | | | | | | | |Hom|PgD|End| | | | | | | - * `-----------------------------------------------------------' `-----------' `---------------' `---' - */ - [2] = UNIMAP_ADB( - GRV, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS, - ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, DEL, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, INS, TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, - TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,LEFT,RGHT, TRNS,TRNS, TRNS,TRNS,TRNS,TRNS, TRNS, - TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,DOWN, TRNS, PGUP, TRNS,TRNS,TRNS,TRNS, - TRNS,TRNS,TRNS, TRNS, TRNS,TRNS, HOME,PGDN,END, TRNS, TRNS, TRNS + TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,DOWN, TRNS,TRNS, PGUP, TRNS,TRNS,TRNS,TRNS, + TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS, TRNS,TRNS, HOME,PGDN,END, TRNS,TRNS,TRNS, TRNS ), }; diff --git a/tmk_core/common/unimap.h b/tmk_core/common/unimap.h index cd00e1d7..9192f7ed 100644 --- a/tmk_core/common/unimap.h +++ b/tmk_core/common/unimap.h @@ -264,6 +264,7 @@ enum unimap_position_codes { #define UNIMAP_NUBS UNIMAP_NONUS_BSLASH /* Japanese specific */ #define UNIMAP_ZKHK UNIMAP_GRAVE +#define UNIMAP_JPY UNIMAP_JYEN /* Keypad */ #define UNIMAP_P1 UNIMAP_KP_1 #define UNIMAP_P2 UNIMAP_KP_2