diff options
Diffstat (limited to 'keyboards/acheron')
43 files changed, 41 insertions, 288 deletions
diff --git a/keyboards/acheron/apollo/87h/delta/config.h b/keyboards/acheron/apollo/87h/delta/config.h index 8b92c3f4b2..5874b50665 100644 --- a/keyboards/acheron/apollo/87h/delta/config.h +++ b/keyboards/acheron/apollo/87h/delta/config.h @@ -27,12 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { B3 , D2 , C12, A6 , A5 , A4 } #define DIODE_DIRECTION COL2ROW -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/apollo/87h/delta/info.json b/keyboards/acheron/apollo/87h/delta/info.json index 8f501970a5..4e14f51df0 100644 --- a/keyboards/acheron/apollo/87h/delta/info.json +++ b/keyboards/acheron/apollo/87h/delta/info.json @@ -3,5 +3,7 @@ "usb": { "pid": "0x8775", "device_version": "0.0.4" - } + }, + "processor": "STM32F401", + "bootloader": "stm32-dfu" } diff --git a/keyboards/acheron/apollo/87h/delta/rules.mk b/keyboards/acheron/apollo/87h/delta/rules.mk index 4fa4db5450..0f7a9e78f7 100644 --- a/keyboards/acheron/apollo/87h/delta/rules.mk +++ b/keyboards/acheron/apollo/87h/delta/rules.mk @@ -1,10 +1,3 @@ -# MCU name -MCU = STM32F401 -BOARD = GENERIC_STM32_F401XC - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/apollo/87h/gamma/config.h b/keyboards/acheron/apollo/87h/gamma/config.h index f18733c333..db57281877 100644 --- a/keyboards/acheron/apollo/87h/gamma/config.h +++ b/keyboards/acheron/apollo/87h/gamma/config.h @@ -27,12 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { C14, C13, B9 , B4 , A3 , A2 } #define DIODE_DIRECTION COL2ROW -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/apollo/87h/gamma/info.json b/keyboards/acheron/apollo/87h/gamma/info.json index 6a7a382eaa..4a93afd70c 100644 --- a/keyboards/acheron/apollo/87h/gamma/info.json +++ b/keyboards/acheron/apollo/87h/gamma/info.json @@ -3,5 +3,7 @@ "usb": { "pid": "0x8774", "device_version": "0.0.3" - } + }, + "processor": "STM32F411", + "bootloader": "stm32-dfu" } diff --git a/keyboards/acheron/apollo/87h/gamma/rules.mk b/keyboards/acheron/apollo/87h/gamma/rules.mk index 5b419929d5..419a95fe02 100644 --- a/keyboards/acheron/apollo/87h/gamma/rules.mk +++ b/keyboards/acheron/apollo/87h/gamma/rules.mk @@ -1,10 +1,3 @@ -# MCU name -MCU = STM32F411 -BOARD = GENERIC_STM32_F411XE - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/apollo/87htsc/config.h b/keyboards/acheron/apollo/87htsc/config.h index 918546f3d3..226deba17d 100644 --- a/keyboards/acheron/apollo/87htsc/config.h +++ b/keyboards/acheron/apollo/87htsc/config.h @@ -27,12 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { B3 , D2 , C12, A6 , A5 , A4 } #define DIODE_DIRECTION COL2ROW -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/apollo/87htsc/info.json b/keyboards/acheron/apollo/87htsc/info.json index b2a9cf1643..68fc1b018a 100644 --- a/keyboards/acheron/apollo/87htsc/info.json +++ b/keyboards/acheron/apollo/87htsc/info.json @@ -8,6 +8,8 @@ "pid": "0x8776", "device_version": "0.0.1" }, + "processor": "STM32F401", + "bootloader": "stm32-dfu", "layouts": { "LAYOUT_tkl_ansi_tsangan": { "layout": [ diff --git a/keyboards/acheron/apollo/87htsc/rules.mk b/keyboards/acheron/apollo/87htsc/rules.mk index 4fa4db5450..0f7a9e78f7 100644 --- a/keyboards/acheron/apollo/87htsc/rules.mk +++ b/keyboards/acheron/apollo/87htsc/rules.mk @@ -1,10 +1,3 @@ -# MCU name -MCU = STM32F401 -BOARD = GENERIC_STM32_F401XC - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/apollo/88htsc/config.h b/keyboards/acheron/apollo/88htsc/config.h index 8b92c3f4b2..5874b50665 100644 --- a/keyboards/acheron/apollo/88htsc/config.h +++ b/keyboards/acheron/apollo/88htsc/config.h @@ -27,12 +27,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { B3 , D2 , C12, A6 , A5 , A4 } #define DIODE_DIRECTION COL2ROW -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/apollo/88htsc/info.json b/keyboards/acheron/apollo/88htsc/info.json index 4d695faf70..92dd801826 100644 --- a/keyboards/acheron/apollo/88htsc/info.json +++ b/keyboards/acheron/apollo/88htsc/info.json @@ -8,6 +8,8 @@ "pid": "0x8873", "device_version": "0.0.1" }, + "processor": "STM32F401", + "bootloader": "stm32-dfu", "layouts": { "LAYOUT_tkl_f13_ansi_tsangan": { "layout": [ diff --git a/keyboards/acheron/apollo/88htsc/rules.mk b/keyboards/acheron/apollo/88htsc/rules.mk index 4fa4db5450..0f7a9e78f7 100644 --- a/keyboards/acheron/apollo/88htsc/rules.mk +++ b/keyboards/acheron/apollo/88htsc/rules.mk @@ -1,10 +1,3 @@ -# MCU name -MCU = STM32F401 -BOARD = GENERIC_STM32_F401XC - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/arctic/config.h b/keyboards/acheron/arctic/config.h index 63fa908081..8e087114f1 100644 --- a/keyboards/acheron/arctic/config.h +++ b/keyboards/acheron/arctic/config.h @@ -25,20 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { B7, B6, A6, A7, B1} #define DIODE_DIRECTION COL2ROW -//#define BACKLIGHT_PIN A6 -//#define BACKLIGHT_PWM_DRIVER PWMD3 -//#define BACKLIGHT_PWM_CHANNEL 1 -//#define BACKLIGHT_PAL_MODE 1 -//#define BACKLIGHT_LEVELS 6 -//#define BACKLIGHT_BREATHING -//#define BREATHING_PERIOD 6 - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/arctic/info.json b/keyboards/acheron/arctic/info.json index a0102aaaab..42a7bb7b42 100644 --- a/keyboards/acheron/arctic/info.json +++ b/keyboards/acheron/arctic/info.json @@ -8,6 +8,8 @@ "pid": "0x4152", "device_version": "0.0.1" }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", "layouts": { "LAYOUT_60_ansi_tsangan": { "layout": [ diff --git a/keyboards/acheron/arctic/rules.mk b/keyboards/acheron/arctic/rules.mk index fd44980786..0aeca0dd9f 100644 --- a/keyboards/acheron/arctic/rules.mk +++ b/keyboards/acheron/arctic/rules.mk @@ -1,9 +1,3 @@ -# MCU name -MCU = STM32F072 - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/athena/alpha/config.h b/keyboards/acheron/athena/alpha/config.h index 99dbd76c6f..01192025c0 100644 --- a/keyboards/acheron/athena/alpha/config.h +++ b/keyboards/acheron/athena/alpha/config.h @@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#include "config_common.h" #define MATRIX_ROWS 6 #define MATRIX_COLS 17 @@ -27,8 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW -#define DEBOUNCE 5 - #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE diff --git a/keyboards/acheron/athena/alpha/info.json b/keyboards/acheron/athena/alpha/info.json index 03640fd01d..10d720983c 100644 --- a/keyboards/acheron/athena/alpha/info.json +++ b/keyboards/acheron/athena/alpha/info.json @@ -3,5 +3,7 @@ "usb": { "pid": "0x6584", "device_version": "0.0.1" - } + }, + "processor": "STM32F411", + "bootloader": "stm32-dfu" } diff --git a/keyboards/acheron/athena/alpha/rules.mk b/keyboards/acheron/athena/alpha/rules.mk index 7711254bbe..962a27694f 100644 --- a/keyboards/acheron/athena/alpha/rules.mk +++ b/keyboards/acheron/athena/alpha/rules.mk @@ -1,10 +1,3 @@ -# MCU name -MCU = STM32F411 -BOARD = GENERIC_STM32_F411XE - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/athena/beta/config.h b/keyboards/acheron/athena/beta/config.h index 4b2ae3f06b..7c85861eea 100644 --- a/keyboards/acheron/athena/beta/config.h +++ b/keyboards/acheron/athena/beta/config.h @@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#include "config_common.h" #define MATRIX_ROWS 6 #define MATRIX_COLS 17 @@ -27,8 +26,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define DIODE_DIRECTION COL2ROW -#define DEBOUNCE 5 - #define LOCKING_SUPPORT_ENABLE #define LOCKING_RESYNC_ENABLE diff --git a/keyboards/acheron/athena/beta/info.json b/keyboards/acheron/athena/beta/info.json index 7db7665fe2..237c783866 100644 --- a/keyboards/acheron/athena/beta/info.json +++ b/keyboards/acheron/athena/beta/info.json @@ -3,5 +3,7 @@ "usb": { "pid": "0x6585", "device_version": "0.0.2" - } + }, + "processor": "STM32F401", + "bootloader": "stm32-dfu" } diff --git a/keyboards/acheron/athena/beta/rules.mk b/keyboards/acheron/athena/beta/rules.mk index 81bbce68c1..962a27694f 100644 --- a/keyboards/acheron/athena/beta/rules.mk +++ b/keyboards/acheron/athena/beta/rules.mk @@ -1,9 +1,3 @@ -MCU = STM32F401 -BOARD = GENERIC_STM32_F401XC - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/austin/config.h b/keyboards/acheron/austin/config.h index 3b51bb3f86..9de87c263e 100644 --- a/keyboards/acheron/austin/config.h +++ b/keyboards/acheron/austin/config.h @@ -33,12 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define BACKLIGHT_BREATHING #define BREATHING_PERIOD 6 -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/austin/info.json b/keyboards/acheron/austin/info.json index 6fda03534e..3f76e22f0c 100755 --- a/keyboards/acheron/austin/info.json +++ b/keyboards/acheron/austin/info.json @@ -8,6 +8,8 @@ "pid": "0x4175", "device_version": "0.0.1" }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/acheron/austin/rules.mk b/keyboards/acheron/austin/rules.mk index 89a416941f..295d6960ee 100644 --- a/keyboards/acheron/austin/rules.mk +++ b/keyboards/acheron/austin/rules.mk @@ -1,9 +1,3 @@ -# MCU name -MCU = STM32F072 - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/elongate/beta/config.h b/keyboards/acheron/elongate/beta/config.h index d801d3f6d9..c4425e6e85 100644 --- a/keyboards/acheron/elongate/beta/config.h +++ b/keyboards/acheron/elongate/beta/config.h @@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#include "config_common.h" /* key matrix size */ #define MATRIX_ROWS 5 @@ -39,15 +38,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW -/* - * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. - */ -// #define SOFT_SERIAL_PIN D0 // or D1, D2, D3, E6 - -// #define BACKLIGHT_PIN B7 -// #define BACKLIGHT_BREATHING -// #define BACKLIGHT_LEVELS 3 - #define RGB_DI_PIN D7 #ifdef RGB_DI_PIN #define RGBLED_NUM 16 @@ -74,43 +64,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. // #define RGBLIGHT_EFFECT_BREATHE_MAX 255 // 0 to 255 #endif -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE -/* If defined, GRAVE_ESC will always act as ESC when CTRL is held. - * This is userful for the Windows task manager shortcut (ctrl+shift+esc). - */ -// #define GRAVE_ESC_CTRL_OVERRIDE - -/* - * Force NKRO - * - * Force NKRO (nKey Rollover) to be enabled by default, regardless of the saved - * state in the bootmagic EEPROM settings. (Note that NKRO must be enabled in the - * makefile for this to work.) - * - * If forced on, NKRO can be disabled via magic key (default = LShift+RShift+N) - * until the next keyboard reset. - * - * NKRO may prevent your keystrokes from being detected in the BIOS, but it is - * fully operational during normal computer usage. - * - * For a less heavy-handed approach, enable NKRO via magic key (LShift+RShift+N) - * or via bootmagic (hold SPACE+N while plugging in the keyboard). Once set by - * bootmagic, NKRO mode will always be enabled until it is toggled again during a - * power-up. - * - */ -//#define FORCE_NKRO - /* * Feature disable options * These options are also useful to firmware size reduction. @@ -127,10 +85,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define NO_ACTION_TAPPING //#define NO_ACTION_ONESHOT -/* Bootmagic Lite key configuration */ -// #define BOOTMAGIC_LITE_ROW 0 -// #define BOOTMAGIC_LITE_COLUMN 0 - #define LED_NUM_LOCK_PIN D2 #define LED_CAPS_LOCK_PIN D1 #define LED_SCROLL_LOCK_PIN D0 diff --git a/keyboards/acheron/elongate/beta/info.json b/keyboards/acheron/elongate/beta/info.json index 7eb1de3c17..f381712a0c 100644 --- a/keyboards/acheron/elongate/beta/info.json +++ b/keyboards/acheron/elongate/beta/info.json @@ -8,6 +8,8 @@ "pid": "0x454C", "device_version": "0.0.1" }, + "processor": "atmega32u4", + "bootloader": "atmel-dfu", "layouts": { "LAYOUT": { "layout": [ diff --git a/keyboards/acheron/elongate/beta/rules.mk b/keyboards/acheron/elongate/beta/rules.mk index 976f6aecc1..2aff52b20a 100644 --- a/keyboards/acheron/elongate/beta/rules.mk +++ b/keyboards/acheron/elongate/beta/rules.mk @@ -1,9 +1,3 @@ -# MCU name -MCU = atmega32u4 - -# Bootloader selection -BOOTLOADER = atmel-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/elongate/delta/config.h b/keyboards/acheron/elongate/delta/config.h index 8ebc6300d7..0b875dc2f6 100755 --- a/keyboards/acheron/elongate/delta/config.h +++ b/keyboards/acheron/elongate/delta/config.h @@ -17,7 +17,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once -#include "config_common.h" #define MATRIX_ROWS 5 #define MATRIX_COLS 15 @@ -53,12 +52,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_DEFAULT_MODE (RGBLIGHT_MODE_RAINBOW_SWIRL + 5) -/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 - -/* define if matrix has ghost (lacks anti-ghosting diodes) */ -//#define MATRIX_HAS_GHOST - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/elongate/delta/info.json b/keyboards/acheron/elongate/delta/info.json index 54e58deb92..d763023926 100644 --- a/keyboards/acheron/elongate/delta/info.json +++ b/keyboards/acheron/elongate/delta/info.json @@ -8,6 +8,8 @@ "pid": "0x454D", "device_version": "0.0.2" }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", "layouts": { "LAYOUT_all": { "layout": [ diff --git a/keyboards/acheron/elongate/delta/rules.mk b/keyboards/acheron/elongate/delta/rules.mk index 20a0bab85e..f84ab5d602 100755 --- a/keyboards/acheron/elongate/delta/rules.mk +++ b/keyboards/acheron/elongate/delta/rules.mk @@ -1,9 +1,3 @@ -# MCU name -MCU = STM32F072 - -# Bootloader selection -BOOTLOADER = stm32-dfu - # Build Options # change yes to no to disable # diff --git a/keyboards/acheron/keebspcb/config.h b/keyboards/acheron/keebspcb/config.h index 4991c68a50..21a05fc181 100644 --- a/keyboards/acheron/keebspcb/config.h +++ b/keyboards/acheron/keebspcb/config.h @@ -25,20 +25,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define MATRIX_ROW_PINS { B4, B3, A2, A3, A4} #define DIODE_DIRECTION COL2ROW -//#define BACKLIGHT_PIN A6 -//#define BACKLIGHT_PWM_DRIVER PWMD3 -//#define BACKLIGHT_PWM_CHANNEL 1 -//#define BACKLIGHT_PAL_MODE 1 -//#define BACKLIGHT_LEVELS 6 -//#define BACKLIGHT_BREATHING -//#define BREATHING_PERIOD 6 - -/* define if matrix has ghost */ -//#define MATRIX_HAS_GHOST - -/* Set 0 if debouncing isn't needed */ -#define DEBOUNCE 5 - /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ diff --git a/keyboards/acheron/keebspcb/info.json b/keyboards/acheron/keebspcb/info.json index 31dc899c42..9c96a01191 100644 --- a/keyboards/acheron/keebspcb/info.json +++ b/keyboards/acheron/keebspcb/info.json @@ -8,6 +8,9 @@ "pid": "0x4B45", "device_version": "0.0.1" }, + "processor": "STM32F072", + "bootloader": "stm32-dfu", + "community_layouts": ["60_ansi_tsangan"], "layouts": { "LAYOUT_60_ansi_tsangan": { "layout": [{"label":"~", "x":0, "y":0}, {"label":"!", "x":1, "y":0}, {"label":"@", "x":2, "y":0}, {"label":"#", "x":3, "y":0}, {"label":"$", "x":4, "y":0}, {"label":"%", "x":5, "y":0}, {"label":"^", "x":6, "y":0}, {"label":"&", "x":7, "y":0}, {"label":"*", "x":8, "y":0}, {"label":"(", "x":9, "y":0}, {"label":")", "x":10, "y":0}, {"label":"_", "x":11, "y":0}, {"label":"+", "x":12, "y":0}, {"label":"Backspace", "x":13, "y":0, "w":2}, {"label":"Tab", "x":0, "y":1, "w":1.5}, {"label":"Q", "x":1.5, "y":1}, {"label":"W", "x":2.5, "y":1}, {"label":"E", "x":3.5, "y":1}, {"label":"R", "x":4.5, "y":1}, {"label":"T", "x":5.5, "y":1}, {"label":"Y", "x":6.5, "y":1}, {"label":"U", "x":7.5, "y":1}, {"label":"I", "x":8.5, "y":1}, {"label":"O", "x":9.5, "y":1}, {"label":"P", "x":10.5, "y":1}, {"label":"{", "x":11.5, "y":1}, {"label":"}", "x":12.5, "y":1}, {"label":"|", "x":13.5, "y":1, "w":1.5}, {"label":"Caps Lock", "x":0, "y":2, "w":1.75}, {"label":"A", "x":1.75, "y":2}, {"label":"S", "x":2.75, "y":2}, {"label":"D", "x":3.75, "y":2}, {"label":"F", "x":4.75, "y":2}, {"label":"G", "x":5.75, "y":2}, {"label":"H", "x":6.75, "y":2}, {"label":"J", "x":7.75, "y":2}, {"label":"K", "x":8.75, "y":2}, {"label":"L", "x":9.75, "y":2}, {"label":":", "x":10.75, "y":2}, {"label":"\"", "x":11.75, "y":2}, {"label":"Enter", "x":12.75, "y":2, "w":2.25}, {"label":"Shift", "x":0, "y":3, "w":2.25}, {"label":"Z", "x":2.25, "y":3}, {"label":"X", "x":3.25, "y":3}, {"label":"C", "x":4.25, "y":3}, {"label":"V", "x":5.25, "y":3}, {"label":"B", "x":6.25, "y":3}, {"label":"N", "x":7.25, "y":3}, {"label":"M", "x":8.25, "y":3}, {"label":"<", "x":9.25, "y":3}, {"label":">", "x":10.25, "y":3}, {"label":"?", "x":11.25, "y":3}, {"label":"Shift", "x":12.25, "y":3, "w":2.75}, {"label":"Ctrl", "x":0, "y":4, "w":1.5}, {"label":"Win", "x":1.5, "y":4}, {"label":"Alt", "x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"label":"Alt", "x":11, "y":4, "w":1.5}, {"label":"Win", "x":12.5, "y":4}, {"label":"Menu", " |