aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--keyboards/phantom/config.h158
-rw-r--r--keyboards/phantom/info.json3441
-rw-r--r--keyboards/phantom/keymaps/default/config.h19
-rw-r--r--keyboards/phantom/keymaps/default/keymap.c55
-rw-r--r--keyboards/phantom/keymaps/iso_uk/keymap.c71
-rw-r--r--keyboards/phantom/keymaps/rgbmod/config.h24
-rw-r--r--keyboards/phantom/keymaps/rgbmod/keymap.c71
-rw-r--r--keyboards/phantom/keymaps/rgbmod/rules.mk35
-rw-r--r--keyboards/phantom/phantom.c46
-rw-r--r--keyboards/phantom/phantom.h176
-rw-r--r--keyboards/phantom/readme.md15
-rw-r--r--keyboards/phantom/rules.mk18
12 files changed, 878 insertions, 3251 deletions
diff --git a/keyboards/phantom/config.h b/keyboards/phantom/config.h
index 4ca731f2d..a5d135a4b 100644
--- a/keyboards/phantom/config.h
+++ b/keyboards/phantom/config.h
@@ -15,59 +15,86 @@ You should have received a copy of the GNU General Public License
15along with this program. If not, see <http://www.gnu.org/licenses/>. 15along with this program. If not, see <http://www.gnu.org/licenses/>.
16*/ 16*/
17 17
18#ifndef CONFIG_H 18#pragma once
19#define CONFIG_H
20 19
21#include "config_common.h" 20#include "config_common.h"
22 21
23/* USB Device descriptor parameter */ 22/* USB Device descriptor parameter */
24#define VENDOR_ID 0xFEED 23#define VENDOR_ID 0xFEED
25#define PRODUCT_ID 0x6060 24#define PRODUCT_ID 0x5B50
26#define DEVICE_VER 0x0003 25#define DEVICE_VER 0x0003
27#define MANUFACTURER bpiphany 26#define MANUFACTURER bpiphany
28#define PRODUCT PHANTOM 27#define PRODUCT PHANTOM
29#define DESCRIPTION QMK keyboard firmware for PHANTOM
30 28
31/* key matrix size */ 29/* key matrix size */
32#define MATRIX_ROWS 6 30#define MATRIX_ROWS 6
33#define MATRIX_COLS 17 31#define MATRIX_COLS 17
34 32
35// ROWS: Top to bottom, COLS: Left to right 33/*
36/* Row pin configuration 34 * Keyboard Matrix Assignments
37*/ 35 *
38#define MATRIX_ROW_PINS { B5, B4, B3, B2, B1, B0 } 36 * Change this to how you wired your keyboard
39/* Column pin configuration 37 * COLS: AVR pins used for columns, left to right
38 * ROWS: AVR pins used for rows, top to bottom
39 * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
40 * ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
41 *
40 */ 42 */
43#define MATRIX_ROW_PINS { B5, B4, B3, B2, B1, B0 }
41#define MATRIX_COL_PINS { D5, C7, C6, D4, D0, E6, F0, F1, F4, F5, F6, F7, D7, D6, D1, D2, D3 } 44#define MATRIX_COL_PINS { D5, C7, C6, D4, D0, E6, F0, F1, F4, F5, F6, F7, D7, D6, D1, D2, D3 }
42#define UNUSED_PINS 45#define UNUSED_PINS
43 46
44/* COL2ROW or ROW2COL */ 47/* COL2ROW, ROW2COL */
45#define DIODE_DIRECTION ROW2COL 48#define DIODE_DIRECTION ROW2COL
46 49
47// #define BACKLIGHT_PIN B7 50// #define BACKLIGHT_PIN B7
48// #define BACKLIGHT_BREATHING
49// #define BACKLIGHT_LEVELS 3 51// #define BACKLIGHT_LEVELS 3
52// #define BACKLIGHT_BREATHING
50 53
51/* Underlight configuration
52 */
53#define RGB_DI_PIN E2 54#define RGB_DI_PIN E2
54#define RGBLIGHT_ANIMATIONS 55#ifdef RGB_DI_PIN
55#define RGBLED_NUM 20 // Number of LEDs 56# define RGBLED_NUM 20
56#define RGBLIGHT_HUE_STEP 10 57# define RGBLIGHT_HUE_STEP 10
57#define RGBLIGHT_SAT_STEP 17 58# define RGBLIGHT_SAT_STEP 17
58#define RGBLIGHT_VAL_STEP 17 59# define RGBLIGHT_VAL_STEP 17
59 60//# define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */
60/* define if matrix has ghost */ 61//# define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */
61//#define MATRIX_HAS_GHOST 62/*== all animations enable ==*/
63# define RGBLIGHT_ANIMATIONS
64/*== or choose animations ==*/
65//# define RGBLIGHT_EFFECT_BREATHING
66//# define RGBLIGHT_EFFECT_RAINBOW_MOOD
67//# define RGBLIGHT_EFFECT_RAINBOW_SWIRL
68//# define RGBLIGHT_EFFECT_SNAKE
69//# define RGBLIGHT_EFFECT_KNIGHT
70//# define RGBLIGHT_EFFECT_CHRISTMAS
71//# define RGBLIGHT_EFFECT_STATIC_GRADIENT
72//# define RGBLIGHT_EFFECT_RGB_TEST
73//# define RGBLIGHT_EFFECT_ALTERNATING
74/*== customize breathing effect ==*/
75/*==== (DEFAULT) use fixed table instead of exp() and sin() ====*/
76//# define RGBLIGHT_BREATHE_TABLE_SIZE 256 // 256(default) or 128 or 64
77/*==== use exp() and sin() ====*/
78//# define RGBLIGHT_EFFECT_BREATHE_CENTER 1.85 // 1 to 2.7
79//# define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255
80#endif
62 81
63/* Set 0 if debouncing isn't needed */ 82/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
64#define DEBOUNCE 5 83#define DEBOUNCE 5
65 84
85/* define if matrix has ghost (lacks anti-ghosting diodes) */
86//#define MATRIX_HAS_GHOST
87
66/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ 88/* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */
67#define LOCKING_SUPPORT_ENABLE 89#define LOCKING_SUPPORT_ENABLE
68/* Locking resynchronize hack */ 90/* Locking resynchronize hack */
69#define LOCKING_RESYNC_ENABLE 91#define LOCKING_RESYNC_ENABLE
70 92
93/* If defined, GRAVE_ESC will always act as ESC when CTRL is held.
94 * This is useful for the Windows task manager shortcut (ctrl+shift+esc).
95 */
96//#define GRAVE_ESC_CTRL_OVERRIDE
97
71/* 98/*
72 * Force NKRO 99 * Force NKRO
73 * 100 *
@@ -90,54 +117,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
90//#define FORCE_NKRO 117//#define FORCE_NKRO
91 118
92/* 119/*
93 * Magic Key Options
94 *
95 * Magic keys are hotkey commands that allow control over firmware functions of
96 * the keyboard. They are best used in combination with the HID Listen program,
97 * found here: https://www.pjrc.com/teensy/hid_listen.html
98 *
99 * The options below allow the magic key functionality to be changed. This is
100 * useful if your keyboard/keypad is missing keys and you want magic key support.
101 *
102 */
103
104/* control how magic key switches layers */
105//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS true
106//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS true
107//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM false
108
109/* override magic key keymap */
110//#define MAGIC_KEY_SWITCH_LAYER_WITH_FKEYS
111//#define MAGIC_KEY_SWITCH_LAYER_WITH_NKEYS
112//#define MAGIC_KEY_SWITCH_LAYER_WITH_CUSTOM
113//#define MAGIC_KEY_HELP1 H
114//#define MAGIC_KEY_HELP2 SLASH
115//#define MAGIC_KEY_DEBUG D
116//#define MAGIC_KEY_DEBUG_MATRIX X
117//#define MAGIC_KEY_DEBUG_KBD K
118//#define MAGIC_KEY_DEBUG_MOUSE M
119//#define MAGIC_KEY_VERSION V
120//#define MAGIC_KEY_STATUS S
121//#define MAGIC_KEY_CONSOLE C
122//#define MAGIC_KEY_LAYER0_ALT1 ESC
123//#define MAGIC_KEY_LAYER0_ALT2 GRAVE
124//#define MAGIC_KEY_LAYER0 0
125//#define MAGIC_KEY_LAYER1 1
126//#define MAGIC_KEY_LAYER2 2
127//#define MAGIC_KEY_LAYER3 3
128//#define MAGIC_KEY_LAYER4 4
129//#define MAGIC_KEY_LAYER5 5
130//#define MAGIC_KEY_LAYER6 6
131//#define MAGIC_KEY_LAYER7 7
132//#define MAGIC_KEY_LAYER8 8
133//#define MAGIC_KEY_LAYER9 9
134//#define MAGIC_KEY_BOOTLOADER PAUSE
135//#define MAGIC_KEY_LOCK CAPS
136//#define MAGIC_KEY_EEPROM E
137//#define MAGIC_KEY_NKRO N
138//#define MAGIC_KEY_SLEEP_LED Z
139
140/*
141 * Feature disable options 120 * Feature disable options
142 * These options are also useful to firmware size reduction. 121 * These options are also useful to firmware size reduction.
143 */ 122 */
@@ -152,30 +131,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
152//#define NO_ACTION_LAYER 131//#define NO_ACTION_LAYER
153//#define NO_ACTION_TAPPING 132//#define NO_ACTION_TAPPING
154//#define NO_ACTION_ONESHOT 133//#define NO_ACTION_ONESHOT
155//#define NO_ACTION_MACRO
156//#define NO_ACTION_FUNCTION
157
158/*
159 * MIDI options
160 */
161
162/* Prevent use of disabled MIDI features in the keymap */
163//#define MIDI_ENABLE_STRICT 1
164
165/* enable basic MIDI features:
166 - MIDI notes can be sent when in Music mode is on
167*/
168//#define MIDI_BASIC
169
170/* enable advanced MIDI features:
171 - MIDI notes can be added to the keymap
172 - Octave shift and transpose
173 - Virtual sustain, portamento, and modulation wheel
174 - etc.
175*/
176//#define MIDI_ADVANCED
177 134
178/* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */ 135/* disable these deprecated features by default */
179//#define MIDI_TONE_KEYCODE_OCTAVES 1 136#define NO_ACTION_MACRO
137#define NO_ACTION_FUNCTION
180 138
181#endif 139/* Bootmagic Lite key configuration */
140//#define BOOTMAGIC_LITE_ROW 0
141//#define BOOTMAGIC_LITE_COLUMN 0
diff --git a/keyboards/phantom/info.json b/keyboards/phantom/info.json
index 6a1e4f72f..4cea58835 100644
--- a/keyboards/phantom/info.json
+++ b/keyboards/phantom/info.json
@@ -1,2798 +1,651 @@
1{ 1{
2 "keyboard_name": "Phantom", 2 "keyboard_name": "Phantom",
3 "url": "https://deskthority.net/wiki/Phantom", 3 "url": "https://deskthority.net/wiki/Phantom",
4 "maintainer": "qmk", 4 "maintainer": "qmk",
5 "width": 18.25, 5 "width": 18.25,
6 "height": 6.5, 6 "height": 6.5,
7 "layouts": { 7 "layouts": {
8 "LAYOUT_tkl_ansi": { 8 "LAYOUT_tkl_ansi": {
9 "key_count": 87, 9 "layout": [
10 "layout": [ 10 {"x": 0, "y": 0},
11 { 11
12 "label": "Esc", 12 {"x": 2, "y": 0},
13 "x": 0, 13 {"x": 3, "y": 0},
14 "y": 0 14 {"x": 4, "y": 0},
15 }, 15 {"x": 5, "y": 0},
16 { 16
17 "label": "F1", 17 {"x": 6.5, "y": 0},
18 "x": 2, 18 {"x": 7.5, "y": 0},
19 "y": 0 19 {"x": 8.5, "y": 0},
20 }, 20 {"x": 9.5, "y": 0},
21 { 21
22 "label": "F2", 22 {"x": 11, "y": 0},
23 "x": 3, 23 {"x": 12, "y": 0},
24 "y": 0 24 {"x": 13, "y": 0},
25 }, 25 {"x": 14, "y": 0},
26 { 26
27 "label": "F3", 27 {"x": 15.25, "y": 0},
28 "x": 4, 28 {"x": 16.25, "y": 0},
29 "y": 0 29 {"x": 17.25, "y": 0},
30 }, 30
31 { 31 {"x": 0, "y": 1.5},
32 "label": "F4", 32 {"x": 1, "y": 1.5},
33 "x": 5, 33 {"x": 2, "y": 1.5},
34 "y": 0 34 {"x": 3, "y": 1.5},
35 }, 35 {"x": 4, "y": 1.5},
36 { 36 {"x": 5, "y": 1.5},
37 "label": "F5", 37 {"x": 6, "y": 1.5},
38 "x": 6.5, 38 {"x": 7, "y": 1.5},
39 "y": 0 39 {"x": 8, "y": 1.5},
40 }, 40 {"x": 9, "y": 1.5},
41 { 41 {"x": 10, "y": 1.5},
42 "label": "F6", 42 {"x": 11, "y": 1.5},
43 "x": 7.5, 43 {"x": 12, "y": 1.5},
44 "y": 0 44 {"x": 13, "y": 1.5, "w": 2},
45 }, 45
46 { 46 {"x": 15.25, "y": 1.5},
47 "label": "F7", 47 {"x": 16.25, "y": 1.5},
48 "x": 8.5, 48 {"x": 17.25, "y": 1.5},
49 "y": 0 49
50 }, 50 {"x": 0, "y": 2.5, "w": 1.5},
51 { 51 {"x": 1.5, "y": 2.5},
52 "label": "F8", 52 {"x": 2.5, "y": 2.5},
53 "x": 9.5, 53 {"x": 3.5, "y": 2.5},
54 "y": 0 54 {"x": 4.5, "y": 2.5},
55 }, 55 {"x": 5.5, "y": 2.5},
56 { 56 {"x": 6.5, "y": 2.5},
57 "label": "F9", 57 {"x": 7.5, "y": 2.5},
58 "x": 11, 58 {"x": 8.5, "y": 2.5},
59 "y": 0 59 {"x": 9.5, "y": 2.5},
60 }, 60 {"x": 10.5, "y": 2.5},
61 { 61 {"x": 11.5, "y": 2.5},
62 "label": "F10", 62 {"x": 12.5, "y": 2.5},
63 "x": 12, 63 {"x": 13.5, "y": 2.5, "w": 1.5},
64 "y": 0 64
65 }, 65 {"x": 15.25, "y": 2.5},
66 { 66 {"x": 16.25, "y": 2.5},
67 "label": "F11", 67 {"x": 17.25, "y": 2.5},
68 "x": 13, 68
69 "y": 0 69 {"x": 0, "y": 3.5, "w": 1.75},
70 }, 70 {"x": 1.75, "y": 3.5},
71 { 71 {"x": 2.75, "y": 3.5},
72 "label": "F12", 72 {"x": 3.75, "y": 3.5},
73 "x": 14, 73 {"x": 4.75, "y": 3.5},
74 "y": 0 74 {"x": 5.75, "y": 3.5},
75 }, 75 {"x": 6.75, "y": 3.5},
76 { 76 {"x": 7.75, "y": 3.5},
77 "label": "PrtSc", 77 {"x": 8.75, "y": 3.5},
78 "x": 15.25, 78 {"x": 9.75, "y": 3.5},
79 "y": 0 79 {"x": 10.75, "y": 3.5},
80 }, 80 {"x": 11.75, "y": 3.5},
81 { 81 {"x": 12.75, "y": 3.5, "w": 2.25},
82 "label": "Scroll Lock", 82
83 "x": 16.25, 83 {"x": 0, "y": 4.5, "w": 2.25},
84 "y": 0 84 {"x": 2.25, "y": 4.5},
85 }, 85 {"x": 3.25, "y": 4.5},
86 { 86 {"x": 4.25, "y": 4.5},
87 "label": "Pause", 87 {"x": 5.25, "y": 4.5},
88 "x": 17.25, 88 {"x": 6.25, "y": 4.5},
89 "y": 0 89 {"x": 7.25, "y": 4.5},
90 }, 90 {"x": 8.25, "y": 4.5},
91 { 91 {"x": 9.25, "y": 4.5},
92 "label": "~", 92 {"x": 10.25, "y": 4.5},
93 "x": 0, 93 {"x": 11.25, "y": 4.5},
94 "y": 1.5 94 {"x": 12.25, "y": 4.5, "w": 2.75},
95 }, 95
96 { 96 {"x": 16.25, "y": 4.5},
97 "label": "!", 97
98 "x": 1, 98 {"x": 0, "y": 5.5, "w": 1.25},
99 "y": 1.5 99 {"x": 1.25, "y": 5.5, "w": 1.25},
100 }, 100 {"x": 2.5, "y": 5.5, "w": 1.25},
101 { 101 {"x": 3.75, "y": 5.5, "w": 6.25},
102 "label": "@", 102 {"x": 10, "y": 5.5, "w": 1.25},
103 "x": 2, 103 {"x": 11.25, "y": 5.5, "w": 1.25},
104 "y": 1.5 104 {"x": 12.5, "y": 5.5, "w": 1.25},
105 }, 105 {"x": 13.75, "y": 5.5, "w": 1.25},
106 { 106
107 "label": "#", 107 {"x": 15.25, "y": 5.5},
108 "x": 3, 108 {"x": 16.25, "y": 5.5},
109 "y": 1.5 109 {"x": 17.25, "y": 5.5}
110 }, 110 ]
111 { 111 },
112 "label": "$", 112 "LAYOUT_tkl_ansi_plus_five": {
113 "x": 4, 113 "layout": [
114 "y": 1.5 114 {"x": 0, "y": 0},
115 }, 115
116 { 116 {"x": 2, "y": 0},
117 "label": "%", 117 {"x": 3, "y": 0},
118 "x": 5, 118 {"x": 4, "y": 0},
119 "y": 1.5 119 {"x": 5, "y": 0},
120 }, 120
121 { 121 {"x": 6.5, "y": 0},
122 "label": "^", 122 {"x": 7.5, "y": 0},
123 "x": 6, 123 {"x": 8.5, "y": 0},
124 "y": 1.5 124 {"x": 9.5, "y": 0},
125 }, 125
126 { 126 {"x": 11, "y": 0},
127 "label": "&", 127 {"x": 12, "y": 0},
128 "x": 7, 128 {"x": 13, "y": 0},
129 "y": 1.5 129 {"x": 14, "y": 0},
130 }, 130
131 { 131 {"x": 15.25, "y": 0},
132 "label": "*", 132 {"x": 16.25, "y": 0},
133 "x": 8, 133 {"x": 17.25, "y": 0},
134 "y": 1.5 134
135 }, 135 {"x": 0, "y": 1.5},
136 { 136 {"x": 1, "y": 1.5},
137 "label": "(", 137 {"x": 2, "y": 1.5},
138 "x": 9, 138 {"x": 3, "y": 1.5},
139 "y": 1.5 139 {"x": 4, "y": 1.5},
140 }, 140 {"x": 5, "y": 1.5},
141 { 141 {"x": 6, "y": 1.5},
142 "label": ")", 142 {"x": 7, "y": 1.5},
143 "x": 10, 143 {"x": 8, "y": 1.5},
144 "y": 1.5 144 {"x": 9, "y": 1.5},
145 }, 145 {"x": 10, "y": 1.5},
146 { 146 {"x": 11, "y": 1.5},
147 "label": "_", 147 {"x": 12, "y": 1.5},
148 "x": 11, 148 {"x": 13, "y": 1.5, "w": 2},
149 "y": 1.5 149
150 }, 150 {"x": 15.25, "y": 1.5},
151 { 151 {"x": 16.25, "y": 1.5},
152 "label": "+", 152 {"x": 17.25, "y": 1.5},
153 "x": 12, 153
154 "y": 1.5 154 {"x": 0, "y": 2.5, "w": 1.5},
155 }, 155 {"x": 1.5, "y": 2.5},
156 { 156 {"x": 2.5, "y": 2.5},
157 "label": "Backspace", 157 {"x": 3.5, "y": 2.5},
158 "x": 13, 158 {"x": 4.5, "y": 2.5},
159 "y": 1.5, 159 {"x": 5.5, "y": 2.5},
160 "w": 2 160 {"x": 6.5, "y": 2.5},
161 }, 161 {"x": 7.5, "y": 2.5},
162 { 162 {"x": 8.5, "y": 2.5},
163 "label": "Insert", 163 {"x": 9.5, "y": 2.5},
164 "x": 15.25, 164 {"x": 10.5, "y": 2.5},
165 "y": 1.5 165 {"x": 11.5, "y": 2.5},
166 }, 166 {"x": 12.5, "y": 2.5},
167 { 167 {"x": 13.5, "y": 2.5, "w": 1.5},
168 "label": "Home", 168
169 "x": 16.25, 169 {"x": 15.25, "y": 2.5},
170 "y": 1.5 170 {"x": 16.25, "y": 2.5},
171 }, 171 {"x": 17.25, "y": 2.5},
172 { 172
173 "label": "PgUp", 173 {"x": 0, "y": 3.5, "w": 1.75},
174 "x": 17.25, 174 {"x": 1.75, "y": 3.5},
175 "y": 1.5 175 {"x": 2.75, "y": 3.5},
176 }, 176 {"x": 3.75, "y": 3.5},
177 { 177 {"x": 4.75, "y": 3.5},
178 "label": "Tab", 178 {"x": 5.75, "y": 3.5},
179 "x": 0, 179 {"x": 6.75, "y": 3.5},
180 "y": 2.5, 180 {"x": 7.75, "y": 3.5},
181 "w": 1.5 181 {"x": 8.75, "y": 3.5},
182 }, 182 {"x": 9.75, "y": 3.5},
183 { 183 {"x": 10.75, "y": 3.5},
184 "label": "Q", 184 {"x": 11.75, "y": 3.5},
185 "x": 1.5, 185 {"x": 12.75, "y": 3.5, "w": 2.25},
186 "y": 2.5 186
187 }, 187 {"x": 15.25, "y": 3.5},
188 { 188 {"x": 16.25, "y": 3.5},
189 "label": "W", 189 {"x": 17.25, "y": 3.5},
190 "x": 2.5, 190
191 "y": 2.5 191 {"x": 0, "y": 4.5, "w": 2.25},
192 }, 192 {"x": 2.25, "y": 4.5},
193 { 193 {"x": 3.25, "y": 4.5},
194 "label": "E", 194 {"x": 4.25, "y": 4.5},
195 "x": 3.5, 195 {"x": 5.25, "y": 4.5},
196 "y": 2.5 196 {"x": 6.25, "y": 4.5},
197 }, 197 {"x": 7.25, "y": 4.5},
198 { 198 {"x": 8.25, "y": 4.5},
199 "label": "R", 199 {"x": 9.25, "y": 4.5},
200 "x": 4.5, 200 {"x": 10.25, "y": 4.5},
201 "y": 2.5 201 {"x": 11.25, "y": 4.5},
202 }, 202 {"x": 12.25, "y": 4.5, "w": 2.75},
203 { 203
204 "label": "T", 204 {"x": 15.25, "y": 4.5},
205 "x": 5.5, 205 {"x": 16.25, "y": 4.5},
206 "y": 2.5 206 {"x": 17.25, "y": 4.5},
207 }, 207
208 { 208 {"x": 0, "y": 5.5, "w": 1.25},
209 "label": "Y", 209 {"x": 1.25, "y": 5.5, "w": 1.25},
210 "x": 6.5, 210 {"x": 2.5, "y": 5.5, "w": 1.25},
211 "y": 2.5 211 {"x": 3.75, "y": 5.5, "w": 6.25},
212 }, 212 {"x": 10, "y": 5.5, "w": 1.25},
213 { 213 {"x": 11.25, "y": 5.5, "w": 1.25},
214 "label": "U", 214 {"x": 12.5, "y": 5.5, "w": 1.25},
215 "x": 7.5, 215 {"x": 13.75, "y": 5.5, "w": 1.25},
216 "y": 2.5 216
217 }, 217 {"x": 15.25, "y": 5.5},
218 { 218 {"x": 16.25, "y": 5.5},
219 "label": "I", 219 {"x": 17.25, "y": 5.5}
220 "x": 8.5, 220 ]
221 "y": 2.5 221 },
222 }, 222 "LAYOUT_tkl_ansi_wkl": {
223 { 223 "layout": [
224 "label": "O", 224 {"x": 0, "y": 0},
225 "x": 9.5, 225
226 "y": 2.5 226 {"x": 2, "y": 0},
227 }, 227 {"x": 3, "y": 0},
228 { 228 {"x": 4, "y": 0},
229 "label": "P", 229 {"x": 5, "y": 0},
230 "x": 10.5, 230
231 "y": 2.5 231 {"x": 6.5, "y": 0},
232 }, 232 {"x": 7.5, "y": 0},
233 { 233 {"x": 8.5, "y": 0},
234 "label": "{", 234 {"x": 9.5, "y": 0},
235 "x": 11.5, 235
236 "y": 2.5 236 {"x": 11, "y": 0},
237 }, 237 {"x": 12, "y": 0},
238 { 238 {"x": 13, "y": 0},
239 "label": "}", 239 {"x": 14, "y": 0},
240 "x": 12.5, 240
241 "y": 2.5 241 {"x": 15.25, "y": 0},
242 }, 242 {"x": 16.25, "y": 0},
243 { 243 {"x": 17.25, "y": 0},
244 "label": "|", 244
245 "x": 13.5, 245 {"x": 0, "y": 1.5},
246 "y": 2.5, 246 {"x": 1, "y": 1.5},
247 "w": 1.5 247 {"x": 2, "y": 1.5},
248 }, 248 {"x": 3, "y": 1.5},
249 { 249 {"x": 4, "y": 1.5},
250 "label": "Delete", 250 {"x": 5, "y": 1.5},
251 "x": 15.25, 251 {"x": 6, "y": 1.5},
252 "y": 2.5 252 {"x": 7, "y": 1.5},
253 }, 253 {"x": 8, "y": 1.5},
254 { 254 {"x": 9, "y": 1.5},
255 "label": "End", 255 {"x": 10, "y": 1.5},
256 "x": 16.25, 256 {"x": 11, "y": 1.5},
257 "y": 2.5 257 {"x": 12, "y": 1.5},
258 }, 258 {"x": 13, "y": 1.5, "w": 2},
259 { 259
260 "label": "PgDn", 260 {"x": 15.25, "y": 1.5},
261 "x": 17.25, 261 {"x": 16.25, "y": 1.5},
262 "y": 2.5 262 {"x": 17.25, "y": 1.5},
263 }, 263
264 { 264 {"x": 0, "y": 2.5, "w": 1.5},
265 "label": "Caps Lock", 265 {"x": 1.5, "y": 2.5},
266 "x": 0, 266 {"x": 2.5, "y": 2.5},
267 "y": 3.5, 267 {"x": 3.5, "y": 2.5},
268 "w": 1.75 268 {"x": 4.5, "y": 2.5},
269 }, 269 {"x": 5.5, "y": 2.5},
270 { 270 {"x": 6.5, "y": 2.5},
271 "label": "A", 271 {"x": 7.5, "y": 2.5},
272 "x": 1.75, 272 {"x": 8.5, "y": 2.5},
273 "y": 3.5 273 {"x": 9.5, "y": 2.5},
274 }, 274 {"x": 10.5, "y": 2.5},
275 { 275 {"x": 11.5, "y": 2.5},
276 "label": "S", 276 {"x": 12.5, "y": 2.5},
277 "x": 2.75, 277 {"x": 13.5, "y": 2.5, "w": 1.5},
278 "y": 3.5 278
279 }, 279 {"x": 15.25, "y": 2.5},
280 { 280 {"x": 16.25, "y": 2.5},
281 "label": "D", 281 {"x": 17.25, "y": 2.5},
282 "x": 3.75, 282
283 "y": 3.5 283 {"x": 0, "y": 3.5, "w": 1.75},
284 }, 284 {"x": 1.75, "y": 3.5},
285 { 285 {"x": 2.75, "y": 3.5},
286 "label": "F", 286 {"x": 3.75, "y": 3.5},
287 "x": 4.75, 287 {"x": 4.75, "y": 3.5},
288 "y": 3.5 288 {"x": 5.75, "y": 3.5},
289 }, 289 {"x": 6.75, "y": 3.5},
290 { 290 {"x": 7.75, "y": 3.5},
291 "label": "G", 291 {"x": 8.75, "y": 3.5},
292 "x": 5.75, 292 {"x": 9.75, "y": 3.5},
293 "y": 3.5 293 {"x": 10.75, "y": 3.5},
294 }, 294 {"x": 11.75, "y": 3.5},
295 { 295 {"x": 12.75, "y": 3.5, "w": 2.25},
296 "label": "H", 296
297 "x": 6.75, 297 {"x": 0, "y": 4.5, "w": 2.25},
298 "y": 3.5 298 {"x": 2.25, "y": 4.5},
299 }, 299 {"x": 3.25, "y": 4.5},
300 { 300 {"x": 4.25, "y": 4.5},
301 "label": "J", 301 {"x": 5.25, "y": 4.5},
302 "x": 7.75, 302 {"x": 6.25, "y": 4.5},
303 "y": 3.5 303 {"x": 7.25, "y": 4.5},
304 }, 304 {"x": 8.25, "y": 4.5},
305 { 305 {"x": 9.25, "y": 4.5},
306 "label": "K", 306 {"x": 10.25, "y": 4.5},
307 "x": 8.75, 307 {"x": 11.25, "y": 4.5},
308 "y": 3.5 308 {"x": 12.25, "y": 4.5, "w": 2.75},
309 }, 309
310 { 310 {"x": 16.25, "y": 4.5},
311 "label": "L", 311
312 "x": 9.75, 312 {"x": 0, "y": 5.5, "w": 1.5},
313 "y": 3.5 313 {"x": 1.5, "y": 5.5},
314 }, 314 {"x": 2.5, "y": 5.5, "w": 1.5},
315 { 315 {"x": 4, "y": 5.5, "w": 7},
316 "label": ":", 316 {"x": 11, "y": 5.5, "w": 1.5},
317 "x": 10.75, 317 {"x": 12.5, "y": 5.5},
318 "y": 3.5 318 {"x": 13.5, "y": 5.5, "w": 1.5},
319 }, 319
320 { 320 {"x": 15.25, "y": 5.5},
321 "label": "\"", 321 {"x": 16.25, "y": 5.5},
322 "x": 11.75, 322 {"x": 17.25, "y": 5.5}
323 "y": 3.5 323 ]
324 }, 324 },
325 { 325 "LAYOUT_all": {
326 "label": "Enter", 326 "layout": [
327 "x": 12.75, 327 {"x": 0, "y": 0},
328 "y": 3.5, 328 {"x": 1, "y": 0},
329 "w": 2.25 329 {"x": 2, "y": 0},
330 }, 330 {"x": 3, "y": 0},
331 { 331 {"x": 4, "y": 0},
332 "label": "Shift", 332 {"x": 5, "y": 0},
333 "x": 0, 333 {"x": 6, "y": 0},
334 "y": 4.5, 334 {"x": 7, "y": 0},
335 "w": 2.25 335 {"x": 8, "y": 0},
336 }, 336 {"x": 9, "y": 0},
337 { 337 {"x": 10, "y": 0},
338 "label": "Z", 338 {"x": 11, "y": 0},
339 "x": 2.25, 339 {"x": 12, "y": 0},
340 "y": 4.5 340 {"x": 13, "y": 0},
341 }, 341 {"x": 14, "y": 0},
342 { 342
343 "label": "X", 343 {"x": 15.25, "y": 0},
344 "x": 3.25, 344 {"x": 16.25, "y": 0},
345 "y": 4.5 345 {"x": 17.25, "y": 0},
346 }, 346
347 { 347 {"x": 0, "y": 1.5},
348 "label": "C", 348 {"x": 1, "y": 1.5},
349 "x": 4.25, 349 {"x": 2, "y": 1.5},
350 "y": 4.5 350 {"x": 3, "y": 1.5},
351 }, 351 {"x": 4, "y": 1.5},
352 { 352 {"x": 5, "y": 1.5},
353 "label": "V", 353 {"x": 6, "y": 1.5},
354 "x": 5.25, 354 {"x": 7, "y": 1.5},
355 "y": 4.5 355 {"x": 8, "y": 1.5},
356 }, 356 {"x": 9, "y": 1.5},
357 { 357 {"x": 10, "y": 1.5},
358 "label": "B", 358 {"x": 11, "y": 1.5},
359 "x": 6.25, 359 {"x": 12, "y": 1.5},
360 "y": 4.5 360 {"x": 13, "y": 1.5},
361 }, 361 {"x": 14, "y": 1.5},
362 { 362
363 "label": "N", 363 {"x": 15.25, "y": 1.5},
364 "x": 7.25, 364 {"x": 16.25, "y": 1.5},
365 "y": 4.5 365 {"x": 17.25, "y": 1.5},
366 }, 366
367 { 367 {"x": 0, "y": 2.5, "w": 1.5},
368 "label": "M", 368 {"x": 1.5, "y": 2.5},
369 "x": 8.25, 369 {"x": 2.5, "y": 2.5},
370 "y": 4.5 370 {"x": 3.5, "y": 2.5},
371 }, 371 {"x": 4.5, "y": 2.5},
372 { 372 {"x": 5.5, "y": 2.5},
373 "label": "<", 373 {"x": 6.5, "y": 2.5},
374 "x": 9.25, 374 {"x": 7.5, "y": 2.5},
375 "y": 4.5 375 {"x": 8.5, "y": 2.5},
376 }, 376 {"x": 9.5, "y": 2.5},
377 { 377 {"x": 10.5, "y": 2.5},
378 "label": ">", 378 {"x": 11.5, "y": 2.5},
379 "x": 10.25, 379 {"x": 12.5, "y": 2.5},
380 "y": 4.5 380 {"x": 13.5, "y": 2.5, "w": 1.5},
381 }, 381
382 { 382 {"x": 15.25, "y": 2.5},
383 "label": "?", 383 {"x": 16.25, "y": 2.5},
384 "x": 11.25, 384 {"x": 17.25, "y": 2.5},
385 "y": 4.5 385
386 }, 386 {"x": 0, "y": 3.5, "w": 1.75},
387 { 387 {"x": 1.75, "y": 3.5},
388 "label": "Shift", 388 {"x": 2.75, "y": 3.5},
389 "x": 12.25, 389 {"x": 3.75, "y": 3.5},
390 "y": 4.5, 390 {"x": 4.75, "y": 3.5},
391 "w": 2.75 391 {"x": 5.75, "y": 3.5},
392 }, 392 {"x": 6.75, "y": 3.5},
393 { 393 {"x": 7.75, "y": 3.5},
394 "label": "\\u2191", 394 {"x": 8.75, "y": 3.5},
395 "x": 16.25, 395 {"x": 9.75, "y": 3.5},
396 "y": 4.5 396 {"x": 10.75, "y": 3.5},
397 }, 397 {"x": 11.75, "y": 3.5},
398 { 398 {"x": 12.75, "y": 3.5},
399 "label": "Ctrl", 399 {"x": 13.75, "y": 3.5, "w": 1.25},
400 "x": 0, 400
401 "y": 5.5, 401 {"x": 15.25, "y": 3.5},
402 "w": 1.25 402 {"x": 16.25, "y": 3.5},
403 }, 403 {"x": 17.25, "y": 3.5},
404 { 404
405 "label": "Win", 405 {"x": 0, "y": 4.5, "w": 1.25},
406 "x": 1.25, 406 {"x": 1.25, "y": 4.5},
407 "y": 5.5, 407 {"x": 2.25, "y": 4.5},
408 "w": 1.25 408 {"x": 3.25, "y": 4.5},
409 }, 409 {"x": 4.25, "y": 4.5},
410 { 410 {"x": 5.25, "y": 4.5},
411 "label": "Alt", 411 {"x": 6.25, "y": 4.5},
412 "x": 2.5, 412 {"x": 7.25, "y": 4.5},
413 "y": 5.5, 413 {"x": 8.25, "y": 4.5},
414 "w": 1.25 414 {"x": 9.25, "y": 4.5},
415 }, 415 {"x": 10.25, "y": 4.5},
416 { 416 {"x": 11.25, "y": 4.5},
417 "x": 3.75, 417 {"x": 12.25, "y": 4.5, "w": 1.75},
418 "y": 5.5, 418 {"x": 14, "y": 4.5},
419 "w": 6.25 419
420 }, 420 {"x": 15.25, "y": 4.5},
421 { 421 {"x": 16.25, "y": 4.5},
422 "label": "Alt", 422 {"x": 17.25, "y": 4.5},
423 "x": 10, 423
424 "y": 5.5, 424 {"x": 0, "y": 5.5, "w": 1.5},
425 "w": 1.25 425 {"x": 1.5, "y": 5.5},
426 }, 426 {"x": 2.5, "y": 5.5, "w": 1.5},
427 { 427 {"x": 4, "y": 5.5, "w": 1.5},
428 "label": "Win", 428 {"x": 5.5, "y": 5.5, "w": 1.5},
429 "x": 11.25, 429 {"x": 7, "y": 5.5},
430 "y": 5.5, 430 {"x": 8, "y": 5.5, "w": 1.5},
431 "w": 1.25 431 {"x": 9.5, "y": 5.5, "w": 1.5},
432 }, 432 {"x": 11, "y": 5.5, "w": 1.5},
433 { 433 {"x": 12.5, "y": 5.5},
434 "label": "FN", 434 {"x": 13.5, "y": 5.5, "w": 1.5},
435 "x": 12.5, 435
436 "y": 5.5, 436 {"x": 15.25, "y": 5.5},
437 "w": 1.25 437 {"x": 16.25, "y": 5.5},
438 }, 438 {"x": 17.25, "y": 5.5}
439 { 439 ]
440 "label": "Ctrl", 440 },
441 "x": 13.75, 441 "LAYOUT_tkl_iso_wkl": {
442 "y": 5.5, 442 "layout": [
443 "w": 1.25 443 {"x": 0, "y": 0},
444 }, 444
445 { 445 {"x": 2, "y": 0},
446 "label": "\\u2190", 446 {"x": 3, "y": 0},
447 "x": 15.25, 447 {"x": 4, "y": 0},
448 "y": 5.5 448 {"x": 5, "y": 0},
449 }, 449
450 { 450 {"x": 6.5, "y": 0},
451 "label": "\\u2193", 451 {"x": 7.5, "y": 0},
452 "x": 16.25, 452 {"x": 8.5, "y": 0},
453 "y": 5.5 453 {"x": 9.5, "y": 0},
454 }, 454
455 { 455 {"x": 11, "y": 0},
456 "label": "\\u2192", 456 {"x": 12, "y": 0},
457 "x": 17.25, 457 {"x": 13, "y": 0},
458 "y": 5.5 458 {"x": 14, "y": 0},
459 } 459
460 ] 460 {"x": 15.25, "y": 0},
461 }, 461 {"x": 16.25, "y": 0},
462 "LAYOUT_tkl_ansi_plus_five": { 462 {"x": 17.25, "y": 0},
463 "key_count": 92, 463
464 "layout": [ 464 {"x": 0, "y": 1.5},
465 { 465 {"x": 1, "y": 1.5},
466 "label": "Esc", 466 {"x": 2, "y": 1.5},
467 "x": 0, 467 {"x": 3, "y": 1.5},
468 "y": 0 468 {"x": 4, "y": 1.5},
469 }, 469 {"x": 5, "y": 1.5},
470 { 470 {"x": 6, "y": 1.5},
471 "label": "F1", 471 {"x": 7, "y": 1.5},
472 "x": 2, 472 {"x": 8, "y": 1.5},
473 "y": 0 473 {"x": 9, "y": 1.5},
474 }, 474 {"x": 10, "y": 1.5},
475 { 475 {"x": 11, "y": 1.5},
476 "label": "F2", 476 {"x": 12, "y": 1.5},
477 "x": 3, 477 {"x": 13, "y": 1.5, "w": 2},
478 "y": 0 478
479 }, 479 {"x": 15.25, "y": 1.5},
480 { 480 {"x": 16.25, "y": 1.5},
481 "label": "F3", 481 {"x": 17.25, "y": 1.5},
482 "x": 4, 482
483 "y": 0 483 {"x": 0, "y": 2.5, "w": 1.5},
484 }, 484 {"x": 1.5, "y": 2.5},
485 { 485 {"x": 2.5, "y": 2.5},
486 "label": "F4", 486 {"x": 3.5, "y": 2.5},
487 "x": 5, 487 {"x": 4.5, "y": 2.5},
488 "y": 0 488 {"x": 5.5, "y": 2.5},
489 }, 489 {"x": 6.5, "y": 2.5},
490 { 490 {"x": 7.5, "y": 2.5},
491 "label": "F5", 491 {"x": 8.5, "y": 2.5},
492 "x": 6.5, 492 {"x": 9.5, "y": 2.5},
493 "y": 0 493 {"x": 10.5, "y": 2.5},
494 }, 494 {"x": 11.5, "y": 2.5},
495 { 495 {"x": 12.5, "y": 2.5},
496 "label": "F6", 496
497 "x": 7.5, 497 {"x": 15.25, "y": 2.5},
498 "y": 0 498 {"x": 16.25, "y": 2.5},
499 }, 499 {"x": 17.25, "y": 2.5},
500 { 500
501 "label": "F7", 501 {"x": 0, "y": 3.5, "w": 1.75},
502 "x": 8.5, 502 {"x": 1.75, "y": 3.5},
503 "y": 0 503 {"x": 2.75, "y": 3.5},
504 }, 504 {"x": 3.75, "y": 3.5},
505 { 505 {"x": 4.75, "y": 3.5},
506 "label": "F8", 506 {"x": 5.75, "y": 3.5},
507 "x": 9.5, 507 {"x": 6.75, "y": 3.5},
508 "y": 0 508 {"x": 7.75, "y": 3.5},
509 }, 509 {"x": 8.75, "y": 3.5},
510 { 510 {"x": 9.75, "y": 3.5},
511 "label": "F9", 511 {"x": 10.75, "y": 3.5},
512 "x": 11, 512 {"x": 11.75, "y": 3.5},
513 "y": 0 513 {"x": 12.75, "y": 3.5},
514 }, 514 {"x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
515 { 515
516 "label": "F10", 516 {"x": 0, "y": 4.5, "w": 1.25},
517 "x": 12, 517 {"x": 1.25, "y": 4.5},
518 "y": 0 518 {"x": 2.25, "y": 4.5},
519 }, 519 {"x": 3.25, "y": 4.5},
520 { 520 {"x": 4.25, "y": 4.5},
521 "label": "F11", 521 {"x": 5.25, "y": 4.5},
522 "x": 13, 522 {"x": 6.25, "y": 4.5},
523 "y": 0 523 {"x": 7.25, "y": 4.5},
524 }, 524 {"x": 8.25, "y": 4.5},
525 { 525 {"x": 9.25, "y": 4.5},
526 "label": "F12", 526 {"x": 10.25, "y": 4.5},
527 "x": 14, 527 {"x": 11.25, "y": 4.5},
528 "y": 0 528 {"x": 12.25, "y": 4.5, "w": 2.75},
529 }, 529
530 { 530 {"x": 16.25, "y": 4.5},
531 "label": "PrtSc", 531
532 "x": 15.25, 532 {"x": 0, "y": 5.5, "w": 1.5},
533 "y": 0 533 {"x": 1.5, "y": 5.5},
534 }, 534 {"x": 2.5, "y": 5.5, "w": 1.5},
535 { 535 {"x": 4, "y": 5.5, "w": 7},
536 "label": "Scroll Lock", 536 {"x": 11, "y": 5.5, "w": 1.5},
537 "x": 16.25, 537 {"x": 12.5, "y": 5.5},
538 "y": 0 538 {"x": 13.5, "y": 5.5, "w": 1.5},
539 }, 539
540 { 540 {"x": 15.25, "y": 5.5},
541 "label": "Pause", 541 {"x": 16.25, "y": 5.5},
542 "x": 17.25, 542 {"x": 17.25, "y": 5.5}
543 "y": 0 543 ]
544 }, 544 },
545 { 545 "LAYOUT_tkl_iso": {
546 "label": "~", 546 "layout": [
547 "x": 0, 547 {"x": 0, "y": 0},
548 "y": 1.5 548
549 }, 549 {"x": 2, "y": 0},
550 { 550 {"x": 3, "y": 0},
551 "label": "!", 551 {"x": 4, "y": 0},
552 "x": 1, 552 {"x": 5, "y": 0},
553 "y": 1.5 553
554 }, 554 {"x": 6.5, "y": 0},
555 { 555 {"x": 7.5, "y": 0},
556 "label": "@", 556 {"x": 8.5, "y": 0},
557 "x": 2, 557 {"x": 9.5, "y": 0},
558 "y": 1.5 558
559 }, 559 {"x": 11, "y": 0},
560 { 560 {"x": 12, "y": 0},
561 "label": "#", 561 {"x": 13, "y": 0},
562 "x": 3, 562 {"x": 14, "y": 0},
563 "y": 1.5 563
564 }, 564 {"x": 15.25, "y": 0},
565 { 565 {"x": 16.25, "y": 0},
566 "label": "$", 566 {"x": 17.25, "y": 0},
567 "x": 4, 567
568 "y": 1.5 568 {"x": 0, "y": 1.5},
569 }, 569 {"x": 1, "y": 1.5},
570 { 570 {"x": 2, "y": 1.5},
571 "label": "%", 571 {"x": 3, "y": 1.5},
572 "x": 5, 572 {"x": 4, "y": 1.5},
573 "y": 1.5 573 {"x": 5, "y": 1.5},
574 }, 574 {"x": 6, "y": 1.5},
575 { 575 {"x": 7, "y": 1.5},
576 "label": "^", 576 {"x": 8, "y": 1.5},
577 "x": 6, 577 {"x": 9, "y": 1.5},
578 "y": 1.5 578 {"x": 10, "y": 1.5},
579 }, 579 {"x": 11, "y": 1.5},
580 { 580 {"x": 12, "y": 1.5},
581 "label": "&", 581 {"x": 13, "y": 1.5, "w": 2},
582 "x": 7, 582
583 "y": 1.5 583 {"x": 15.25, "y": 1.5},
584 }, 584 {"x": 16.25, "y": 1.5},
585 { 585 {"x": 17.25, "y": 1.5},
586 "label": "*", 586
587 "x": 8, 587 {"x": 0, "y": 2.5, "w": 1.5},
588 "y": 1.5 588 {"x": 1.5, "y": 2.5},
589 }, 589 {"x": 2.5, "y": 2.5},
590 { 590 {"x": 3.5, "y": 2.5},
591 "label": "(", 591 {"x": 4.5, "y": 2.5},
592 "x": 9, 592 {"x": 5.5, "y": 2.5},
593 "y": 1.5 593 {"x": 6.5, "y": 2.5},
594 }, 594 {"x": 7.5, "y": 2.5},
595 { 595 {"x": 8.5, "y": 2.5},
596 "label": ")", 596 {"x": 9.5, "y": 2.5},
597 "x": 10, 597 {"x": 10.5, "y": 2.5},
598 "y": 1.5 598 {"x": 11.5, "y": 2.5},
599 }, 599 {"x": 12.5, "y": 2.5},
600 { 600
601 "label": "_", 601 {"x": 15.25, "y": 2.5},
602 "x": 11, 602 {"x": 16.25, "y": 2.5},
603 "y": 1.5 603 {"x": 17.25, "y": 2.5},
604 }, 604
605 { 605 {"x": 0, "y": 3.5, "w": 1.75},
606 "label": "+", 606 {"x": 1.75, "y": 3.5},
607 "x": 12, 607 {"x": 2.75, "y": 3.5},
608 "y": 1.5 608 {"x": 3.75, "y": 3.5},
609 }, 609 {"x": 4.75, "y": 3.5},
610 { 610 {"x": 5.75, "y": 3.5},
611 "label": "Backspace", 611 {"x": 6.75, "y": 3.5},
612 "x": 13, 612 {"x": 7.75, "y": 3.5},
613 "y": 1.5, 613 {"x": 8.75, "y": 3.5},
614 "w": 2 614 {"x": 9.75, "y": 3.5},
615 }, 615 {"x": 10.75, "y": 3.5},
616 { 616 {"x": 11.75, "y": 3.5},
617 "label": "Insert", 617 {"x": 12.75, "y": 3.5},
618 "x": 15.25, 618 {"x": 13.75, "y": 2.5, "w": 1.25, "h": 2},
619 "y": 1.5 619
620 }, 620 {"x": 0, "y": 4.5, "w": 1.25},
621 { 621 {"x": 1.25, "y": 4.5},
622 "label": "Home", 622 {"x": 2.25, "y": 4.5},
623 "x": 16.25, 623 {"x": 3.25, "y": 4.5},
624 "y": 1.5 624 {"x": 4.25, "y": 4.5},
625 }, 625 {"x": 5.25, "y": 4.5},
626 { 626 {"x": 6.25, "y": 4.5},
627 "label": "PgUp", 627 {"x": 7.25, "y": 4.5},
628 "x": 17.25, 628 {"x": 8.25, "y": 4.5},
629 "y": 1.5 629 {"x": 9.25, "y": 4.5},
630 }, 630 {"x": 10.25, "y": 4.5},
631 { 631 {"x": 11.25, "y": 4.5},
632 "label": "Tab", 632 {"x": 12.25, "y": 4.5, "w": 2.75},
633 "x": 0, 633
634 "y": 2.5, 634 {"x": 16.25, "y": 4.5},
635 "w": 1.5 635
636 }, 636 {"x": 0, "y": 5.5, "w": 1.25},
637 { 637 {"x": 1.25, "y": 5.5, "w": 1.25},
638 "label": "Q", 638 {"x": 2.5, "y": 5.5, "w": 1.25},
639 "x": 1.5, 639 {"x": 3.75, "y": 5.5, "w": 6.25},
640 "y": 2.5 640 {"x": 10, "y": 5.5, "w": 1.25},
641 }, 641 {"x": 11.25, "y": 5.5, "w": 1.25},
642 { 642 {"x": 12.5, "y": 5.5, "w": 1.25},
643 "label": "W", 643 {"x": 13.75, "y": 5.5, "w": 1.25},
644 "x": 2.5, 644
645 "y": 2.5 645 {"x": 15.25, "y": 5.5},
646 }, 646 {"x": 16.25, "y": 5.5},
647 { 647 {"x": 17.25, "y": 5.5}
648 "label": "E", 648 ]
649 "x": 3.5,
650 "y": 2.5
651 },
652 {
653 "label": "R",
654 "x": 4.5,
655 "y": 2.5
656 },
657 {
658 "label": "T",
659 "x": 5.5,
660 "y": 2.5
661 },
662 {
663 "label": "Y",
664 "x": 6.5,
665 "y": 2.5
666 },
667 {
668 "label": "U",
669 "x": 7.5,
670 "y": 2.5
671 },
672 {
673 "label": "I",
674 "x": 8.5,
675 "y": 2.5
676 },
677 {
678 "label": "O",
679 "x": 9.5,
680 "y": 2.5
681 },
682 {
683 "label": "P",
684 "x": 10.5,
685 "y": 2.5
686 },
687 {
688 "label": "{",
689 "x": 11.5,
690 "y": 2.5
691 },
692 {
693 "label": "}",
694 "x": 12.5,
695 "y": 2.5
696 },
697 {
698 "label": "|",
699 "x": 13.5,
700 "y": 2.5,
701 "w": 1.5
702 },
703 {
704 "label": "Delete",
705 "x": 15.25,
706 "y": 2.5
707 },
708 {
709 "label": "End",
710 "x": 16.25,
711 "y": 2.5
712 },
713 {
714 "label": "PgDn",
715 "x": 17.25,
716 "y": 2.5
717 },
718 {
719 "label": "Caps Lock",
720 "x": 0,
721 "y": 3.5,
722 "w": 1.75
723 },
724 {
725 "label": "A",
726 "x": 1.75,
727 "y": 3.5
728 },
729 {
730 "label": "S",
731 "x": 2.75,
732 "y": 3.5
733 },
734 {
735 "label": "D",
736 "x": 3.75,
737 "y": 3.5
738 },
739 {
740 "label": "F",
741 "x": 4.75,
742 "y": 3.5
743 },
744 {
745 "label": "G",
746 "x": 5.75,
747 "y": 3.5
748 },
749 {
750 "label": "H",
751 "x": 6.75,
752 "y": 3.5
753 },
754 {
755 "label": "J",
756 "x": 7.75,
757 "y": 3.5
758 },
759 {
760 "label": "K",
761 "x": 8.75,
762 "y": 3.5
763 },
764 {
765 "label": "L",
766 "x": 9.75,
767 "y": 3.5
768 },
769 {
770 "label": ":",
771 "x": 10.75,
772 "y": 3.5
773 },
774 {
775 "label": "\"",
776 "x": 11.75,
777 "y": 3.5
778 },
779 {
780 "label": "Enter",
781 "x": 12.75,
782 "y": 3.5,
783 "w": 2.25
784 },
785 {
786 "x": 15.25,
787 "y": 3.5
788 },
789 {
790 "x": 16.25,
791 "y": 3.5
792 },
793 {
794 "x": 17.25,
795 "y": 3.5
796 },
797 {
798 "label": "Shift",
799 "x": 0,
800 "y": 4.5,
801 "w": 2.25
802 },
803 {
804 "label": "Z",
805 "x": 2.25,
806 "y": 4.5
807 },
808 {
809 "label": "X",
810 "x": 3.25,
811 "y": 4.5
812 },
813 {
814 "label": "C",
815 "x": 4.25,
816 "y": 4.5
817 },
818 {
819 "label": "V",
820 "x": 5.25,
821 "y": 4.5
822 },
823 {
824 "label": "B",
825 "x": 6.25,
826 "y": 4.5
827 },
828 {
829 "label": "N",
830 "x": 7.25,
831 "y": 4.5
832 },
833 {
834 "label": "M",
835 "x": 8.25,
836 "y": 4.5
837 },
838 {
839 "label": "<",
840 "x": 9.25,
841 "y": 4.5
842 },
843 {
844 "label": ">",
845 "x": 10.25,
846 "y": 4.5
847 },
848 {
849 "label": "?",
850 "x": 11.25,
851 "y": 4.5
852 },
853 {
854 "label": "Shift",
855 "x": 12.25,
856 "y": 4.5,
857 "w": 2.75
858 },
859 {
860 "x": 15.25,
861 "y": 4.5
862 },
863 {
864 "label": "\\u2191",
865 "x": 16.25,
866 "y": 4.5
867 },
868 {
869 "x": 17.25,
870 "y": 4.5
871 },
872 {
873 "label": "Ctrl",
874 "x": 0,
875 "y": 5.5,
876 "w": 1.25
877 },
878 {
879 "label": "Win",
880 "x": 1.25,
881 "y": 5.5,
882 "w": 1.25
883 },
884 {
885 "label": "Alt",
886 "x": 2.5,
887 "y": 5.5,
888 "w": 1.25
889 },
890 {
891 "x": 3.75,
892 "y": 5.5,
893 "w": 6.25
894 },
895 {
896 "label": "Alt",
897 "x": 10,
898 "y": 5.5,
899 "w": 1.25
900 },
901 {
902 "label": "Win",
903 "x": 11.25,
904 "y": 5.5,
905 "w": 1.25
906 },
907 {
908 "label": "FN",
909 "x": 12.5,
910 "y": 5.5,
911 "w": 1.25
912 },
913 {
914 "label": "Ctrl",
915 "x": 13.75,
916 "y": 5.5,
917 "w": 1.25
918 },
919 {
920 "label": "\\u2190",
921 "x": 15.25,
922 "y": 5.5
923 },
924 {
925 "label": "\\u2193",
926 "x": 16.25,
927 "y": 5.5
928 },
929 {
930 "label": "\\u2192",
931 "x": 17.25,
932 "y": 5.5
933 }
934 ]
935 },
936 "LAYOUT_tkl_ansi_wkl": {
937 "key_count": 86,
938 "layout": [
939 {
940 "label": "Esc",
941 "x": 0,
942 "y": 0
943 },
944 {
945 "label": "F1",
946 "x": 2,
947 "y": 0
948 },
949 {
950 "label": "F2",
951 "x": 3,
952 "y": 0
953 },
954 {
955 "label": "F3",
956 "x": 4,
957 "y": 0
958 },
959 {
960 "label": "F4",
961 "x": 5,
962 "y": 0
963 },
964 {
965 "label": "F5",
966 "x": 6.5,
967 "y": 0
968 },
969 {
970 "label": "F6",
971 "x": 7.5,
972 "y": 0
973 },
974 {
975 "label": "F7",
976 "x": 8.5,
977 "y": 0
978 },
979 {
980 "label": "F8",
981 "x": 9.5,
982 "y": 0
983 },
984 {
985 "label": "F9",
986 "x": 11,
987 "y": 0
988 },
989 {
990 "label": "F10",
991 "x": 12,
992 "y": 0
993 },
994 {
995 "label": "F11",
996 "x": 13,
997 "y": 0
998 },
999 {
1000 "label": "F12",
1001 "x": 14,
1002 "y": 0
1003 },
1004 {
1005 "label": "PrtSc",
1006 "x": 15.25,
1007 "y": 0
1008 },
1009 {
1010 "label": "Scroll Lock",
1011 "x": 16.25,
1012 "y": 0
1013 },
1014 {
1015 "label": "Pause",
1016 "x": 17.25,
1017 "y": 0
1018 },
1019 {
1020 "label": "~",
1021 "x": 0,
1022 "y": 1.5
1023 },
1024 {
1025 "label": "!",
1026 "x": 1,
1027 "y": 1.5
1028 },
1029 {
1030 "label": "@",
1031 "x": 2,
1032 "y": 1.5
1033 },
1034 {
1035 "label": "#",
1036 "x": 3,
1037 "y": 1.5
1038 },
1039 {
1040 "label": "$",
1041 "x": 4,
1042 "y": 1.5
1043 },
1044 {
1045 "label": "%",
1046 "x": 5,
1047 "y": 1.5
1048 },
1049 {
1050 "label": "^",
1051 "x": 6,
1052 "y": 1.5
1053 },
1054 {
1055 "label": "&",
1056 "x": 7,
1057 "y": 1.5
1058 },
1059 {
1060 "label": "*",
1061 "x": 8,
1062 "y": 1.5
1063 },
1064 {
1065 "label": "(",
1066 "x": 9,
1067 "y": 1.5
1068 },
1069 {
1070 "label": ")",
1071 "x": 10,
1072 "y": 1.5
1073 },
1074 {
1075 "label": "_",
1076 "x": 11,
1077 "y": 1.5
1078 },
1079 {
1080 "label": "+",
1081 "x": 12,
1082 "y": 1.5
1083 },
1084 {
1085 "label": "Backspace",
1086 "x": 13,
1087 "y": 1.5,
1088 "w": 2
1089 },
1090 {
1091 "label": "Insert",
1092 "x": 15.25,
1093 "y": 1.5
1094 },
1095 {
1096 "label": "Home",
1097 "x": 16.25,
1098 "y": 1.5
1099 },
1100 {
1101 "label": "PgUp",
1102 "x": 17.25,
1103 "y": 1.5
1104 },
1105 {
1106 "label": "Tab",
1107 "x": 0,
1108 "y": 2.5,
1109 "w": 1.5
1110 },
1111 {
1112 "label": "Q",
1113 "x": 1.5,
1114 "y": 2.5
1115 },
1116 {
1117 "label": "W",
1118 "x": 2.5,
1119 "y": 2.5
1120 },
1121 {
1122 "label": "E",
1123 "x": 3.5,
1124 "y": 2.5
1125 },
1126 {
1127 "label": "R",
1128 "x": 4.5,
1129 "y": 2.5
1130 },
1131 {
1132 "label": "T",
1133 "x": 5.5,
1134 "y": 2.5
1135 },
1136 {
1137 "label": "Y",
1138 "x": 6.5,
1139 "y": 2.5
1140 },
1141 {
1142 "label": "U",
1143 "x": 7.5,
1144 "y": 2.5
1145 },
1146 {
1147 "label": "I",
1148 "x": 8.5,
1149 "y": 2.5
1150 },
1151 {
1152 "label": "O",
1153 "x": 9.5,
1154 "y": 2.5
1155 },
1156 {
1157 "label": "P",
1158 "x": 10.5,
1159 "y": 2.5
1160 },
1161 {
1162 "label": "{",
1163 "x": 11.5,
1164 "y": 2.5
1165 },
1166 {
1167 "label": "}",
1168 "x": 12.5,
1169 "y": 2.5
1170 },
1171 {
1172 "label": "|",
1173 "x": 13.5,
1174 "y": 2.5,
1175 "w": 1.5
1176 },
1177 {
1178 "label": "Delete",
1179 "x": 15.25,
1180 "y": 2.5
1181 },
1182 {
1183 "label": "End",
1184 "x": 16.25,
1185 "y": 2.5
1186 },
1187 {
1188 "label": "PgDn",
1189 "x": 17.25,
1190 "y": 2.5
1191 },
1192 {
1193 "label": "Caps Lock",
1194 "x": 0,
1195 "y": 3.5,
1196 "w": 1.75
1197 },
1198 {
1199 "label": "A",
1200 "x": 1.75,
1201 "y": 3.5
1202 },
1203 {
1204 "label": "S",
1205 "x": 2.75,
1206 "y": 3.5
1207 },
1208 {
1209 "label": "D",
1210 "x": 3.75,
1211 "y": 3.5
1212 },
1213 {
1214 "label": "F",
1215 "x": 4.75,
1216 "y": 3.5
1217 },
1218 {
1219 "label": "G",
1220 "x": 5.75,
1221 "y": 3.5
1222 },
1223 {
1224 "label": "H",
1225 "x": 6.75,
1226 "y": 3.5
1227 },
1228 {
1229 "label": "J",
1230 "x": 7.75,
1231 "y": 3.5
1232 },
1233 {
1234 "label": "K",
1235 "x": 8.75,
1236 "y": 3.5
1237 },
1238 {
1239 "label": "L",
1240 "x": 9.75,
1241 "y": 3.5
1242 },
1243 {
1244 "label": ":",
1245 "x": 10.75,
1246 "y": 3.5
1247 },
1248 {
1249 "label": "\"",
1250 "x": 11.75,
1251 "y": 3.5
1252 },
1253 {
1254 "label": "Enter",
1255 "x": 12.75,
1256 "y": 3.5,
1257 "w": 2.25
1258 },
1259 {
1260 "label": "Shift",
1261 "x": 0,
1262 "y": 4.5,
1263 "w": 2.25
1264 },
1265 {
1266 "label": "Z",
1267 "x": 2.25,
1268 "y": 4.5
1269 },
1270 {
1271 "label": "X",
1272 "x": 3.25,
1273 "y": 4.5
1274 },
1275 {
1276 "label": "C",
1277 "x": 4.25,
1278 "y": 4.5
1279 },
1280 {
1281 "label": "V",
1282 "x": 5.25,
1283 "y": 4.5
1284 },
1285 {
1286 "label": "B",
1287 "x": 6.25,
1288 "y": 4.5
1289 },
1290 {
1291 "label": "N",
1292 "x": 7.25,
1293 "y": 4.5
1294 },
1295 {
1296 "label": "M",
1297 "x": 8.25,
1298 "y": 4.5
1299 },
1300 {
1301 "label": "<",
1302 "x": 9.25,
1303 "y": 4.5
1304 },
1305 {
1306 "label": ">",
1307 "x": 10.25,
1308 "y": 4.5
1309 },
1310 {
1311 "label": "?",
1312 "x": 11.25,
1313 "y": 4.5
1314 },
1315 {
1316 "label": "Shift",
1317 "x": 12.25,
1318 "y": 4.5,
1319 "w": 2.75
1320 },
1321 {
1322 "label": "\\u2191",
1323 "x": 16.25,
1324 "y": 4.5
1325 },
1326 {
1327 "label": "Ctrl",
1328 "x": 0,
1329 "y": 5.5,
1330 "w": 1.5
1331 },
1332 {
1333 "label": "Win",
1334 "x": 1.5,
1335 "y": 5.5
1336 },
1337 {
1338 "label": "Alt",
1339 "x": 2.5,
1340 "y": 5.5,
1341 "w": 1.5
1342 },
1343 {
1344 "x": 4,
1345 "y": 5.5,
1346 "w": 7
1347 },
1348 {
1349 "label": "Alt",
1350 "x": 11,
1351 "y": 5.5,
1352 "w": 1.5
1353 },
1354 {
1355 "label": "Win",
1356 "x": 12.5,
1357 "y": 5.5
1358 },
1359 {
1360 "label": "Ctrl",
1361 "x": 13.5,
1362 "y": 5.5,
1363 "w": 1.5
1364 },
1365 {
1366 "label": "\\u2190",
1367 "x": 15.25,
1368 "y": 5.5
1369 },
1370 {
1371 "label": "\\u2193",
1372 "x": 16.25,
1373 "y": 5.5
1374 },
1375 {
1376 "label": "\\u2192",
1377 "x": 17.25,
1378 "y": 5.5
1379 }
1380 ]
1381 },
1382 "LAYOUT_7bit": {
1383 "key_count": 101,
1384 "layout": [
1385 {
1386 "label": "Esc",
1387 "x": 0,
1388 "y": 0
1389 },
1390 {
1391 "x": 1,
1392 "y": 0
1393 },
1394 {
1395 "label": "F1",
1396 "x": 2,
1397 "y": 0
1398 },
1399 {
1400 "label": "F2",
1401 "x": 3,
1402 "y": 0
1403 },
1404 {
1405 "label": "F3",
1406 "x": 4,
1407 "y": 0
1408 },
1409 {
1410 "label": "F4",
1411 "x": 5,
1412 "y": 0
1413 },
1414 {
1415 "x": 6,
1416 "y": 0
1417 },
1418 {
1419 "label": "F5",
1420 "x": 7,
1421 "y": 0
1422 },
1423 {
1424 "label": "F6",
1425 "x": 8,
1426 "y": 0
1427 },
1428 {
1429 "label": "F7",
1430 "x": 9,
1431 "y": 0
1432 },
1433 {
1434 "label": "F8",
1435 "x": 10,
1436 "y": 0
1437 },
1438 {
1439 "label": "F9",
1440 "x": 11,
1441 "y": 0
1442 },
1443 {
1444 "label": "F10",
1445 "x": 12,
1446 "y": 0
1447 },
1448 {
1449 "label": "F11",
1450 "x": 13,
1451 "y": 0
1452 },
1453 {
1454 "label": "F12",
1455 "x": 14,
1456 "y": 0
1457 },
1458 {
1459 "label": "PrtSc",
1460 "x": 15.25,
1461 "y": 0
1462 },
1463 {
1464 "label": "Scroll Lock",
1465 "x": 16.25,
1466 "y": 0
1467 },
1468 {
1469 "label": "Pause",
1470 "x": 17.25,
1471 "y": 0
1472 },
1473 {
1474 "label": "~",
1475 "x": 0,
1476 "y": 1.5
1477 },
1478 {
1479 "label": "!",
1480 "x": 1,
1481 "y": 1.5
1482 },
1483 {
1484 "label": "@",
1485 "x": 2,
1486 "y": 1.5
1487 },
1488 {
1489 "label": "#",
1490 "x": 3,
1491 "y": 1.5
1492 },
1493 {
1494 "label": "$",
1495 "x": 4,
1496 "y": 1.5
1497 },
1498 {
1499 "label": "%",
1500 "x": 5,
1501 "y": 1.5
1502 },
1503 {
1504 "label": "^",
1505 "x": 6,
1506 "y": 1.5
1507 },
1508 {
1509 "label": "&",
1510 "x": 7,
1511 "y": 1.5
1512 },
1513 {
1514 "label": "*",
1515 "x": 8,
1516 "y": 1.5
1517 },
1518 {
1519 "label": "(",
1520 "x": 9,
1521 "y": 1.5
1522 },
1523 {
1524 "label": ")",
1525 "x": 10,
1526 "y": 1.5
1527 },
1528 {
1529 "label": "_",
1530 "x": 11,
1531 "y": 1.5
1532 },
1533 {
1534 "label": "+",
1535 "x": 12,
1536 "y": 1.5
1537 },
1538 {
1539 "x": 13,
1540 "y": 1.5
1541 },
1542 {
1543 "x": 14,
1544 "y": 1.5
1545 },
1546 {
1547 "label": "Insert",
1548 "x": 15.25,
1549 "y": 1.5
1550 },
1551 {
1552 "label": "Home",
1553 "x": 16.25,
1554 "y": 1.5
1555 },
1556 {
1557 "label": "PgUp",
1558 "x": 17.25,
1559 "y": 1.5
1560 },
1561 {
1562 "label": "Tab",
1563 "x": 0,
1564 "y": 2.5,
1565 "w": 1.5
1566 },
1567 {
1568 "label": "Q",
1569 "x": 1.5,
1570 "y": 2.5
1571 },
1572 {
1573 "label": "W",
1574 "x": 2.5,
1575 "y": 2.5
1576 },
1577 {
1578 "label": "E",
1579 "x": 3.5,
1580 "y": 2.5
1581 },
1582 {
1583 "label": "R",
1584 "x": 4.5,
1585 "y": 2.5
1586 },
1587 {
1588 "label": "T",
1589 "x": 5.5,
1590 "y": 2.5
1591 },
1592 {
1593 "label": "Y",
1594 "x": 6.5,
1595 "y": 2.5
1596 },
1597 {
1598 "label": "U",
1599 "x": 7.5,
1600 "y": 2.5
1601 },
1602 {
1603 "label": "I",
1604 "x": 8.5,
1605 "y": 2.5
1606 },
1607 {
1608 "label": "O",
1609 "x": 9.5,
1610 "y": 2.5
1611 },
1612 {
1613 "label": "P",
1614 "x": 10.5,
1615 "y": 2.5
1616 },
1617 {
1618 "label": "{",
1619 "x": 11.5,
1620 "y": 2.5
1621 },
1622 {
1623 "label": "}",
1624 "x": 12.5,
1625 "y": 2.5
1626 },
1627 {
1628 "label": "|",
1629 "x": 13.5,
1630 "y": 2.5,
1631 "w": 1.5
1632 },
1633 {
1634 "label": "Delete",
1635 "x": 15.25,
1636 "y": 2.5
1637 },
1638 {
1639 "label": "End",
1640 "x": 16.25,
1641 "y": 2.5
1642 },
1643 {
1644 "label": "PgDn",
1645 "x": 17.25,
1646 "y": 2.5
1647 },
1648 {
1649 "label": "Caps Lock",
1650 "x": 0,
1651 "y": 3.5,
1652 "w": 1.75
1653 },
1654 {
1655 "label": "A",
1656 "x": 1.75,
1657 "y": 3.5
1658 },
1659 {
1660 "label": "S",
1661 "x": 2.75,
1662 "y": 3.5
1663 },
1664 {
1665 "label": "D",
1666 "x": 3.75,
1667 "y": 3.5
1668 },
1669 {
1670 "label": "F",
1671 "x": 4.75,
1672 "y": 3.5
1673 },
1674 {
1675 "label": "G",
1676 "x": 5.75,
1677 "y": 3.5
1678 },
1679 {
1680 "label": "H",
1681 "x": 6.75,
1682 "y": 3.5
1683 },
1684 {
1685 "label": "J",
1686 "x": 7.75,
1687 "y": 3.5
1688 },
1689 {
1690 "label": "K",
1691 "x": 8.75,
1692 "y": 3.5
1693 },
1694 {
1695 "label": "L",
1696 "x": 9.75,
1697 "y": 3.5
1698 },
1699 {
1700 "label": ":",
1701 "x": 10.75,
1702 "y": 3.5
1703 },
1704 {
1705 "label": "\"",
1706 "x": 11.75,
1707 "y": 3.5
1708 },
1709 {
1710 "x": 12.75,
1711 "y": 3.5
1712 },
1713 {
1714 "label": "Enter",
1715 "x": 13.75,
1716 "y": 3.5,
1717 "w": 1.25
1718 },
1719 {
1720 "x": 15.25,
1721 "y": 3.5
1722 },
1723 {
1724 "x": 16.25,
1725 "y": 3.5
1726 },
1727 {
1728 "x": 17.25,
1729 "y": 3.5
1730 },
1731 {
1732 "x": 0,
1733 "y": 4.5
1734 },
1735 {
1736 "label": "Shift",
1737 "x": 1,
1738 "y": 4.5,
1739 "w": 1.25
1740 },
1741 {
1742 "label": "Z",
1743 "x": 2.25,
1744 "y": 4.5
1745 },
1746 {
1747 "label": "X",
1748 "x": 3.25,
1749 "y": 4.5
1750 },
1751 {
1752 "label": "C",
1753 "x": 4.25,
1754 "y": 4.5
1755 },
1756 {
1757 "label": "V",
1758 "x": 5.25,
1759 "y": 4.5
1760 },
1761 {
1762 "label": "B",
1763 "x": 6.25,
1764 "y": 4.5
1765 },
1766 {
1767 "label": "N",
1768 "x": 7.25,
1769 "y": 4.5
1770 },
1771 {
1772 "label": "M",
1773 "x": 8.25,
1774 "y": 4.5
1775 },
1776 {
1777 "label": "<",
1778 "x": 9.25,
1779 "y": 4.5
1780 },
1781 {
1782 "label": ">",
1783 "x": 10.25,
1784 "y": 4.5
1785 },
1786 {
1787 "label": "?",
1788 "x": 11.25,
1789 "y": 4.5
1790 },
1791 {
1792 "label": "Shift",
1793 "x": 12.25,
1794 "y": 4.5,
1795 "w": 1.75
1796 },
1797 {
1798 "x": 14,
1799 "y": 4.5
1800 },
1801 {
1802 "x": 15.25,
1803 "y": 4.5
1804 },
1805 {
1806 "label": "\\u2191",
1807 "x": 16.25,
1808 "y": 4.5
1809 },
1810 {
1811 "x": 17.25,
1812 "y": 4.5
1813 },
1814 {
1815 "label": "Ctrl",
1816 "x": 0,
1817 "y": 5.5,
1818 "w": 1.5
1819 },
1820 {
1821 "label": "Win",
1822 "x": 1.5,
1823 "y": 5.5
1824 },
1825 {
1826 "label": "Alt",
1827 "x": 2.5,
1828 "y": 5.5,
1829 "w": 1.5
1830 },
1831 {
1832 "x": 4,
1833 "y": 5.5,
1834 "w": 1.5
1835 },
1836 {
1837 "x": 5.5,
1838 "y": 5.5,
1839 "w": 1.5
1840 },
1841 {
1842 "x": 7,
1843 "y": 5.5
1844 },
1845 {
1846 "x": 8,
1847 "y": 5.5,
1848 "w": 1.5
1849 },
1850 {
1851 "x": 9.5,
1852 "y": 5.5,
1853 "w": 1.5
1854 },
1855 {
1856 "label": "Alt",
1857 "x": 11,
1858 "y": 5.5,
1859 "w": 1.5
1860 },
1861 {
1862 "label": "Win",
1863 "x": 12.5,
1864 "y": 5.5
1865 },
1866 {
1867 "label": "Ctrl",
1868 "x": 13.5,
1869 "y": 5.5,
1870 "w": 1.5
1871 },
1872 {
1873 "label": "\\u2190",
1874 "x": 15.25,
1875 "y": 5.5
1876 },
1877 {
1878 "label": "\\u2193",
1879 "x": 16.25,
1880 "y": 5.5
1881 },
1882 {
1883 "label": "\\u2192",
1884 "x": 17.25,
1885 "y": 5.5
1886 }
1887 ]
1888 },
1889 "LAYOUT_tkl_iso_wkl": {
1890 "key_count": 87,
1891 "layout": [
1892 {
1893 "label": "Esc",
1894 "x": 0,
1895 "y": 0
1896 },
1897 {
1898 "label": "F1",
1899 "x": 2,
1900 "y": 0
1901 },
1902 {
1903 "label": "F2",
1904 "x": 3,
1905 "y": 0
1906 },
1907 {
1908 "label": "F3",
1909 "x": 4,
1910 "y": 0
1911 },
1912 {
1913 "label": "F4",
1914 "x": 5,
1915 "y": 0
1916 },
1917 {
1918 "label": "F5",
1919 "x": 6.5,
1920 "y": 0
1921 },
1922 {
1923 "label": "F6",
1924 "x": 7.5,
1925 "y": 0
1926 },
1927 {
1928 "label": "F7",
1929 "x": 8.5,
1930 "y": 0
1931 },
1932 {
1933 "label": "F8",
1934 "x": 9.5,
1935 "y": 0
1936 },
1937 {
1938 "label": "F9",
1939 "x": 11,
1940 "y": 0
1941 },
1942 {
1943 "label": "F10",
1944 "x": 12,
1945 "y": 0
1946 },
1947 {
1948 "label": "F11",
1949 "x": 13,
1950 "y": 0
1951 },
1952 {
1953 "label": "F12",
1954 "x": 14,
1955 "y": 0
1956 },
1957 {
1958 "label": "PrtSc",
1959 "x": 15.25,
1960 "y": 0
1961 },
1962 {
1963 "label": "Scroll Lock",
1964 "x": 16.25,
1965 "y": 0
1966 },
1967 {
1968 "label": "Pause",
1969 "x": 17.25,
1970 "y": 0
1971 },
1972 {
1973 "label": "~",
1974 "x": 0,
1975 "y": 1.5
1976 },
1977 {
1978 "label": "!",
1979 "x": 1,
1980 "y": 1.5
1981 },
1982 {
1983 "label": "@",
1984 "x": 2,
1985 "y": 1.5
1986 },
1987 {
1988 "label": "#",
1989 "x": 3,
1990 "y": 1.5
1991 },
1992 {
1993 "label": "$",
1994 "x": 4,
1995 "y": 1.5
1996 },
1997 {
1998 "label": "%",
1999 "x": 5,
2000 "y": 1.5
2001 },
2002 {
2003 "label": "^",
2004 "x": 6,
2005 "y": 1.5
2006 },
2007 {
2008 "label": "&",
2009 "x": 7,
2010 "y": 1.5
2011 },
2012 {
2013 "label": "*",
2014 "x": 8,
2015 "y": 1.5
2016 },
2017 {
2018 "label": "(",
2019 "x": 9,
2020 "y": 1.5
2021 },
2022 {
2023 "label": ")",
2024 "x": 10,
2025 "y": 1.5
2026 },
2027 {
2028 "label": "_",
2029 "x": 11,
2030 "y": 1.5
2031 },
2032 {
2033 "label": "+",
2034 "x": 12,
2035 "y": 1.5
2036 },
2037 {
2038 "label": "Backspace",
2039 "x": 13,
2040 "y": 1.5,
2041 "w": 2
2042 },
2043 {
2044 "label": "Insert",
2045 "x": 15.25,
2046 "y": 1.5
2047 },
2048 {
2049 "label": "Home",
2050 "x": 16.25,
2051 "y": 1.5
2052 },
2053 {
2054 "label": "PgUp",
2055 "x": 17.25,
2056 "y": 1.5
2057 },
2058 {
2059 "label": "Tab",
2060 "x": 0,
2061 "y": 2.5,
2062 "w": 1.5
2063 },
2064 {
2065 "label": "Q",
2066 "x": 1.5,
2067 "y": 2.5
2068 },
2069 {
2070 "label": "W",
2071 "x": 2.5,
2072 "y": 2.5
2073 },
2074 {
2075 "label": "E",
2076 "x": 3.5,
2077 "y": 2.5
2078 },
2079 {
2080 "label": "R",
2081 "x": 4.5,
2082 "y": 2.5
2083 },
2084 {
2085 "label": "T",
2086 "x": 5.5,
2087 "y": 2.5
2088 },
2089 {
2090 "label": "Y",
2091 "x": 6.5,
2092 "y": 2.5
2093 },
2094 {
2095 "label": "U",
2096 "x": 7.5,
2097 "y": 2.5
2098 },
2099 {
2100 "label": "I",
2101 "x": 8.5,
2102 "y": 2.5
2103 },
2104 {
2105 "label": "O",
2106 "x": 9.5,
2107 "y": 2.5
2108 },
2109 {
2110 "label": "P",
2111 "x": 10.5,
2112 "y": 2.5
2113 },
2114 {
2115 "label": "{",
2116 "x": 11.5,
2117 "y": 2.5
2118 },
2119 {
2120 "label": "}",
2121 "x": 12.5,
2122 "y": 2.5
2123 },
2124 {
2125 "label": "Delete",
2126 "x": 15.25,
2127 "y": 2.5
2128 },
2129 {
2130 "label": "End",
2131 "x": 16.25,
2132 "y": 2.5
2133 },
2134 {
2135 "label": "PgDn",
2136 "x": 17.25,
2137 "y": 2.5
2138 },
2139 {
2140 "label": "Caps Lock",
2141 "x": 0,
2142 "y": 3.5,
2143 "w": 1.75
2144 },
2145 {
2146 "label": "A",
2147 "x": 1.75,
2148 "y": 3.5
2149 },
2150 {
2151 "label": "S",
2152 "x": 2.75,
2153 "y": 3.5
2154 },
2155 {
2156 "label": "D",
2157 "x": 3.75,
2158 "y": 3.5
2159 },
2160 {
2161 "label": "F",
2162 "x": 4.75,
2163 "y": 3.5
2164 },
2165 {
2166 "label": "G",
2167 "x": 5.75,
2168 "y": 3.5
2169 },
2170 {
2171 "label": "H",
2172 "x": 6.75,
2173 "y": 3.5
2174 },
2175 {
2176 "label": "J",
2177 "x": 7.75,
2178 "y": 3.5
2179 },
2180 {
2181 "label": "K",
2182 "x": 8.75,
2183 "y": 3.5
2184 },
2185 {
2186 "label": "L",
2187 "x": 9.75,
2188 "y": 3.5
2189 },
2190 {
2191 "label": ":",
2192 "x": 10.75,
2193 "y": 3.5
2194 },
2195 {
2196 "label": "\"",
2197 "x": 11.75,
2198 "y": 3.5
2199 },
2200 {
2201 "x": 12.75,
2202 "y": 3.5
2203 },
2204 {
2205 "label": "Enter",
2206 "x": 13.75,
2207 "y": 2.5,
2208 "w": 1.25,
2209 "h": 2
2210 },
2211 {
2212 "label": "Shift",
2213 "x": 0,
2214 "y": 4.5,
2215 "w": 1.25
2216 },
2217 {
2218 "x": 1.25,
2219 "y": 4.5
2220 },
2221 {
2222 "label": "Z",
2223 "x": 2.25,
2224 "y": 4.5
2225 },
2226 {
2227 "label": "X",
2228 "x": 3.25,
2229 "y": 4.5
2230 },
2231 {
2232 "label": "C",
2233 "x": 4.25,
2234 "y": 4.5
2235 },
2236 {
2237 "label": "V",
2238 "x": 5.25,
2239 "y": 4.5
2240 },
2241 {
2242 "label": "B",
2243 "x": 6.25,
2244 "y": 4.5
2245 },
2246 {
2247 "label": "N",
2248 "x": 7.25,
2249 "y": 4.5
2250 },
2251 {
2252 "label": "M",
2253 "x": 8.25,
2254 "y": 4.5
2255 },
2256 {
2257 "label": "<",
2258 "x": 9.25,
2259 "y": 4.5
2260 },
2261 {
2262 "label": ">",
2263 "x": 10.25,
2264 "y": 4.5
2265 },
2266 {
2267 "label": "?",
2268 "x": 11.25,
2269 "y": 4.5
2270 },
2271 {
2272 "label": "Shift",
2273 "x": 12.25,
2274 "y": 4.5,
2275 "w": 2.75
2276 },
2277 {
2278 "label": "\\u2191",
2279 "x": 16.25,
2280 "y": 4.5
2281 },
2282 {
2283 "label": "Ctrl",
2284 "x": 0,
2285 "y": 5.5,
2286 "w": 1.5
2287 },
2288 {
2289 "label": "Win",
2290 "x": 1.5,
2291 "y": 5.5
2292 },
2293 {
2294 "label": "Alt",
2295 "x": 2.5,
2296 "y": 5.5,
2297 "w": 1.5
2298 },
2299 {
2300 "x": 4,
2301 "y": 5.5,
2302 "w": 7
2303 },
2304 {
2305 "label": "Alt",
2306 "x": 11,
2307 "y": 5.5,
2308 "w": 1.5
2309 },
2310 {
2311 "label": "Win",
2312 "x": 12.5,
2313 "y": 5.5
2314 },
2315 {
2316 "label": "Ctrl",
2317 "x": 13.5,
2318 "y": 5.5,
2319 "w": 1.5
2320 },
2321 {
2322 "label": "\\u2190",
2323 "x": 15.25,
2324 "y": 5.5
2325 },
2326 {
2327 "label": "\\u2193",
2328 "x": 16.25,
2329 "y": 5.5
2330 },
2331 {
2332 "label": "\\u2192",
2333 "x": 17.25,
2334 "y": 5.5
2335 }
2336 ]
2337 },
2338 "LAYOUT_tkl_iso": {
2339 "key_count": 88,
2340 "layout": [
2341 {
2342 "label": "Esc",
2343 "x": 0,
2344 "y": 0
2345 },
2346 {
2347 "label": "F1",
2348 "x": 2,
2349 "y": 0
2350 },
2351 {
2352 "label": "F2",
2353 "x": 3,
2354 "y": 0
2355 },
2356 {
2357 "label": "F3",
2358 "x": 4,
2359 "y": 0
2360 },
2361 {
2362 "label": "F4",
2363 "x": 5,
2364 "y": 0
2365 },
2366 {
2367 "label": "F5",
2368 "x": 6.5,
2369 "y": 0
2370 },
2371 {
2372 "label": "F6",
2373 "x": 7.5,
2374 "y": 0
2375 },
2376 {
2377 "label": "F7",
2378 "x": 8.5,
2379 "y": 0
2380 },
2381 {
2382 "label": "F8",
2383 "x": 9.5,
2384 "y": 0
2385 },
2386 {
2387 "label": "F9",
2388 "x": 11,
2389 "y": 0
2390 },
2391 {
2392 "label": "F10",
2393 "x": 12,
2394 "y": 0
2395 },
2396 {
2397 "label": "F11",
2398 "x": 13,
2399 "y": 0
2400 },
2401 {
2402 "label": "F12",
2403 "x": 14,
2404 "y": 0
2405 },
2406 {
2407 "label": "PrtSc",
2408 "x": 15.25,
2409 "y": 0
2410 },
2411 {
2412 "label": "Scroll Lock",
2413 "x": 16.25,
2414 "y": 0
2415 },
2416 {
2417 "label": "Pause",
2418 "x": 17.25,
2419 "y": 0
2420 },
2421 {
2422 "label": "¬",
2423 "x": 0,
2424 "y": 1.5
2425 },
2426 {
2427 "label": "!",
2428 "x": 1,
2429 "y": 1.5
2430 },
2431 {
2432 "label": "\"",
2433 "x": 2,
2434 "y": 1.5
2435 },
2436 {
2437 "label": "£",
2438 "x": 3,
2439 "y": 1.5
2440 },
2441 {
2442 "label": "$",
2443 "x": 4,
2444 "y": 1.5
2445 },
2446 {
2447 "label": "%",
2448 "x": 5,
2449 "y": 1.5
2450 },
2451 {
2452 "label": "^",
2453 "x": 6,
2454 "y": 1.5
2455 },
2456 {
2457 "label": "&",
2458 "x": 7,
2459 "y": 1.5
2460 },
2461 {
2462 "label": "*",
2463 "x": 8,
2464 "y": 1.5
2465 },
2466 {
2467 "label": "(",
2468 "x": 9,
2469 "y": 1.5
2470 },
2471 {
2472 "label": ")",
2473 "x": 10,
2474 "y": 1.5
2475 },
2476 {
2477 "label": "_",
2478 "x": 11,
2479 "y": 1.5
2480 },
2481 {
2482 "label": "+",
2483 "x": 12,
2484 "y": 1.5
2485 },
2486 {
2487 "label": "Backspace",
2488 "x": 13,
2489 "y": 1.5,
2490 "w": 2
2491 },
2492 {
2493 "label": "Insert",
2494 "x": 15.25,
2495 "y": 1.5
2496 },
2497 {
2498 "label": "Home",
2499 "x": 16.25,
2500 "y": 1.5
2501 },
2502 {
2503 "label": "PgUp",
2504 "x": 17.25,
2505 "y": 1.5
2506 },
2507 {
2508 "label": "Tab",
2509 "x": 0,
2510 "y": 2.5,
2511 "w": 1.5
2512 },
2513 {
2514 "label": "Q",
2515 "x": 1.5,
2516 "y": 2.5
2517 },
2518 {
2519 "label": "W",
2520 "x": 2.5,
2521 "y": 2.5
2522 },
2523 {
2524 "label": "E",
2525 "x": 3.5,
2526 "y": 2.5
2527 },
2528 {
2529 "label": "R",
2530 "x": 4.5,
2531 "y": 2.5
2532 },
2533 {
2534 "label": "T",
2535 "x": 5.5,
2536 "y": 2.5
2537 },
2538 {
2539 "label": "Y",
2540 "x": 6.5,
2541 "y": 2.5
2542 },
2543 {
2544 "label": "U",
2545 "x": 7.5,
2546 "y": 2.5
2547 },
2548 {
2549 "label": "I",
2550 "x": 8.5,
2551 "y": 2.5
2552 },
2553 {
2554 "label": "O",
2555 "x": 9.5,
2556 "y": 2.5
2557 },
2558 {
2559 "label": "P",
2560 "x": 10.5,
2561 "y": 2.5
2562 },
2563 {
2564 "label": "{",
2565 "x": 11.5,
2566 "y": 2.5
2567 },
2568 {
2569 "label": "}",
2570 "x": 12.5,
2571 "y": 2.5
2572 },
2573 {
2574 "label": "Delete",
2575 "x": 15.25,
2576 "y": 2.5
2577 },
2578 {
2579 "label": "End",
2580 "x": 16.25,
2581 "y": 2.5
2582 },
2583 {
2584 "label": "PgDn",
2585 "x": 17.25,
2586 "y": 2.5
2587 },
2588 {
2589 "label": "Caps Lock",
2590 "x": 0,
2591 "y": 3.5,
2592 "w": 1.75
2593 },
2594 {
2595 "label": "A",
2596 "x": 1.75,
2597 "y": 3.5
2598 },
2599 {
2600 "label": "S",
2601 "x": 2.75,
2602 "y": 3.5
2603 },
2604 {
2605 "label": "D",
2606 "x": 3.75,
2607 "y": 3.5
2608 },
2609 {
2610 "label": "F",
2611 "x": 4.75,
2612 "y": 3.5
2613 },
2614 {
2615 "label": "G",
2616 "x": 5.75,
2617 "y": 3.5
2618 },
2619 {
2620 "label": "H",
2621 "x": 6.75,
2622 "y": 3.5
2623 },
2624 {
2625 "label": "J",
2626 "x": 7.75,
2627 "y": 3.5
2628 },
2629 {
2630 "label": "K",
2631 "x": 8.75,
2632 "y": 3.5
2633 },
2634 {
2635 "label": "L",
2636 "x": 9.75,
2637 "y": 3.5
2638 },
2639 {
2640 "label": ":",
2641 "x": 10.75,
2642 "y": 3.5
2643 },
2644 {
2645 "label": "@",
2646 "x": 11.75,
2647 "y": 3.5
2648 },
2649 {
2650 "label": "~",
2651 "x": 12.75,
2652 "y": 3.5
2653 },
2654 {
2655 "label": "Enter",
2656 "x": 13.75,
2657 "y": 2.5,
2658 "w": 1.25,
2659 "h": 2
2660 },
2661 {
2662 "label": "Shift",
2663 "x": 0,
2664 "y": 4.5,
2665 "w": 1.25
2666 },
2667 {
2668 "label": "|",
2669 "x": 1.25,
2670 "y": 4.5
2671 },
2672 {
2673 "label": "Z",
2674 "x": 2.25,
2675 "y": 4.5
2676 },
2677 {
2678 "label": "X",
2679 "x": 3.25,
2680 "y": 4.5
2681 },
2682 {
2683 "label": "C",
2684 "x": 4.25,
2685 "y": 4.5
2686 },
2687 {
2688 "label": "V",
2689 "x": 5.25,
2690 "y": 4.5
2691 },
2692 {
2693 "label": "B",
2694 "x": 6.25,
2695 "y": 4.5
2696 },
2697 {
2698 "label": "N",
2699 "x": 7.25,
2700 "y": 4.5
2701 },
2702 {
2703 "label": "M",
2704 "x": 8.25,
2705 "y": 4.5
2706 },
2707 {
2708 "label": "<",
2709 "x": 9.25,
2710 "y": 4.5
2711 },
2712 {
2713 "label": ">",
2714 "x": 10.25,
2715 "y": 4.5
2716 },
2717 {
2718 "label": "?",
2719 "x": 11.25,
2720 "y": 4.5
2721 },
2722 {
2723 "label": "Shift",
2724 "x": 12.25,
2725 "y": 4.5,
2726 "w": 2.75
2727 },
2728 {
2729 "label": "\\u2191",
2730 "x": 16.25,
2731 "y": 4.5
2732 },
2733 {
2734 "label": "Ctrl",
2735 "x": 0,
2736 "y": 5.5,
2737 "w": 1.25
2738 },
2739 {
2740 "label": "Win",
2741 "x": 1.25,
2742 "y": 5.5,
2743 "w": 1.25
2744 },
2745 {
2746 "label": "Alt",
2747 "x": 2.5,
2748 "y": 5.5,
2749 "w": 1.25
2750 },
2751 {
2752 "x": 3.75,
2753 "y": 5.5,
2754 "w": 6.25
2755 },
2756 {
2757 "label": "AltGr",
2758 "x": 10,
2759 "y": 5.5,
2760 "w": 1.25
2761 },
2762 {
2763 "label": "Win",
2764 "x": 11.25,
2765 "y": 5.5,
2766 "w": 1.25
2767 },
2768 {
2769 "label": "Menu",
2770 "x": 12.5,
2771 "y": 5.5,
2772 "w": 1.25
2773 },
2774 {
2775 "label": "Ctrl",
2776 "x": 13.75,
2777 "y": 5.5,
2778 "w": 1.25
2779 },
2780 {
2781 "label": "\\u2190",
2782 "x": 15.25,
2783 "y": 5.5
2784 },
2785 {
2786 "label": "\\u2193",
2787 "x": 16.25,
2788 "y": 5.5
2789 },
2790 {
2791 "label": "\\u2192",
2792 "x": 17.25,
2793 "y": 5.5
2794 } 649 }
2795 ]
2796 } 650 }
2797 }
2798} 651}
diff --git a/keyboards/phantom/keymaps/default/config.h b/keyboards/phantom/keymaps/default/config.h
deleted file mode 100644
index 09b8f1bc7..000000000
--- a/keyboards/phantom/keymaps/default/config.h
+++ /dev/null
@@ -1,19 +0,0 @@
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
17#pragma once
18
19// place overrides here
diff --git a/keyboards/phantom/keymaps/default/keymap.c b/keyboards/phantom/keymaps/default/keymap.c
index d7001f066..0871827b2 100644
--- a/keyboards/phantom/keymaps/default/keymap.c
+++ b/keyboards/phantom/keymaps/default/keymap.c
@@ -13,46 +13,31 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
16#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
17 18
18// Each layer gets a name for readability, which is then used in the keymap matrix below. 19enum layer_names {
19// The underscores don't mean anything - you can have a layer called STUFF or any other name. 20 _BL,
20// Layer names don't all need to be of the same length, obviously, and you can also skip them 21 _FL
21// entirely and just use numbers. 22};
22#define _BL 0
23#define _FL 1
24 23
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BL] = LAYOUT_tkl_ansi( 25 [_BL] = LAYOUT_tkl_ansi(
27 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, \ 26 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,
28 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, \ 27
29 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, \ 28 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,
30 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, \ 29 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,
31 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, \ 30 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,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 31 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,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
33 ), 33 ),
34 [_FL] = LAYOUT_tkl_ansi( 34 [_FL] = LAYOUT_tkl_ansi(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, \ 35 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 36
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL, \ 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 40 _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 ), 41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
42 )
42}; 43};
43
44void matrix_init_user(void) {
45
46}
47
48void matrix_scan_user(void) {
49
50}
51
52bool process_record_user(uint16_t keycode, keyrecord_t *record) {
53 return true;
54}
55
56void led_set_user(uint8_t usb_led) {
57
58}
diff --git a/keyboards/phantom/keymaps/iso_uk/keymap.c b/keyboards/phantom/keymaps/iso_uk/keymap.c
index 43a7e55fb..0230ccb78 100644
--- a/keyboards/phantom/keymaps/iso_uk/keymap.c
+++ b/keyboards/phantom/keymaps/iso_uk/keymap.c
@@ -13,62 +13,31 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
16#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
17 18
18// Each layer gets a name for readability, which is then used in the keymap matrix below. 19enum layer_names {
19// The underscores don't mean anything - you can have a layer called STUFF or any other name. 20 _BL,
20// Layer names don't all need to be of the same length, obviously, and you can also skip them 21 _FL
21// entirely and just use numbers. 22};
22#define _BL 0
23#define _FL 1
24 23
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BL] = LAYOUT_tkl_iso( 25 [_BL] = LAYOUT_tkl_iso(
27 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, \ 26 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,
28 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, \ 27
29 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, \ 28 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,
30 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, \ 29 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,
31 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, \ 30 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,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 31 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,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
33 ), 33 ),
34 [_FL] = LAYOUT_tkl_iso( 34 [_FL] = LAYOUT_tkl_iso(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU, \ 35 _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSTP, KC_MPLY, KC_MPRV, KC_MNXT, KC_MUTE, KC_VOLD, KC_VOLU,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 36
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL, \ 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_MSEL,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 40 _______, _______, _______, _______, KC_CALC, _______, _______, _______, _______, _______, _______, _______, _______, _______,
41 ), 41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
42 )
42}; 43};
43
44const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
45{
46 // MACRODOWN only works in this function
47 switch(id) {
48 case 0:
49 if (record->event.pressed) {
50 register_code(KC_RSFT);
51 } else {
52 unregister_code(KC_RSFT);
53 }
54 break;
55 }
56 return MACRO_NONE;
57};
58
59
60void matrix_init_user(void) {
61
62}
63
64void matrix_scan_user(void) {
65
66}
67
68bool process_record_user(uint16_t keycode, keyrecord_t *record) {
69 return true;
70}
71
72void led_set_user(uint8_t usb_led) {
73
74}
diff --git a/keyboards/phantom/keymaps/rgbmod/config.h b/keyboards/phantom/keymaps/rgbmod/config.h
deleted file mode 100644
index a3828f7d5..000000000
--- a/keyboards/phantom/keymaps/rgbmod/config.h
+++ /dev/null
@@ -1,24 +0,0 @@
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
17#ifndef CONFIG_USER_H
18#define CONFIG_USER_H
19
20#include "../../config.h"
21
22// place overrides here
23
24#endif
diff --git a/keyboards/phantom/keymaps/rgbmod/keymap.c b/keyboards/phantom/keymaps/rgbmod/keymap.c
index e3a679239..9be30fbae 100644
--- a/keyboards/phantom/keymaps/rgbmod/keymap.c
+++ b/keyboards/phantom/keymaps/rgbmod/keymap.c
@@ -13,62 +13,31 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
16#include QMK_KEYBOARD_H 17#include QMK_KEYBOARD_H
17 18
18// Each layer gets a name for readability, which is then used in the keymap matrix below. 19enum layer_names {
19// The underscores don't mean anything - you can have a layer called STUFF or any other name. 20 _BL,
20// Layer names don't all need to be of the same length, obviously, and you can also skip them 21 _FL
21// entirely and just use numbers. 22};
22#define _BL 0
23#define _FL 1
24 23
25const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { 24const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
26 [_BL] = LAYOUT_tkl_ansi( 25 [_BL] = LAYOUT_tkl_ansi(
27 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, \ 26 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,
28 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, \ 27
29 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, \ 28 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,
30 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, \ 29 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,
31 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, \ 30 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,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT \ 31 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,
32 KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, KC_RGUI, MO(_FL), KC_RCTL, KC_LEFT, KC_DOWN, KC_RGHT
33 ), 33 ),
34 [_FL] = LAYOUT_tkl_ansi( 34 [_FL] = LAYOUT_tkl_ansi(
35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 35 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
36 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______, \ 36
37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, \ 37 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RESET, _______, _______, _______,
38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______, \ 38 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,
39 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______, \ 39 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_UP, _______,
40 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ \ 40 _______, RGB_TOG, RGB_MOD, RGB_HUI, RGB_HUD, RGB_SAI, RGB_SAD, RGB_VAI, RGB_VAD, _______, _______, _______, _______,
41 ), 41 _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______
42 )
42}; 43};
43
44const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
45{
46 // MACRODOWN only works in this function
47 switch(id) {
48 case 0:
49 if (record->event.pressed) {
50 register_code(KC_RSFT);
51 } else {
52 unregister_code(KC_RSFT);
53 }
54 break;
55 }
56 return MACRO_NONE;
57};
58
59
60void matrix_init_user(void) {
61
62}
63
64void matrix_scan_user(void) {
65
66}
67
68bool process_record_user(uint16_t keycode, keyrecord_t *record) {
69 return true;
70}
71
72void led_set_user(uint8_t usb_led) {
73
74}
diff --git a/keyboards/phantom/keymaps/rgbmod/rules.mk b/keyboards/phantom/keymaps/rgbmod/rules.mk
index e4865902c..1e3cebb14 100644
--- a/keyboards/phantom/keymaps/rgbmod/rules.mk
+++ b/keyboards/phantom/keymaps/rgbmod/rules.mk
@@ -1,34 +1 @@
1# Copyright 2013 Jun Wako <wakojun@gmail.com> RGBLIGHT_ENABLE = yes
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
17# QMK Build Options
18# change to "no" to disable the options, or define them in the Makefile in
19# the appropriate keymap folder that will get included automatically
20#
21BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
22MOUSEKEY_ENABLE = yes # Mouse keys
23EXTRAKEY_ENABLE = yes # Audio control and System control
24CONSOLE_ENABLE = no # Console for debug
25COMMAND_ENABLE = yes # Commands for debug and configuration
26NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
27BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
28MIDI_ENABLE = no # MIDI support
29AUDIO_ENABLE = no # Audio output on port C6
30UNICODE_ENABLE = no # Unicode
31BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
32RGBLIGHT_ENABLE = yes # Enable WS2812 RGB underlight. Do not enable this with audio at the same time.
33SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
34
diff --git a/keyboards/phantom/phantom.c b/keyboards/phantom/phantom.c
index 2bf1631b9..1017de009 100644
--- a/keyboards/phantom/phantom.c
+++ b/keyboards/phantom/phantom.c
@@ -13,51 +13,25 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16
16#include "phantom.h" 17#include "phantom.h"
17 18
18void matrix_init_kb(void) { 19void keyboard_pre_init_kb(void) {
19 // put your keyboard start-up code here
20 // runs once when the firmware starts up
21 led_init_ports(); 20 led_init_ports();
22 matrix_init_user();
23}
24
25void matrix_scan_kb(void) {
26 // put your looping keyboard code here
27 // runs every cycle (a lot)
28
29 matrix_scan_user();
30}
31 21
32bool process_record_kb(uint16_t keycode, keyrecord_t *record) { 22 keyboard_pre_init_user();
33 // put your per-action keyboard code here
34 // runs for every action, just before processing by the firmware
35
36 return process_record_user(keycode, record);
37} 23}
38 24
39void led_init_ports(void) { 25void led_init_ports(void) {
40 DDRB |= (1<<6) | (1<<7); // OUT 26 setPinOutput(B6);
27 setPinOutput(B7);
41} 28}
42 29
43void led_set_kb(uint8_t usb_led) { 30bool led_update_kb(led_t led_state) {
44 if (usb_led & (1<<USB_LED_CAPS_LOCK)) 31 if (led_update_user(led_state)) {
45 { 32 writePin(B6, led_state.caps_lock);
46 PORTB |= (1<<6); // HI 33 writePin(B7, led_state.scroll_lock);
47 }
48 else
49 {
50 PORTB &= ~(1<<6); // LO
51 }
52
53 if (usb_led & (1<<USB_LED_SCROLL_LOCK))
54 {
55 PORTB |= (1<<7); // HI
56 }
57 else
58 {
59 PORTB &= ~(1<<7); // LO
60 } 34 }
61 35
62 led_set_user(usb_led); 36 return true;
63} 37}
diff --git a/keyboards/phantom/phantom.h b/keyboards/phantom/phantom.h
index fa77634d3..8e09e218d 100644
--- a/keyboards/phantom/phantom.h
+++ b/keyboards/phantom/phantom.h
@@ -13,111 +13,111 @@
13 * You should have received a copy of the GNU General Public License 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/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef PHANTOM_H 16
17#define PHANTOM_H 17#pragma once
18 18
19#include "quantum.h" 19#include "quantum.h"
20 20
21#define XXX KC_NO
22
21// Keymap utilizing all the possible keys on the PCB. 23// Keymap utilizing all the possible keys on the PCB.
22#define LAYOUT_7bit( \ 24#define LAYOUT_all( \
23 K00, K53, K02, K03, K04, K05, K56, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 25 k00, k53, k02, k03, k04, k05, k56, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
24 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G, \ 26 k01, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G, \
25 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 27 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \
26 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G, \ 28 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k3G, \
27 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G, \ 29 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G, \
28 K50, K51, K52, K54, K55, K57, K58, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 30 k50, k51, k52, k54, k55, k57, k58, k5A, k5B, k5C, k5D, k5E, k5F, k5G \
29) { \ 31) { \
30/* 0 1 2 3 4 5 6 7 8 9 A B C D E F G */ \ 32 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
31/* 0 */ { K00, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G }, \ 33 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1C, k1D, k1E, k1F, k1G }, \
32/* 1 */ { K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1C, K1D, K1E, K1F, K1G }, \ 34 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
33/* 2 */ { K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G }, \ 35 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E, k3F, k3G }, \
34/* 3 */ { K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, K3E, K3F, K3G }, \ 36 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4C, k4D, k4E, k4F, k4G }, \
35/* 4 */ { K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4C, K4D, K4E, K4F, K4G }, \ 37 { k50, k51, k52, k53, k54, k55, k56, k57, k58, XXX, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
36/* 5 */ { K50, K51, K52, K53, K54, K55, K56, K57, K58, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G } \
37} 38}
38 39
39
40// Keymap for a standard ANSI layout. 40// Keymap for a standard ANSI layout.
41#define LAYOUT_tkl_ansi( \ 41#define LAYOUT_tkl_ansi( \
42 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 42 k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
43 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 43 k01, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, k1G, \
44 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 44 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \
45 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ 45 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \
46 K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 46 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D, k4F, \
47 K50, K51, K52, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 47 k50, k51, k52, k57, k5A, k5B, k5C, k5D, k5E, k5F, k5G \
48) LAYOUT_7bit( \ 48) { \
49 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 49 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
50 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 50 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, XXX, k1D, k1E, k1F, k1G }, \
51 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 51 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
52 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO, \ 52 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX, XXX, XXX }, \
53 K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ 53 { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, XXX, k4D, XXX, k4F, XXX }, \
54 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 54 { k50, k51, k52, XXX, XXX, XXX, XXX, k57, XXX, XXX, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
55) 55}
56 56
57// Keymap for a standard ANSI layout plus the five extra keys 57// Keymap for a standard ANSI layout plus the five extra keys
58// above the arrow block. 58// above the arrow block.
59#define LAYOUT_tkl_ansi_plus_five( \ 59#define LAYOUT_tkl_ansi_plus_five( \
60 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 60 k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
61 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 61 k01, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, k1G, \
62 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 62 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \
63 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, K3E, K3F, K3G, \ 63 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, k3E, k3F, k3G, \
64 K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4E, K4F, K4G, \ 64 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D, k4E, k4F, k4G, \
65 K50, K51, K52, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 65 k50, k51, k52, k57, k5A, k5B, k5C, k5D, k5E, k5F, k5G \
66) LAYOUT_7bit( \ 66) { \
67 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 67 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
68 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 68 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, XXX, k1D, k1E, k1F, k1G }, \
69 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 69 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
70 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, K3E, K3F, K3G, \ 70 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, k3E, k3F, k3G }, \
71 K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, K4E, K4F, K4G, \ 71 { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, XXX, k4D, k4E, k4F, k4G }, \
72 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 72 { k50, k51, k52, XXX, XXX, XXX, XXX, k57, XXX, XXX, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
73) 73}
74 74
75#define LAYOUT_tkl_ansi_wkl( \ 75#define LAYOUT_tkl_ansi_wkl( \
76 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 76 k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
77 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 77 k01, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, k1G, \
78 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 78 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G, \
79 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3D, \ 79 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3D, \
80 K40, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 80 k40, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D, k4F, \
81 K50, K51, K52, K57, K5B, K5C, K5D, K5E, K5F, K5G \ 81 k50, k51, k52, k57, k5B, k5C, k5D, k5E, k5F, k5G \
82) LAYOUT_7bit( \ 82) { \
83 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 83 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
84 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 84 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, XXX, k1D, k1E, k1F, k1G }, \
85 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2D, K2E, K2F, K2G, \ 85 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2D, k2E, k2F, k2G }, \
86 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, KC_NO, K3D, KC_NO, KC_NO, KC_NO, \ 86 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, XXX, k3D, XXX, XXX, XXX }, \
87 K40, KC_NO, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ 87 { k40, XXX, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, XXX, k4D, XXX, k4F, XXX }, \
88 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, KC_NO, K5B, K5C, K5D, K5E, K5F, K5G \ 88 { k50, k51, k52, XXX, XXX, XXX, XXX, k57, XXX, XXX, XXX, k5B, k5C, k5D, k5E, k5F, k5G } \
89) 89}
90 90
91#define LAYOUT_tkl_iso( \ 91#define LAYOUT_tkl_iso( \
92 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 92 k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
93 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 93 k01, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, k1G, \
94 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ 94 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, k2F, k2G, \
95 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ 95 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
96 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 96 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D, k4F, \
97 K50, K51, K52, K57, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 97 k50, k51, k52, k57, k5A, k5B, k5C, k5D, k5E, k5F, k5G \
98) LAYOUT_7bit( \ 98) { \
99 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 99 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
100 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 100 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, XXX, k1D, k1E, k1F, k1G }, \
101 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F, K2G, \ 101 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E, k2F, k2G }, \
102 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO, \ 102 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, XXX, XXX }, \
103 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ 103 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, XXX, k4D, XXX, k4F, XXX }, \
104 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, K5A, K5B, K5C, K5D, K5E, K5F, K5G \ 104 { k50, k51, k52, XXX, XXX, XXX, XXX, k57, XXX, XXX, k5A, k5B, k5C, k5D, k5E, k5F, k5G } \
105) 105}
106 106
107#define LAYOUT_tkl_iso_wkl( \ 107#define LAYOUT_tkl_iso_wkl( \
108 K00, K02, K03, K04, K05, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 108 k00, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G, \
109 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, K1D, K1E, K1F, K1G, \ 109 k01, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, k1D, k1E, k1F, k1G, \
110 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, K2E, K2F, K2G, \ 110 k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, k2E, k2F, k2G, \
111 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, \ 111 k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, \
112 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, K4D, K4F, \ 112 k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, k4D, k4F, \
113 K50, K51, K52, K57, K5B, K5C, K5D, K5E, K5F, K5G \ 113 k50, k51, k52, k57, k5B, k5C, k5D, k5E, k5F, k5G \
114) LAYOUT_7bit( \ 114) { \
115 K00, KC_NO, K02, K03, K04, K05, KC_NO, K06, K07, K08, K09, K0A, K0B, K0C, K0D, K0E, K0F, K0G, \ 115 { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C, k0D, k0E, k0F, k0G }, \
116 K01, K10, K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, K1B, KC_NO, K1D, K1E, K1F, K1G, \ 116 { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1A, k1B, XXX, k1D, k1E, k1F, k1G }, \
117 K20, K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A, K2B, K2C, KC_NO, K2E, K2F, K2G, \ 117 { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2A, k2B, k2C, XXX, k2E, k2F, k2G }, \
118 K30, K31, K32, K33, K34, K35, K36, K37, K38, K39, K3A, K3B, K3C, K3D, KC_NO, KC_NO, KC_NO, \ 118 { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, XXX, XXX, XXX }, \
119 K40, K41, K42, K43, K44, K45, K46, K47, K48, K49, K4A, K4B, KC_NO, K4D, KC_NO, K4F, KC_NO, \ 119 { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4A, k4B, XXX, k4D, XXX, k4F, XXX }, \
120 K50, K51, K52, KC_NO, KC_NO, K57, KC_NO, KC_NO, K5B, K5C, K5D, K5E, K5F, K5G \ 120 { k50, k51, k52, XXX, XXX, XXX, XXX, k57, XXX, XXX, XXX, k5B, k5C, k5D, k5E, k5F, k5G } \
121) 121}
122 122
123#endif 123#define LAYOUT_7bit LAYOUT_all
diff --git a/keyboards/phantom/readme.md b/keyboards/phantom/readme.md
index b25630958..857525d98 100644
--- a/keyboards/phantom/readme.md
+++ b/keyboards/phantom/readme.md
@@ -1,16 +1,19 @@
1Phantom 1# Phantom
2=======
3 2
4A community-developed keyboard PCB designed to fit inside the case of a Filco Majestouch. 3A community-developed keyboard PCB designed to fit inside the case of a Filco Majestouch.
5 4
6See the [Deskthority wiki](https://deskthority.net/wiki/Phantom) for more information. 5See the [Deskthority wiki](https://deskthority.net/wiki/Phantom) for more information.
7 6
8Keyboard Maintainer: QMK Community 7* Keyboard Maintainer: QMK Community
9Hardware Supported: Phantom PCB 8* Hardware Supported: Phantom PCB
10Hardware Availability: https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=536 9* Hardware Availability: https://mechanicalkeyboards.com/shop/index.php?l=product_detail&p=536
11 10
12Make example for this keyboard (after setting up your build environment): 11Make example for this keyboard (after setting up your build environment):
13 12
14 make phantom:default 13 make phantom:default
15 14
16See [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) then the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. 15Flashing example for this keyboard:
16
17 make phantom:default:flash
18
19See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).
diff --git a/keyboards/phantom/rules.mk b/keyboards/phantom/rules.mk
index 79c64ac7a..53d53e46c 100644
--- a/keyboards/phantom/rules.mk
+++ b/keyboards/phantom/rules.mk
@@ -2,19 +2,12 @@
2MCU = atmega32u4 2MCU = atmega32u4
3 3
4# Bootloader selection 4# Bootloader selection
5# Teensy halfkay
6# Pro Micro caterina
7# Atmel DFU atmel-dfu
8# LUFA DFU lufa-dfu
9# QMK DFU qmk-dfu
10# ATmega32A bootloadHID
11# ATmega328P USBasp
12BOOTLOADER = halfkay 5BOOTLOADER = halfkay
13 6
14# Build Options 7# Build Options
15# change yes to no to disable 8# change yes to no to disable
16# 9#
17BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration 10BOOTMAGIC_ENABLE = full # Virtual DIP switch configuration
18MOUSEKEY_ENABLE = yes # Mouse keys 11MOUSEKEY_ENABLE = yes # Mouse keys
19EXTRAKEY_ENABLE = yes # Audio control and System control 12EXTRAKEY_ENABLE = yes # Audio control and System control
20CONSOLE_ENABLE = no # Console for debug 13CONSOLE_ENABLE = no # Console for debug
@@ -24,11 +17,8 @@ SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
24# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work 17# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
25NKRO_ENABLE = yes # USB Nkey Rollover 18NKRO_ENABLE = yes # USB Nkey Rollover
26BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality 19BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality
27RGBLIGHT_ENABLE = no # Enable WS2812 RGB underlight. Do not enable this with audio at the same time. 20RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow
28MIDI_ENABLE = no # MIDI support 21BLUETOOTH_ENABLE = no # Enable Bluetooth
29UNICODE_ENABLE = no # Unicode 22AUDIO_ENABLE = no # Audio output
30BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
31AUDIO_ENABLE = no # Audio output on port C6
32FAUXCLICKY_ENABLE = no # Use buzzer to emulate clicky switches
33 23
34LAYOUTS = tkl_ansi tkl_iso 24LAYOUTS = tkl_ansi tkl_iso