keyboard stuff

Phantom refactor and Configurator update (#3285)

* Matrix refactor

* Keymap refactor

* Add iso_uk keymap

* Configurator update

* Add LAYOUTS = tkl_ansi tkl_iso to rules.mk

authored by

noroadsleft and committed by
Drashna Jaelre
dad851d4 a3c7f309

+202 -78
+27 -24
keyboards/phantom/info.json
··· 5 5 "width": 18.25, 6 6 "height": 6.5, 7 7 "layouts": { 8 - "KEYMAP": { 8 + "LAYOUT_tkl_ansi": { 9 9 "key_count": 87, 10 10 "layout": [ 11 11 { ··· 459 459 } 460 460 ] 461 461 }, 462 - "KEYMAP_WINKEYLESS": { 462 + "LAYOUT_tkl_ansi_wkl": { 463 463 "key_count": 86, 464 464 "layout": [ 465 465 { ··· 905 905 } 906 906 ] 907 907 }, 908 - "KEYMAP_7BIT": { 908 + "LAYOUT_7bit": { 909 909 "key_count": 101, 910 910 "layout": [ 911 911 { ··· 1412 1412 } 1413 1413 ] 1414 1414 }, 1415 - "KEYMAP_ISO_WINKEYLESS": { 1415 + "LAYOUT_tkl_iso_wkl": { 1416 1416 "key_count": 87, 1417 1417 "layout": [ 1418 1418 { ··· 1648 1648 "y": 2.5 1649 1649 }, 1650 1650 { 1651 - "label": "Enter", 1652 - "x": 13.75, 1653 - "y": 2.5, 1654 - "w": 1.25, 1655 - "h": 2 1656 - }, 1657 - { 1658 1651 "label": "Delete", 1659 1652 "x": 15.25, 1660 1653 "y": 2.5 ··· 1735 1728 "y": 3.5 1736 1729 }, 1737 1730 { 1731 + "label": "Enter", 1732 + "x": 13.75, 1733 + "y": 2.5, 1734 + "w": 1.25, 1735 + "h": 2 1736 + }, 1737 + { 1738 1738 "label": "Shift", 1739 1739 "x": 0, 1740 1740 "y": 4.5, ··· 1861 1861 } 1862 1862 ] 1863 1863 }, 1864 - "KEYMAP_ISO": { 1864 + "LAYOUT_tkl_iso": { 1865 1865 "key_count": 88, 1866 1866 "layout": [ 1867 1867 { ··· 1945 1945 "y": 0 1946 1946 }, 1947 1947 { 1948 - "label": "~", 1948 + "label": "¬", 1949 1949 "x": 0, 1950 1950 "y": 1.5 1951 1951 }, ··· 1955 1955 "y": 1.5 1956 1956 }, 1957 1957 { 1958 - "label": "@", 1958 + "label": "\"", 1959 1959 "x": 2, 1960 1960 "y": 1.5 1961 1961 }, 1962 1962 { 1963 - "label": "#", 1963 + "label": "£", 1964 1964 "x": 3, 1965 1965 "y": 1.5 1966 1966 }, ··· 2097 2097 "y": 2.5 2098 2098 }, 2099 2099 { 2100 - "label": "Enter", 2101 - "x": 13.75, 2102 - "y": 2.5, 2103 - "w": 1.25, 2104 - "h": 2 2105 - }, 2106 - { 2107 2100 "label": "Delete", 2108 2101 "x": 15.25, 2109 2102 "y": 2.5 ··· 2175 2168 "y": 3.5 2176 2169 }, 2177 2170 { 2178 - "label": "\"", 2171 + "label": "@", 2179 2172 "x": 11.75, 2180 2173 "y": 3.5 2181 2174 }, 2182 2175 { 2176 + "label": "~", 2183 2177 "x": 12.75, 2184 2178 "y": 3.5 2185 2179 }, 2186 2180 { 2181 + "label": "Enter", 2182 + "x": 13.75, 2183 + "y": 2.5, 2184 + "w": 1.25, 2185 + "h": 2 2186 + }, 2187 + { 2187 2188 "label": "Shift", 2188 2189 "x": 0, 2189 2190 "y": 4.5, 2190 2191 "w": 1.25 2191 2192 }, 2192 2193 { 2194 + "label": "|", 2193 2195 "x": 1.25, 2194 2196 "y": 4.5 2195 2197 }, ··· 2278 2280 "w": 6.25 2279 2281 }, 2280 2282 { 2281 - "label": "Alt", 2283 + "label": "AltGr", 2282 2284 "x": 10, 2283 2285 "y": 5.5, 2284 2286 "w": 1.25 ··· 2290 2292 "w": 1.25 2291 2293 }, 2292 2294 { 2295 + "label": "Menu", 2293 2296 "x": 12.5, 2294 2297 "y": 5.5, 2295 2298 "w": 1.25
+5 -5
keyboards/phantom/keymaps/default/keymap.c
··· 13 13 * You should have received a copy of the GNU General Public License 14 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 15 */ 16 - #include "phantom.h" 16 + #include QMK_KEYBOARD_H 17 17 18 18 // Helpful defines 19 19 #define _______ KC_TRNS ··· 26 26 #define _FL 1 27 27 28 28 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 29 - [_BL] = KEYMAP( 29 + [_BL] = LAYOUT_tkl_ansi( 30 30 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_BRK, \ 31 31 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ 32 32 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ ··· 34 34 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ 35 35 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 36 36 ), 37 - [_FL] = KEYMAP( 37 + [_FL] = LAYOUT_tkl_ansi( 38 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, \ 39 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 40 - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL, _______, _______, _______, \ 41 - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 40 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 41 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL, \ 42 42 _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 43 43 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 44 44 ),
+1 -1
keyboards/phantom/keymaps/default/readme.md
··· 42 42 43 43 ## Building 44 44 45 - To build the firmware with the default keymap, run `make default`. 45 + To build the firmware with the default keymap, run `make phantom:default`.
+77
keyboards/phantom/keymaps/iso_uk/keymap.c
··· 1 + /* Copyright 2017 Mathias Andersson <wraul@dbox.se> 2 + * 3 + * This program is free software: you can redistribute it and/or modify 4 + * it under the terms of the GNU General Public License as published by 5 + * the Free Software Foundation, either version 2 of the License, or 6 + * (at your option) any later version. 7 + * 8 + * This program is distributed in the hope that it will be useful, 9 + * but WITHOUT ANY WARRANTY; without even the implied warranty of 10 + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 + * GNU General Public License for more details. 12 + * 13 + * You should have received a copy of the GNU General Public License 14 + * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 + */ 16 + #include QMK_KEYBOARD_H 17 + 18 + // Helpful defines 19 + #define _______ KC_TRNS 20 + 21 + // Each layer gets a name for readability, which is then used in the keymap matrix below. 22 + // The underscores don't mean anything - you can have a layer called STUFF or any other name. 23 + // Layer names don't all need to be of the same length, obviously, and you can also skip them 24 + // entirely and just use numbers. 25 + #define _BL 0 26 + #define _FL 1 27 + 28 + const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 29 + [_BL] = LAYOUT_tkl_iso( 30 + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_BRK, \ 31 + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ 32 + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_DEL, KC_END, KC_PGDN, \ 33 + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_NUHS, KC_ENT, \ 34 + KC_LSFT, KC_NUBS, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ 35 + KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 36 + ), 37 + [_FL] = LAYOUT_tkl_iso( 38 + _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, \ 39 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 40 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 41 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL, \ 42 + _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 43 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 44 + ), 45 + }; 46 + 47 + const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) 48 + { 49 + // MACRODOWN only works in this function 50 + switch(id) { 51 + case 0: 52 + if (record->event.pressed) { 53 + register_code(KC_RSFT); 54 + } else { 55 + unregister_code(KC_RSFT); 56 + } 57 + break; 58 + } 59 + return MACRO_NONE; 60 + }; 61 + 62 + 63 + void matrix_init_user(void) { 64 + 65 + } 66 + 67 + void matrix_scan_user(void) { 68 + 69 + } 70 + 71 + bool process_record_user(uint16_t keycode, keyrecord_t *record) { 72 + return true; 73 + } 74 + 75 + void led_set_user(uint8_t usb_led) { 76 + 77 + }
+45
keyboards/phantom/keymaps/iso_uk/readme.md
··· 1 + # Keymap for a standard winkey ISO-UK configuration of the Phantom 2 + 3 + A basic keymap intended for a Phantom using the standard ISO layout. 4 + 5 + See [keymap.c](keymap.c) for details. 6 + 7 + ## Layers 8 + 9 + The keymap have two layers. To access the functions on the second layer, hold down `Fn` and press the corresponding key. 10 + 11 + ### Layer 1: Default Layer 12 + ,---. ,---------------. ,---------------. ,---------------. ,-----------. 13 + |Esc| |F1 |F2 |F3 |F4 | |F5 |F6 |F7 |F8 | |F9 |F10|F11|F12| |PrS|ScL|Pau| 14 + `---' `---------------' `---------------' `---------------' `-----------' 15 + ,-----------------------------------------------------------. ,-----------. 16 + |¬ | 1| 2| 3| 4| 5| 6| 7| 8| 9| 0| -| =|Backsp | |Ins|Hom|PgU| 17 + |-----------------------------------------------------------| |-----------| 18 + |Tab | Q| W| E| R| T| Y| U| I| O| P| [| ]| | |Del|End|PgD| 19 + |------------------------------------------------------. | '-----------' 20 + |Caps | A| S| D| F| G| H| J| K| L| ;| '| #|Ret | 21 + |-----------------------------------------------------------| ,---. 22 + |Shft| \| Z| X| C| V| B| N| M| ,| .| /|Shift | |Up | 23 + |-----------------------------------------------------------| ,-----------. 24 + |Ctrl|GUI |Alt | Space |Alt |GUI |Fn |Ctl | |Lef|Dow|Rig| 25 + `-----------------------------------------------------------' `-----------' 26 + 27 + ### Layer 2: Function Layer 28 + ,---. ,---------------. ,---------------. ,---------------. ,-----------. 29 + | | | | | | | | | | | | |Stp|Ply|Prv|Nxt| |Mut|Vo-|Vo+| 30 + `---' `---------------' `---------------' `---------------' `-----------' 31 + ,-----------------------------------------------------------. ,-----------. 32 + | | | | | | | | | | | | | | | | | | | 33 + |-----------------------------------------------------------| |-----------| 34 + | | | | | | | | | | | | | | | | | | | 35 + |------------------------------------------------------. | '-----------' 36 + | | | | | | | | | | | | | |MSel| 37 + |-----------------------------------------------------------| ,---. 38 + | | | |Cal| | | | | | | | | | | 39 + |-----------------------------------------------------------| ,-----------. 40 + | | | | | | | | | | | | | 41 + `-----------------------------------------------------------' `-----------' 42 + 43 + ## Building 44 + 45 + To build the firmware with this keymap, run `make phantom:iso_uk`.
+3 -3
keyboards/phantom/keymaps/rgbmod/keymap.c
··· 13 13 * You should have received a copy of the GNU General Public License 14 14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 15 */ 16 - #include "phantom.h" 16 + #include QMK_KEYBOARD_H 17 17 18 18 // Helpful defines 19 19 #define _______ KC_TRNS ··· 26 26 #define _FL 1 27 27 28 28 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 29 - [_BL] = KEYMAP( 29 + [_BL] = LAYOUT_tkl_ansi( 30 30 KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ 31 31 KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ 32 32 KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ ··· 34 34 KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ 35 35 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 36 36 ), 37 - [_FL] = KEYMAP( 37 + [_FL] = LAYOUT_tkl_ansi( 38 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 39 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, \ 40 40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \
+33 -36
keyboards/phantom/keymaps/xyverz/keymap.c
··· 1 - #include "phantom.h" 2 - #include "action_layer.h" 3 - #include "eeconfig.h" 1 + #include QMK_KEYBOARD_H 4 2 5 3 extern keymap_config_t keymap_config; 6 4 ··· 28 26 29 27 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 30 28 31 - [_QW] = { /* Layer 0: Qwerty */ 32 - {KC_ESC, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS}, 33 - {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC, KC_INS, KC_HOME, KC_PGUP}, 34 - {KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN}, 35 - {KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, XXXXXXX, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX}, 36 - {KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT, XXXXXXX, KC_UP, XXXXXXX}, 37 - {KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT} 38 - }, 29 + [_QW] = LAYOUT_tkl_ansi( /* Layer 0: Qwerty */ \ 30 + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ 31 + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ 32 + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ 33 + KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, \ 34 + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ 35 + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT \ 36 + ), 39 37 40 - [_DV] = { /* Layer 1: Dvorak */ 41 - {KC_ESC, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS}, 42 - {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, XXXXXXX, KC_BSPC, KC_INS, KC_HOME, KC_PGUP}, 43 - {KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL, KC_END, KC_PGDN}, 44 - {KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, XXXXXXX, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX}, 45 - {KC_LSFT, XXXXXXX, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, XXXXXXX, KC_RSFT, XXXXXXX, KC_UP, XXXXXXX}, 46 - {KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT} 47 - }, 38 + [_DV] = LAYOUT_tkl_ansi( /* Layer 1: Dvorak */ \ 39 + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ 40 + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_LBRC, KC_RBRC, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ 41 + KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_SLSH, KC_EQL, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ 42 + KC_CAPS, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_MINS, KC_ENT, \ 43 + KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, KC_UP, \ 44 + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT \ 45 + ), 48 46 49 - [_CM] = { /* Layer 2: Colemak */ 50 - {KC_ESC, KC_GRV, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS}, 51 - {KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, XXXXXXX, KC_BSPC, KC_INS, KC_HOME, KC_PGUP}, 52 - {KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN}, 53 - {KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, XXXXXXX, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX}, 54 - {KC_LSFT, XXXXXXX, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, XXXXXXX, KC_RSFT, XXXXXXX, KC_UP, XXXXXXX}, 55 - {KC_LCTL, KC_LALT, KC_LGUI, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_SPC, XXXXXXX, XXXXXXX, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT} 56 - }, 57 - 58 - [_FL] = { /* Layer 3: Functions */ 59 - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______}, 60 - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, RESET, KC_MPRV, KC_MPLY, KC_MNXT}, 61 - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU}, 62 - {_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX}, 63 - {_______, XXXXXXX, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX, _______, XXXXXXX}, 64 - {QWERTY, DVORAK, COLEMAK, _______, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, _______, _______, _______, _______, _______, _______, _______}, 65 - }, 47 + [_CM] = LAYOUT_tkl_ansi( /* Layer 2: Colemak */ \ 48 + KC_ESC, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_PSCR, KC_SLCK, KC_PAUS, \ 49 + KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_INS, KC_HOME, KC_PGUP, \ 50 + KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_LBRC, KC_RBRC, KC_BSLS, KC_DEL, KC_END, KC_PGDN, \ 51 + KC_BSPC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_ENT, \ 52 + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_UP, \ 53 + KC_LCTL, KC_LALT, KC_LGUI, KC_SPC, KC_RGUI, KC_RALT, KC_RCTL, MO(_FL), KC_LEFT, KC_DOWN, KC_RGHT \ 54 + ), 66 55 56 + [_FL] = LAYOUT_tkl_ansi( /* Layer 3: Functions */ \ 57 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 58 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, KC_MPRV, KC_MPLY, KC_MNXT, \ 59 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MUTE, KC_VOLD, KC_VOLU, \ 60 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 61 + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 62 + QWERTY, DVORAK, COLEMAK, _______, _______, _______, _______, _______, _______, _______, _______ \ 63 + ), 67 64 68 65 }; 69 66
+9 -9
keyboards/phantom/phantom.h
··· 19 19 #include "quantum.h" 20 20 21 21 // Keymap utilizing all the possible keys on the PCB. 22 - #define KEYMAP_7BIT( \ 22 + #define LAYOUT_7bit( \ 23 23 K00, K53, K02, K03, K04, K05, K56, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 24 24 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ 25 25 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ ··· 38 38 39 39 40 40 // Keymap for a standard ANSI layout. 41 - #define KEYMAP( \ 41 + #define LAYOUT_tkl_ansi( \ 42 42 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 43 43 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 44 44 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 45 45 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ 46 46 K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 47 47 K50, K51, K52, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 48 - ) KEYMAP_7BIT( \ 48 + ) LAYOUT_7bit( \ 49 49 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 50 50 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 51 51 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ ··· 54 54 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 55 55 ) 56 56 57 - #define KEYMAP_WINKEYLESS( \ 57 + #define LAYOUT_tkl_ansi_wkl( \ 58 58 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 59 59 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 60 60 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 61 61 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ 62 62 K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 63 63 K50, K51, K52, K57, K5B, K5C, K5D, K5E, K5F, K5G \ 64 - ) KEYMAP_7BIT( \ 64 + ) LAYOUT_7bit( \ 65 65 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 66 66 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 67 67 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ ··· 70 70 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, KC_NO, K5B, K5C, K5D, K5E, K5F, K5G \ 71 71 ) 72 72 73 - #define KEYMAP_ISO( \ 73 + #define LAYOUT_tkl_iso( \ 74 74 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 75 75 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 76 76 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ 77 77 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ 78 78 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 79 79 K50, K51, K52, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 80 - ) KEYMAP_7BIT( \ 80 + ) LAYOUT_7bit( \ 81 81 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 82 82 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 83 83 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F, K2G, \ ··· 86 86 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 87 87 ) 88 88 89 - #define KEYMAP_ISO_WINKEYLESS( \ 89 + #define LAYOUT_tkl_iso_wkl( \ 90 90 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 91 91 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 92 92 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ 93 93 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ 94 94 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 95 95 K50, K51, K52, K57, K5B, K5C, K5D, K5E, K5F, K5G \ 96 - ) KEYMAP_7BIT( \ 96 + ) LAYOUT_7bit( \ 97 97 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 98 98 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 99 99 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F, K2G, \
+2
keyboards/phantom/rules.mk
··· 67 67 BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID 68 68 AUDIO_ENABLE = no # Audio output on port C6 69 69 FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches 70 + 71 + LAYOUTS = tkl_ansi tkl_iso