diff options
Diffstat (limited to 'adb/keymap.c')
| -rw-r--r-- | adb/keymap.c | 163 |
1 files changed, 84 insertions, 79 deletions
diff --git a/adb/keymap.c b/adb/keymap.c index 8a9640482..05ab4c452 100644 --- a/adb/keymap.c +++ b/adb/keymap.c | |||
| @@ -12,103 +12,108 @@ | |||
| 12 | #include "keymap_skel.h" | 12 | #include "keymap_skel.h" |
| 13 | 13 | ||
| 14 | 14 | ||
| 15 | #define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)])) | ||
| 16 | |||
| 15 | // Convert physical keyboard layout to matrix array. | 17 | // Convert physical keyboard layout to matrix array. |
| 16 | // This is a macro to define keymap easily in keyboard layout form. | 18 | // This is a macro to define keymap easily in keyboard layout form. |
| 17 | 19 | /* Apple Extended Keyboard */ | |
| 18 | // TODO: ADB to USB default keymap | ||
| 19 | // TODO: keymap macro template for m0116/m0115 | ||
| 20 | /* Apple Keyboard m0116 | ||
| 21 | K7F, \ | ||
| 22 | K35, K12, K13, K14, K15, K17, K16, K1A, K1C, K19, K1D, K1B, K18, K33, K47, K51, K4B, K43, \ | ||
| 23 | K30, K0C, K0D, K0E, K0F, K10, K11, K20, K22, K1F, K23, K21, K1E, K59, K5B, K5C, K4E, \ | ||
| 24 | K36, K00, K01, K02, K03, K05, K04, K26, K28, K25, K29, K27, K24, K56, K57, K58, K45, \ | ||
| 25 | K38, K06, K07, K08, K09, K0B, K2D, K2E, K2B, K2F, K2C, K7B, K53, K54, K55, \ | ||
| 26 | K39, K3A, K37, K32, K31, K2A, K3B, K3C, K3D, K3E, K52, K41, K4C \ | ||
| 27 | */ | ||
| 28 | |||
| 29 | /* no tenkey | ||
| 30 | K7F, \ | ||
| 31 | K35, K12, K13, K14, K15, K17, K16, K1A, K1C, K19, K1D, K1B, K18, K33, \ | ||
| 32 | K30, K0C, K0D, K0E, K0F, K10, K11, K20, K22, K1F, K23, K21, K1E, \ | ||
| 33 | K36, K00, K01, K02, K03, K05, K04, K26, K28, K25, K29, K27, K24, \ | ||
| 34 | K38, K06, K07, K08, K09, K0B, K2D, K2E, K2B, K2F, K2C, K7B, \ | ||
| 35 | K39, K3A, K37, K32, K31, K2A, K3B, K3C, K3D, K3E \ | ||
| 36 | */ | ||
| 37 | #define KEYMAP( \ | 20 | #define KEYMAP( \ |
| 38 | K7F, \ | 21 | K35, K7A,K78,K63,K76, K60,K61,K62,K64, K65,K6D,K67,K6F, K69,K6B,K71, K7F, \ |
| 39 | K35, K12, K13, K14, K15, K17, K16, K1A, K1C, K19, K1D, K1B, K18, K33, \ | 22 | K32,K12,K13,K14,K15,K17,K16,K1A,K1C,K19,K1D,K1B,K18,K33, K72,K73,K74, K47,K51,K4B,K43, \ |
| 40 | K30, K0C, K0D, K0E, K0F, K10, K11, K20, K22, K1F, K23, K21, K1E, \ | 23 | K30,K0C,K0D,K0E,K0F,K11,K10,K20,K22,K1F,K23,K21,K1E,K2A, K75,K77,K79, K59,K5B,K5C,K4E, \ |
| 41 | K36, K00, K01, K02, K03, K05, K04, K26, K28, K25, K29, K27, K24, \ | 24 | K39,K00,K01,K02,K03,K05,K04,K26,K28,K25,K29,K27, K24, K56,K57,K58,K45, \ |
| 42 | K38, K06, K07, K08, K09, K0B, K2D, K2E, K2B, K2F, K2C, K7B, \ | 25 | K38,K06,K07,K08,K09,K0B,K2D,K2E,K2B,K2F,K2C, K7B, K3E, K53,K54,K55, \ |
| 43 | K39, K3A, K37, K32, K31, K2A, K3B, K3C, K3D, K3E \ | 26 | K36,K3A,K37, K31, K3B,K3D,K3C, K52, K41,K4C \ |
| 44 | ) { \ | 27 | ) { \ |
| 45 | { K00, K01, K02, K03, K04, K05, K06, K07 }, \ | 28 | { KB_##K00, KB_##K01, KB_##K02, KB_##K03, KB_##K04, KB_##K05, KB_##K06, KB_##K07 }, \ |
| 46 | { K08, K09, 000, K0B, K0C, K0D, K0E, K0F }, \ | 29 | { KB_##K08, KB_##K09, KB_NO, KB_##K0B, KB_##K0C, KB_##K0D, KB_##K0E, KB_##K0F }, \ |
| 47 | { K10, K11, K12, K13, K14, K15, K16, K17 }, \ | 30 | { KB_##K10, KB_##K11, KB_##K12, KB_##K13, KB_##K14, KB_##K15, KB_##K16, KB_##K17 }, \ |
| 48 | { K18, K19, K1A, K1B, K1C, K1D, K1E, K1F }, \ | 31 | { KB_##K18, KB_##K19, KB_##K1A, KB_##K1B, KB_##K1C, KB_##K1D, KB_##K1E, KB_##K1F }, \ |
| 49 | { K20, K21, K22, K23, K24, K25, K26, K27 }, \ | 32 | { KB_##K20, KB_##K21, KB_##K22, KB_##K23, KB_##K24, KB_##K25, KB_##K26, KB_##K27 }, \ |
| 50 | { K28, K29, K2A, K2B, K2C, K2D, K2E, K2F }, \ | 33 | { KB_##K28, KB_##K29, KB_##K2A, KB_##K2B, KB_##K2C, KB_##K2D, KB_##K2E, KB_##K2F }, \ |
| 51 | { K30, K31, K32, K33, 000, K35, K36, K37 }, \ | 34 | { KB_##K30, KB_##K31, KB_##K32, KB_##K33, KB_NO, KB_##K35, KB_##K36, KB_##K37 }, \ |
| 52 | { K38, K39, K3A, K3B, K3C, K3D, K3E, 000 }, \ | 35 | { KB_##K38, KB_##K39, KB_##K3A, KB_##K3B, KB_##K3C, KB_##K3D, KB_##K3E, KB_NO }, \ |
| 53 | { 000, 000, 000, 000, 000, 000, 000, 000 }, \ | 36 | { KB_NO, KB_##K41, KB_NO, KB_##K43, KB_NO, KB_##K45, KB_NO, KB_##K47 }, \ |
| 54 | { 000, 000, 000, 000, 000, 000, 000, 000 }, \ | 37 | { KB_NO, KB_NO, KB_NO, KB_##K4B, KB_##K4C, KB_NO, KB_##K4E, KB_NO }, \ |
| 55 | { 000, 000, 000, 000, 000, 000, 000, 000 }, \ | 38 | { KB_NO, KB_##K51, KB_##K52, KB_##K53, KB_##K54, KB_##K55, KB_##K56, KB_##K57 }, \ |
| 56 | { 000, 000, 000, 000, 000, 000, 000, 000 }, \ | 39 | { KB_##K58, KB_##K59, KB_NO, KB_##K5B, KB_##K5C, KB_NO, KB_NO, KB_NO }, \ |
| 57 | { 000, 000, 000, 000, 000, 000, 000, 000 }, \ | 40 | { KB_##K60, KB_##K61, KB_##K62, KB_##K63, KB_##K64, KB_##K65, KB_NO, KB_##K67 }, \ |
| 58 | { 000, 000, 000, 000, 000, 000, 000, 000 }, \ | 41 | { KB_NO, KB_##K69, KB_NO, KB_##K6B, KB_NO, KB_##K6D, KB_NO, KB_##K6F }, \ |
| 59 | { 000, 000, 000, 000, 000, 000, 000, 000 }, \ | 42 | { KB_NO, KB_##K71, KB_##K72, KB_##K73, KB_##K74, KB_##K75, KB_##K76, KB_##K77 }, \ |
| 60 | { 000, 000, 000, K7B, 000, 000, 000, K7F }, \ | 43 | { KB_##K78, KB_##K79, KB_##K7A, KB_##K7B, KB_NO, KB_NO, KB_NO, KB_##K7F } \ |
| 61 | } | 44 | } |
| 62 | 45 | /* plain keymap | |
| 63 | #define KEYCODE(layer, row, col) (pgm_read_byte(&keymaps[(layer)][(row)][(col)])) | 46 | { |
| 47 | { KB_A, KB_S, KB_D, KB_F, KB_H, KB_G, KB_Z, KB_X }, // 00-07 | ||
| 48 | { KB_C, KB_V, KB_NO, KB_B, KB_Q, KB_W, KB_E, KB_R }, // 08-0F | ||
| 49 | { KB_Y, KB_T, KB_1, KB_2, KB_3, KB_4, KB_6, KB_5 }, // 10-17 | ||
| 50 | { KB_EQL, KB_9, KB_7, KB_MINS,KB_8, KB_0, KB_RBRC,KB_O }, // 18-1F | ||
| 51 | { KB_U, KB_LBRC,KB_I, KB_P, KB_ENT, KB_L, KB_J, KB_QUOT}, // 20-27 | ||
| 52 | { KB_K, KB_SCLN,KB_BSLS,KB_COMM,KB_SLSH,KB_N, KB_M, KB_DOT }, // 28-2F | ||
| 53 | { KB_TAB, KB_SPC, KB_GRV, KB_BSPC,KB_NO, KB_ESC, KB_LCTL,KB_LGUI}, // 30-37 | ||
| 54 | { KB_LSFT,KB_CAPS,KB_LALT,KB_LEFT,KB_RGHT,KB_DOWN,KB_UP, KB_NO }, // 38-3F | ||
| 55 | { KB_NO, KB_PDOT,KB_NO, KB_PAST,KB_NO, KB_PPLS,KB_NO, KB_NLCK}, // 40-47 | ||
| 56 | { KB_NO, KB_NO, KB_NO, KB_PSLS,KB_PENT,KB_NO, KB_PMNS,KB_NO }, // 48-4F | ||
| 57 | { KB_NO, KB_PEQL,KB_P0, KB_P1, KB_P2, KB_P3, KB_P4, KB_P5 }, // 50-57 | ||
| 58 | { KB_P6, KB_P7, KB_NO, KB_P8, KB_P9, KB_NO, KB_NO, KB_NO }, // 58-5F | ||
| 59 | { KB_F5, KB_F6, KB_F7, KB_F3, KB_F8, KB_F9, KB_NO, KB_F11 }, // 60-67 | ||
| 60 | { KB_NO, KB_PSCR,KB_NO, KB_SLCK,KB_NO, KB_F10, KB_NO, KB_F12 }, // 68-6F | ||
| 61 | { KB_NO, KB_BRK, KB_INS, KB_HOME,KB_PGUP,KB_DEL, KB_F4, KB_END }, // 70-77 | ||
| 62 | { KB_F2, KB_PGDN,KB_F1, KB_RSFT,KB_NO, KB_NO, KB_NO, KB_PWR }, // 78-7F | ||
| 63 | }, | ||
| 64 | */ | ||
| 64 | 65 | ||
| 65 | 66 | ||
| 66 | // Assign Fn key(0-7) to a layer to which switch with the Fn key pressed. | 67 | // Assign Fn key(0-7) to a layer to which switch with the Fn key pressed. |
| 67 | static const uint8_t PROGMEM fn_layer[] = { | 68 | static const uint8_t PROGMEM fn_layer[] = { |
| 68 | 0, // FN_0 | 69 | 0, // Fn0 |
| 69 | 0, // FN_1 | 70 | 0, // Fn1 |
| 70 | 0, // FN_2 | 71 | 0, // Fn2 |
| 71 | 0, // FN_3 | 72 | 0, // Fn3 |
| 72 | 0, // FN_4 | 73 | 0, // Fn4 |
| 73 | 0, // FN_5 | 74 | 0, // Fn5 |
| 74 | 0, // FN_6 | 75 | 0, // Fn6 |
| 75 | 0 // FN_7 | 76 | 0 // Fn7 |
| 76 | }; | 77 | }; |
| 77 | 78 | ||
| 78 | // Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer. | 79 | // Assign Fn key(0-7) to a keycode sent when release Fn key without use of the layer. |
| 79 | // See layer.c for details. | 80 | // See layer.c for details. |
| 80 | static const uint8_t PROGMEM fn_keycode[] = { | 81 | static const uint8_t PROGMEM fn_keycode[] = { |
| 81 | KB_NO, // FN_0 | 82 | KB_NO, // Fn0 |
| 82 | KB_NO, // FN_1 | 83 | KB_NO, // Fn1 |
| 83 | KB_NO, // FN_2 | 84 | KB_NO, // Fn2 |
| 84 | KB_NO, // FN_3 | 85 | KB_NO, // Fn3 |
| 85 | KB_NO, // FN_4 | 86 | KB_NO, // Fn4 |
| 86 | KB_NO, // FN_5 | 87 | KB_NO, // Fn5 |
| 87 | KB_NO, // FN_6 | 88 | KB_NO, // Fn6 |
| 88 | KB_NO // FN_7 | 89 | KB_NO // Fn7 |
| 89 | }; | 90 | }; |
| 90 | 91 | ||
| 91 | static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | 92 | static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { |
| 92 | /* Layer 0: Default Layer | 93 | /* Default Layer: plain keymap |
| 93 | * ,---------------------------------------------------------. | 94 | * ,---. ,---------------. ,---------------. ,---------------. ,-----------. ,---. |
| 94 | * |Esc| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backs| | 95 | * |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| |Pwr| |
| 95 | * |---------------------------------------------------------| | 96 | * `---' `---------------' `---------------' `---------------' `-----------' `---' |
| 96 | * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | | 97 | * ,-----------------------------------------------------------. ,-----------. ,---------------. |
| 97 | * |-----------------------------------------------------' | | 98 | * | `| 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backspa| |Ins|Hom|PgU| |NmL| =| /| *| |
| 98 | * |Contro| A| S| D| F| G| H| J| K| L|Fn3| '|Return| | 99 | * |-----------------------------------------------------------| |-----------| |---------------| |
| 99 | * |---------------------------------------------------------| | 100 | * |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| \| |Del|End|PgD| | 7| 8| 9| -| |
| 100 | * |Shift | Z| X| C| V| B| N| M| ,| .| /|Shift | | 101 | * |-----------------------------------------------------------| `-----------' |---------------| |
| 101 | * |---------------------------------------------------------| | 102 | * |CapsLo| A| S| D| F| G| H| J| K| L| ;| '|Return | | 4| 5| 6| +| |
| 102 | * |Shi|Alt|Gui l `| | \|Lef|Rig|Dow|Up | | 103 | * |-----------------------------------------------------------| ,---. |---------------| |
| 103 | * `---------------------------------------------------------' | 104 | * |Shift | Z| X| C| V| B| N| M| ,| ,| /|Shift | |Up | | 1| 2| 3| | |
| 105 | * |-----------------------------------------------------------| ,-----------. |-----------|Ent| | ||
| 106 | * |Ctrl |Gui |Alt | Space | | | | |Lef|Dow|Rig| | 0| .| | | ||
| 107 | * `-----------------------------------------------------------' `-----------' `---------------' | ||
| 104 | */ | 108 | */ |
| 105 | KEYMAP(KB_PWR, \ | 109 | KEYMAP( |
| 106 | KB_ESC, KB_1, KB_2, KB_3, KB_4, KB_5, KB_6, KB_7, KB_8, KB_9, KB_0, KB_MINS,KB_EQL, KB_BSPC, \ | 110 | ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, PWR, |
| 107 | KB_TAB, KB_Q, KB_W, KB_E, KB_R, KB_T, KB_Y, KB_U, KB_I, KB_O, KB_P, KB_LBRC,KB_RBRC, \ | 111 | GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, NLCK,EQL, PSLS,PAST, |
| 108 | KB_LCTL,KB_A, KB_S, KB_D, KB_F, KB_G, KB_H, KB_J, KB_K, KB_L, KB_SCLN,KB_QUOT,KB_ENT, \ | 112 | TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, DEL, END, PGDN, P7, P8, P9, PMNS, |
| 109 | KB_LSFT,KB_Z, KB_X, KB_C, KB_V, KB_B, KB_N, KB_M, KB_COMM,KB_DOT, KB_SLSH,KB_RSFT, \ | 113 | CAPS,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, P4, P5, P6, PPLS, |
| 110 | KB_LSFT,KB_LALT,KB_LGUI,KB_GRV, KB_SPC, KB_BSLS,KB_LEFT,KB_RGHT,KB_DOWN,KB_UP), | 114 | LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, P1, P2, P3, |
| 111 | 115 | LCTL,LGUI,LALT, SPC, LEFT,DOWN,RGHT, P0, PDOT,PENT | |
| 116 | ), | ||
| 112 | }; | 117 | }; |
| 113 | 118 | ||
| 114 | 119 | ||
