diff --git a/keyboards/bastardkb/skeletyl/blackpill/chconf.h b/keyboards/bastardkb/skeletyl/blackpill/chconf.h new file mode 100644 index 0000000000..04ff4362ae --- /dev/null +++ b/keyboards/bastardkb/skeletyl/blackpill/chconf.h @@ -0,0 +1,38 @@ +/* Copyright 2020 QMK + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +/* + * This file was auto-generated by: + * `qmk chibios-confmigrate -i keyboards/handwired/onekey/blackpill_f401/chconf.h -r platforms/chibios/common/configs/chconf.h` + */ + +#pragma once + +#define CH_CFG_ST_FREQUENCY 10000 + +#define CH_CFG_FACTORY_OBJECTS_REGISTRY TRUE + +#define CH_CFG_FACTORY_GENERIC_BUFFERS TRUE + +#define CH_CFG_FACTORY_SEMAPHORES TRUE + +#define CH_CFG_FACTORY_MAILBOXES TRUE + +#define CH_CFG_FACTORY_OBJ_FIFOS TRUE + +#define CH_CFG_FACTORY_PIPES TRUE + +#include_next diff --git a/keyboards/bastardkb/skeletyl/blackpill/config.h b/keyboards/bastardkb/skeletyl/blackpill/config.h index cbff281ddc..3b3784f184 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/config.h +++ b/keyboards/bastardkb/skeletyl/blackpill/config.h @@ -27,6 +27,9 @@ /* Handedness. */ #define SPLIT_HAND_PIN A3 // High -> left, Low -> right. + +/* Drasha: may have a solution for the suspend wake issues with the blackpills: */ +#define USB_SUSPEND_WAKEUP_DELAY 200 /* RGB settings. */ #define RGB_DI_PIN A1 @@ -46,6 +49,7 @@ #define CRC8_OPTIMIZE_SPEED /* SPI config for EEPROM. */ +/* #define SPI_DRIVER SPID1 #define SPI_SCK_PIN A5 #define SPI_SCK_PAL_MODE 5 @@ -53,6 +57,37 @@ #define SPI_MOSI_PAL_MODE 5 #define SPI_MISO_PIN A6 #define SPI_MISO_PAL_MODE 5 - +*/ /* EEPROM config. */ -#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 +//#define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN A4 + + +#define ENABLE_RGB_MATRIX_ALPHAS_MODS Enables RGB_MATRIX_ALPHAS_MODS +#define ENABLE_RGB_MATRIX_GRADIENT_UP_DOWN +#define ENABLE_RGB_MATRIX_GRADIENT_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_BREATHING +#define ENABLE_RGB_MATRIX_BAND_SAT +#define ENABLE_RGB_MATRIX_BAND_VAL +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_SAT +#define ENABLE_RGB_MATRIX_BAND_PINWHEEL_VAL +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_SAT +#define ENABLE_RGB_MATRIX_BAND_SPIRAL_VAL +#define ENABLE_RGB_MATRIX_CYCLE_ALL +#define ENABLE_RGB_MATRIX_CYCLE_LEFT_RIGHT +#define ENABLE_RGB_MATRIX_CYCLE_UP_DOWN +#define ENABLE_RGB_MATRIX_RAINBOW_MOVING_CHEVRON +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN +#define ENABLE_RGB_MATRIX_CYCLE_OUT_IN_DUAL +#define ENABLE_RGB_MATRIX_CYCLE_PINWHEEL +#define ENABLE_RGB_MATRIX_CYCLE_SPIRAL +#define ENABLE_RGB_MATRIX_DUAL_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_BEACON +#define ENABLE_RGB_MATRIX_RAINBOW_PINWHEELS +#define ENABLE_RGB_MATRIX_RAINDROPS +#define ENABLE_RGB_MATRIX_JELLYBEAN_RAINDROPS +#define ENABLE_RGB_MATRIX_HUE_BREATHING +#define ENABLE_RGB_MATRIX_HUE_PENDULUM +#define ENABLE_RGB_MATRIX_HUE_WAVE +#define ENABLE_RGB_MATRIX_PIXEL_FRACTAL +#define ENABLE_RGB_MATRIX_PIXEL_FLOW +#define ENABLE_RGB_MATRIX_PIXEL_RAIN diff --git a/keyboards/bastardkb/skeletyl/blackpill/halconf.h b/keyboards/bastardkb/skeletyl/blackpill/halconf.h index 0d4b7b5dc5..5a73889a19 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/halconf.h +++ b/keyboards/bastardkb/skeletyl/blackpill/halconf.h @@ -21,9 +21,9 @@ #define HAL_USE_PWM TRUE #define HAL_USE_SERIAL TRUE //#define HAL_USE_I2C TRUE -#define HAL_USE_SPI TRUE -#define SPI_USE_WAIT TRUE -#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD -#define HAL_USE_GPT TRUE +//#define HAL_USE_SPI TRUE +//#define SPI_USE_WAIT TRUE +//#define SPI_SELECT_MODE SPI_SELECT_MODE_PAD +//#define HAL_USE_GPT TRUE #include_next diff --git a/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h b/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h index e7cf3681fd..a09a012a76 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h +++ b/keyboards/bastardkb/skeletyl/blackpill/mcuconf.h @@ -21,8 +21,8 @@ #include_next -#undef STM32_I2C_USE_I2C1 -#define STM32_I2C_USE_I2C1 FALSE +//#undef STM32_I2C_USE_I2C1 +//#define STM32_I2C_USE_I2C1 FALSE //#undef STM32_I2C_I2C1_RX_DMA_STREAM //#define STM32_I2C_I2C1_RX_DMA_STREAM STM32_DMA_STREAM_ID(1, 0) @@ -35,8 +35,8 @@ //#undef STM32_PWM_USE_TIM3 //#define STM32_PWM_USE_TIM3 TRUE -#undef STM32_SPI_USE_SPI1 -#define STM32_SPI_USE_SPI1 TRUE +//#undef STM32_SPI_USE_SPI1 +//#define STM32_SPI_USE_SPI1 TRUE //#undef STM32_SPI_SPI1_RX_DMA_STREAM //#define STM32_SPI_SPI1_RX_DMA_STREAM STM32_DMA_STREAM_ID(2, 0) @@ -54,8 +54,8 @@ //#undef STM32_UART_USART2_TX_DMA_STREAM //#define STM32_UART_USART2_TX_DMA_STREAM STM32_DMA_STREAM_ID(1, 6) -#undef STM32_GPT_USE_TIM3 -#define STM32_GPT_USE_TIM3 TRUE +//#undef STM32_GPT_USE_TIM3 +//#define STM32_GPT_USE_TIM3 TRUE #undef STM32_ST_USE_TIMER #define STM32_ST_USE_TIMER 5 diff --git a/keyboards/bastardkb/skeletyl/blackpill/rules.mk b/keyboards/bastardkb/skeletyl/blackpill/rules.mk index 4ecd8c6924..18aa91d3d9 100644 --- a/keyboards/bastardkb/skeletyl/blackpill/rules.mk +++ b/keyboards/bastardkb/skeletyl/blackpill/rules.mk @@ -1,6 +1,6 @@ # MCU name -MCU = STM32F411 -BOARD = BLACKPILL_STM32_F411 +MCU = STM32F401 +BOARD = BLACKPILL_STM32_F401 # Bootloader selection BOOTLOADER = stm32-dfu @@ -11,7 +11,7 @@ BOOTLOADER = stm32-dfu BOOTMAGIC_ENABLE = yes # Enable Bootmagic Lite MOUSEKEY_ENABLE = yes # Mouse keys EXTRAKEY_ENABLE = yes # Audio control and System control -CONSOLE_ENABLE = no # Console for debug +CONSOLE_ENABLE = yes # Console for debug COMMAND_ENABLE = no # Commands for debug and configuration NKRO_ENABLE = no # Enable N-Key Rollover BACKLIGHT_ENABLE = no # Enable keyboard backlight functionality @@ -30,7 +30,7 @@ LAYOUTS = split_3x5_3 MOUSE_SHARED_EP = no # Unify multiple HID interfaces into a single Endpoint KEYBOARD_SHARED_EP = yes -EEPROM_DRIVER = spi +#EEPROM_DRIVER = spi WS2812_DRIVER = pwm SERIAL_DRIVER = usart diff --git a/keyboards/bastardkb/skeletyl/keymaps/tompi-original/config.h b/keyboards/bastardkb/skeletyl/keymaps/tompi-original/config.h new file mode 100644 index 0000000000..ddd375dc9d --- /dev/null +++ b/keyboards/bastardkb/skeletyl/keymaps/tompi-original/config.h @@ -0,0 +1,60 @@ +/* +Copyright 2020 Pierre Chevalier + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD + +// Pick good defaults for enabling homerow modifiers +#define TAPPING_TERM 280 +// #define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD +//#define RETRO_TAPPING +// +#undef MATRIX_COL_PINS +#define MATRIX_COL_PINS \ + { B1, B10, B4, B3, B8 } +#undef MATRIX_COL_PINS_RIGHT +#define MATRIX_COL_PINS_RIGHT \ + { B1, B10, B3, B4, B5 } + +#undef MATRIX_ROW_PINS +#define MATRIX_ROW_PINS \ + { A2, B5, B9, A8 } +#undef MATRIX_ROW_PINS_RIGHT +#define MATRIX_ROW_PINS_RIGHT \ + { A2, B8, A8, B9 } + +// Underglow configuration +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 +#endif + + /* Top left key on left half */ + #undef BOOTMAGIC_LITE_ROW + #undef BOOTMAGIC_LITE_COLUMN + #define BOOTMAGIC_LITE_ROW 0 + #define BOOTMAGIC_LITE_COLUMN 0 + /* Top right key on right half */ + #undef BOOTMAGIC_LITE_ROW_RIGHT + #undef BOOTMAGIC_LITE_COLUMN_RIGHT + #define BOOTMAGIC_LITE_ROW_RIGHT 4 + #define BOOTMAGIC_LITE_COLUMN_RIGHT 4 diff --git a/keyboards/bastardkb/skeletyl/keymaps/tompi-original/keymap.json b/keyboards/bastardkb/skeletyl/keymaps/tompi-original/keymap.json new file mode 100644 index 0000000000..dc263182b9 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/keymaps/tompi-original/keymap.json @@ -0,0 +1,277 @@ +{ + "version": 1, + "notes": "My awesome keymap", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "bastardkb/skeletyl/blackpill", + "keymap": "default", + "layout": "LAYOUT_split_3x5_3", + "layers": [ + [ + "KC_Q", + "KC_W", + "KC_F", + "KC_P", + "KC_B", + "KC_J", + "KC_L", + "KC_U", + "KC_Y", + "KC_SCLN", + "LGUI_T(KC_A)", + "LALT_T(KC_R)", + "LCTL_T(KC_S)", + "LSFT_T(KC_T)", + "KC_G", + "KC_M", + "RSFT_T(KC_N)", + "LCTL_T(KC_E)", + "LALT_T(KC_I)", + "LGUI_T(KC_O)", + "KC_Z", + "KC_X", + "KC_C", + "KC_D", + "LT(5,KC_V)", + "LT(1,KC_K)", + "KC_H", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "LT(6,KC_ESC)", + "LT(3,KC_SPC)", + "LT(5,KC_TAB)", + "LT(1,KC_DEL)", + "LT(2,KC_BSPC)", + "LT(4,KC_ENT)" + ], + [ + "KC_VOLU", + "KC_WH_L", + "KC_MS_U", + "KC_WH_U", + "KC_WH_R", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "QK_RBT", + "KC_MS_L", + "KC_BTN2", + "KC_BTN1", + "KC_MS_R", + "KC_MUTE", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_VOLD", + "KC_MNXT", + "KC_MS_D", + "KC_WH_D", + "KC_MPLY", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_NO", + "KC_HOME", + "KC_DEL", + "KC_PGUP", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_LEFT", + "KC_UP", + "KC_RGHT", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_END", + "KC_DOWN", + "KC_PGDN", + "KC_NO", + "KC_NO", + "KC_BTN1", + "KC_BTN2", + "KC_BTN3", + "KC_BTN4", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_WH_U", + "KC_AT", + "KC_UNDS", + "KC_PIPE", + "KC_QUOT", + "KC_PERC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RGB_TOG", + "KC_HASH", + "KC_TAB", + "KC_EXLM", + "KC_DQUO", + "KC_DLR", + "KC_BTN4", + "KC_BTN3", + "KC_BTN2", + "KC_BTN1", + "KC_WH_D", + "KC_TILD", + "KC_QUOT", + "KC_BSLS", + "KC_SLSH", + "KC_AMPR", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_NO" + ], + [ + "KC_EQL", + "KC_COLN", + "KC_LT", + "KC_GT", + "KC_SCLN", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_LCBR", + "KC_RCBR", + "KC_LPRN", + "KC_RPRN", + "KC_AT", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_MINS", + "KC_EXLM", + "KC_LBRC", + "KC_RBRC", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO" + ], + [ + "QK_RBT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_F11", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F12", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "RGB_SPI", + "RGB_VAI", + "RGB_SAI", + "RGB_HUI", + "RGB_MOD", + "KC_PPLS", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PAST", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RGB_TOG", + "KC_PMNS", + "KC_P4", + "KC_P5", + "KC_P6", + "KC_PSLS", + "RGB_SPD", + "RGB_VAD", + "RGB_SAD", + "RGB_HUD", + "RGB_RMOD", + "KC_PDOT", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PEQL", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_0", + "KC_COMM", + "KC_P0" + ] + ], + "author": "thomas.haukland@gmail.com" +} diff --git a/keyboards/bastardkb/skeletyl/keymaps/tompi/config.h b/keyboards/bastardkb/skeletyl/keymaps/tompi/config.h new file mode 100644 index 0000000000..6daa7155dc --- /dev/null +++ b/keyboards/bastardkb/skeletyl/keymaps/tompi/config.h @@ -0,0 +1,47 @@ +/* +Copyright 2020 Pierre Chevalier + +This program is free software: you can redistribute it and/or modify +it under the terms of the GNU General Public License as published by +the Free Software Foundation, either version 2 of the License, or +(at your option) any later version. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#pragma once + +#define BOTH_SHIFTS_TURNS_ON_CAPS_WORD + +// Pick good defaults for enabling homerow modifiers +#define TAPPING_TERM 280 +// #define PERMISSIVE_HOLD +#define IGNORE_MOD_TAP_INTERRUPT +#define TAPPING_FORCE_HOLD +//#define RETRO_TAPPING +// + +// Underglow configuration +#ifdef RGBLIGHT_ENABLE + #define RGBLIGHT_ANIMATIONS + #define RGBLIGHT_HUE_STEP 8 + #define RGBLIGHT_SAT_STEP 8 + #define RGBLIGHT_VAL_STEP 8 +#endif + + /* Top left key on left half */ + #undef BOOTMAGIC_LITE_ROW + #undef BOOTMAGIC_LITE_COLUMN + #define BOOTMAGIC_LITE_ROW 0 + #define BOOTMAGIC_LITE_COLUMN 0 + /* Top right key on right half */ + #undef BOOTMAGIC_LITE_ROW_RIGHT + #undef BOOTMAGIC_LITE_COLUMN_RIGHT + #define BOOTMAGIC_LITE_ROW_RIGHT 4 + #define BOOTMAGIC_LITE_COLUMN_RIGHT 4 diff --git a/keyboards/bastardkb/skeletyl/keymaps/tompi/keymap.json b/keyboards/bastardkb/skeletyl/keymaps/tompi/keymap.json new file mode 100644 index 0000000000..dc263182b9 --- /dev/null +++ b/keyboards/bastardkb/skeletyl/keymaps/tompi/keymap.json @@ -0,0 +1,277 @@ +{ + "version": 1, + "notes": "My awesome keymap", + "documentation": "\"This file is a QMK Configurator export. You can import this at . It can also be used directly with QMK's source code.\n\nTo setup your QMK environment check out the tutorial: \n\nYou can convert this file to a keymap.c using this command: `qmk json2c {keymap}`\n\nYou can compile this keymap using this command: `qmk compile {keymap}`\"\n", + "keyboard": "bastardkb/skeletyl/blackpill", + "keymap": "default", + "layout": "LAYOUT_split_3x5_3", + "layers": [ + [ + "KC_Q", + "KC_W", + "KC_F", + "KC_P", + "KC_B", + "KC_J", + "KC_L", + "KC_U", + "KC_Y", + "KC_SCLN", + "LGUI_T(KC_A)", + "LALT_T(KC_R)", + "LCTL_T(KC_S)", + "LSFT_T(KC_T)", + "KC_G", + "KC_M", + "RSFT_T(KC_N)", + "LCTL_T(KC_E)", + "LALT_T(KC_I)", + "LGUI_T(KC_O)", + "KC_Z", + "KC_X", + "KC_C", + "KC_D", + "LT(5,KC_V)", + "LT(1,KC_K)", + "KC_H", + "KC_COMM", + "KC_DOT", + "KC_SLSH", + "LT(6,KC_ESC)", + "LT(3,KC_SPC)", + "LT(5,KC_TAB)", + "LT(1,KC_DEL)", + "LT(2,KC_BSPC)", + "LT(4,KC_ENT)" + ], + [ + "KC_VOLU", + "KC_WH_L", + "KC_MS_U", + "KC_WH_U", + "KC_WH_R", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "QK_RBT", + "KC_MS_L", + "KC_BTN2", + "KC_BTN1", + "KC_MS_R", + "KC_MUTE", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_VOLD", + "KC_MNXT", + "KC_MS_D", + "KC_WH_D", + "KC_MPLY", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_NO", + "KC_HOME", + "KC_DEL", + "KC_PGUP", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_LEFT", + "KC_UP", + "KC_RGHT", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_END", + "KC_DOWN", + "KC_PGDN", + "KC_NO", + "KC_NO", + "KC_BTN1", + "KC_BTN2", + "KC_BTN3", + "KC_BTN4", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO" + ], + [ + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_WH_U", + "KC_AT", + "KC_UNDS", + "KC_PIPE", + "KC_QUOT", + "KC_PERC", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RGB_TOG", + "KC_HASH", + "KC_TAB", + "KC_EXLM", + "KC_DQUO", + "KC_DLR", + "KC_BTN4", + "KC_BTN3", + "KC_BTN2", + "KC_BTN1", + "KC_WH_D", + "KC_TILD", + "KC_QUOT", + "KC_BSLS", + "KC_SLSH", + "KC_AMPR", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_NO" + ], + [ + "KC_EQL", + "KC_COLN", + "KC_LT", + "KC_GT", + "KC_SCLN", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_LCBR", + "KC_RCBR", + "KC_LPRN", + "KC_RPRN", + "KC_AT", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_MINS", + "KC_EXLM", + "KC_LBRC", + "KC_RBRC", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO" + ], + [ + "QK_RBT", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_F7", + "KC_F8", + "KC_F9", + "KC_F10", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_NO", + "KC_NO", + "KC_F4", + "KC_F5", + "KC_F6", + "KC_F11", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_F1", + "KC_F2", + "KC_F3", + "KC_F12", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS" + ], + [ + "RGB_SPI", + "RGB_VAI", + "RGB_SAI", + "RGB_HUI", + "RGB_MOD", + "KC_PPLS", + "KC_P7", + "KC_P8", + "KC_P9", + "KC_PAST", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "KC_TRNS", + "RGB_TOG", + "KC_PMNS", + "KC_P4", + "KC_P5", + "KC_P6", + "KC_PSLS", + "RGB_SPD", + "RGB_VAD", + "RGB_SAD", + "RGB_HUD", + "RGB_RMOD", + "KC_PDOT", + "KC_P1", + "KC_P2", + "KC_P3", + "KC_PEQL", + "KC_NO", + "KC_NO", + "KC_NO", + "KC_0", + "KC_COMM", + "KC_P0" + ] + ], + "author": "thomas.haukland@gmail.com" +}