Merge branch 'adb_kbd_jp_fix'
This commit is contained in:
commit
6a57412d21
4 changed files with 103 additions and 96 deletions
|
|
@ -36,7 +36,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
|
||||
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
|
||||
|
|
|
|||
|
|
@ -27,59 +27,57 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
* |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
|
||||
|
|
|
|||
|
|
@ -18,7 +18,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
|
|||
|
||||
|
||||
#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
|
||||
),
|
||||
};
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue