]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
Clueboard refresh (#4902)
authorskullydazed <skullydazed@users.noreply.github.com>
Wed, 23 Jan 2019 17:25:32 +0000 (09:25 -0800)
committerGitHub <noreply@github.com>
Wed, 23 Jan 2019 17:25:32 +0000 (09:25 -0800)
* Cluecard: refactor

- renamed layout macro KEYMAP to LAYOUT
- reformatted layout macro to more closely resemble physical device layout
- keymaps now use #include QMK_KEYBOARD_H
- config.h files updated to use #pragma once method
- deleted outdated QUANTUM_DIR code blocks from rules.mk files
- white space changes on rules.mk files (alignment/readability)

* Cluecard: Configurator support

* Cluecard: readme update

- added image
- updated Docs links

* Clueboard 66% HotSwap: corrected matrix and Configurator data

- removed k31 and k84 from LAYOUT
  - both appear to be unsupported for this PCB according to images on clueboard.co
  - updated block comment mock-ups to match changes
- rebuilt info.json file
- delete removed keys from default keymap.c

* Clueboard 66% HotSwap: readme update

- fix make example
- updated Docs links

* Clueboard 66% HotSwap: 66_ansi keymap update

Updated to use #include QMK_KEYBOARD_H

* Clueboard 60% refactor

- renamed layout macro KEYMAP to LAYOUT_all
- renamed layout macro KEYMAP_AEK to LAYOUT_aek
- removed redundant KC_TRNS definitions from keymaps
- all keymaps now use #include QMK_KEYBOARD_H

* Clueboard 17%: refactor

* Clueboard 17%: Configurator support

* Clueboard 17%: update Docs links in readme

* Cleanup the 2x1800 files

* Update Clueboard 60% to standard matrix

* Update the clueboard default keymaps

* Refresh and update clueboard 17

* Add the 66% hotswap to Clueboard's readme

* Clarify the 66% hotswap's readme

* change the image to imgur

* Update the clueboard 66 to follow modern standards

* update clueboard 66_hotswap to follow modern practices

* Move the logo to imgur

* update clueboard/card to follow modern practices

* remove clueboard/66 as a valid make target

* Address comments in #4902

* fix user keymaps after the changes

101 files changed:
keyboards/clueboard/17/17.c
keyboards/clueboard/17/17.h
keyboards/clueboard/17/info.json [new file with mode: 0644]
keyboards/clueboard/17/keymaps/default/keymap.c
keyboards/clueboard/17/readme.md
keyboards/clueboard/17/rules.mk
keyboards/clueboard/2x1800/2x1800.c
keyboards/clueboard/2x1800/2x1800.h
keyboards/clueboard/2x1800/config.h
keyboards/clueboard/2x1800/info.json
keyboards/clueboard/2x1800/keymaps/default/config.h
keyboards/clueboard/2x1800/keymaps/default_4u/config.h
keyboards/clueboard/2x1800/keymaps/default_7u/config.h
keyboards/clueboard/2x1800/keymaps/macroboard/config.h
keyboards/clueboard/2x1800/keymaps/mouseboard_left/config.h
keyboards/clueboard/2x1800/keymaps/mouseboard_left/rules.mk [deleted file]
keyboards/clueboard/2x1800/keymaps/mouseboard_right/config.h
keyboards/clueboard/2x1800/keymaps/mouseboard_right/rules.mk [deleted file]
keyboards/clueboard/2x1800/readme.md
keyboards/clueboard/2x1800/rules.mk
keyboards/clueboard/60/60.h
keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.c [deleted file]
keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.h [deleted file]
keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.mk [deleted file]
keyboards/clueboard/60/bootloader_defs.h [deleted file]
keyboards/clueboard/60/config.h
keyboards/clueboard/60/info.json
keyboards/clueboard/60/keymaps/default/keymap.c
keyboards/clueboard/60/keymaps/default_aek/keymap.c
keyboards/clueboard/60/keymaps/yanfali/keymap.c
keyboards/clueboard/60/matrix.c [deleted file]
keyboards/clueboard/60/rules.mk
keyboards/clueboard/66/66.c [deleted file]
keyboards/clueboard/66/66.h [deleted file]
keyboards/clueboard/66/config.h [deleted file]
keyboards/clueboard/66/info.json
keyboards/clueboard/66/keymaps/66_ansi/keymap.c
keyboards/clueboard/66/keymaps/66_ansi/readme.md
keyboards/clueboard/66/keymaps/66_iso/keymap.c
keyboards/clueboard/66/keymaps/66_iso/readme.md
keyboards/clueboard/66/keymaps/bloodlvst/config.h
keyboards/clueboard/66/keymaps/bloodlvst/keymap.c
keyboards/clueboard/66/keymaps/caps_fn/keymap.c
keyboards/clueboard/66/keymaps/caps_fn/readme.md
keyboards/clueboard/66/keymaps/colemak/keymap.c
keyboards/clueboard/66/keymaps/default/keymap.c
keyboards/clueboard/66/keymaps/default/readme.md
keyboards/clueboard/66/keymaps/jokrik/keymap.c
keyboards/clueboard/66/keymaps/mac_optimized/keymap.c
keyboards/clueboard/66/keymaps/mac_optimized/readme.md
keyboards/clueboard/66/keymaps/magicmonty/config.h
keyboards/clueboard/66/keymaps/magicmonty/keymap.c
keyboards/clueboard/66/keymaps/magicmonty/rules.mk
keyboards/clueboard/66/keymaps/manofinterests/keymap.c
keyboards/clueboard/66/keymaps/maximised/keymap.c
keyboards/clueboard/66/keymaps/maximised/readme.md
keyboards/clueboard/66/keymaps/mouse_keys/keymap.c
keyboards/clueboard/66/keymaps/mouse_keys/readme.md
keyboards/clueboard/66/keymaps/mrscooty/keymap.c
keyboards/clueboard/66/keymaps/serubin/keymap.c
keyboards/clueboard/66/keymaps/shift_fn/keymap.c
keyboards/clueboard/66/keymaps/shift_fn/readme.md
keyboards/clueboard/66/keymaps/smt/keymap.c
keyboards/clueboard/66/keymaps/tetris/keymap.c
keyboards/clueboard/66/keymaps/unix_optimized/keymap.c
keyboards/clueboard/66/keymaps/unix_optimized/readme.md
keyboards/clueboard/66/keymaps/win_optimized/keymap.c
keyboards/clueboard/66/keymaps/win_optimized/readme.md
keyboards/clueboard/66/keymaps/xyverz/config.h
keyboards/clueboard/66/keymaps/xyverz/keymap.c
keyboards/clueboard/66/readme.md
keyboards/clueboard/66/rev1/config.h
keyboards/clueboard/66/rev1/rev1.h
keyboards/clueboard/66/rev1/rules.mk
keyboards/clueboard/66/rev2/config.h
keyboards/clueboard/66/rev2/rev2.h
keyboards/clueboard/66/rev2/rules.mk
keyboards/clueboard/66/rev3/config.h
keyboards/clueboard/66/rev3/rev3.c
keyboards/clueboard/66/rev3/rev3.h
keyboards/clueboard/66/rev3/rules.mk
keyboards/clueboard/66/rules.mk [deleted file]
keyboards/clueboard/66_hotswap/config.h
keyboards/clueboard/66_hotswap/gen1/config.h
keyboards/clueboard/66_hotswap/gen1/gen1.h
keyboards/clueboard/66_hotswap/info.json
keyboards/clueboard/66_hotswap/keymaps/66_ansi/keymap.c
keyboards/clueboard/66_hotswap/keymaps/default/keymap.c
keyboards/clueboard/66_hotswap/readme.md
keyboards/clueboard/card/card.h
keyboards/clueboard/card/config.h
keyboards/clueboard/card/info.json [new file with mode: 0644]
keyboards/clueboard/card/keymaps/default/config.h
keyboards/clueboard/card/keymaps/default/keymap.c
keyboards/clueboard/card/keymaps/default/rules.mk
keyboards/clueboard/card/keymaps/rgb_effects/config.h
keyboards/clueboard/card/keymaps/rgb_effects/keymap.c
keyboards/clueboard/card/keymaps/rgb_effects/rules.mk
keyboards/clueboard/card/readme.md
keyboards/clueboard/card/rules.mk
keyboards/clueboard/readme.md

index f84e3253e9c66e183c86d0a30f670417b5a77c9d..627aa236ddb21239cae27109f242046d62d37c91 100644 (file)
@@ -12,13 +12,11 @@ void matrix_init_kb(void) {
     MCUCR |= (1<<JTD);
 };
 
-void led_set_kb(uint8_t usb_led)
-{
+void led_set_kb(uint8_t usb_led) {
     print("led_set\n");
 }
 
-void backlight_init_ports(void)
-{
+void backlight_init_ports(void) {
     // Set C7 to output
     DDRC |= (1<<7);
 
@@ -29,8 +27,7 @@ void backlight_init_ports(void)
     TCCR4B = 0b00000001;
 }
 
-void backlight_set(uint8_t level)
-{
+void backlight_set(uint8_t level) {
     // Determine the PWM level
     switch (level)
     {
index 5e4a5999e2032e85881ff9c6bb0085a221b8a5ac..af3be4f5a9881466bba7099800b6c61cd596c823 100644 (file)
  */
 // The first section contains all of the arguments
 // The second converts the arguments into a two-dimensional array
-#define KEYMAP( \
+#define LAYOUT_numpad_5x4( \
     k00, k01, k02, k03, \
-    k10, k11, k12, k13, \
-    k20, k21, k22, \
-    k30, k31, k32, k33, \
-    k40,      k42 \
+    k10, k11, k12,      \
+    k20, k21, k22, k13, \
+    k30, k31, k32,      \
+    k40,      k42, k33  \
 ) { \
-    { k00, k01, k02, k03, }, \
-    { k10, k11, k12, k13, }, \
-    { k20, k21, k22, KC_NO, }, \
-    { k30, k31, k32, k33, }, \
-    { k40, KC_NO, k42, KC_NO } \
+    { k00, k01,   k02, k03   }, \
+    { k10, k11,   k12, k13   }, \
+    { k20, k21,   k22, KC_NO }, \
+    { k30, k31,   k32, k33   }, \
+    { k40, KC_NO, k42, KC_NO }  \
 }
 
+#define LAYOUT LAYOUT_numpad_5x4
+#define KEYMAP LAYOUT_numpad_5x4
+
 #endif
diff --git a/keyboards/clueboard/17/info.json b/keyboards/clueboard/17/info.json
new file mode 100644 (file)
index 0000000..12338ae
--- /dev/null
@@ -0,0 +1,31 @@
+{
+  "keyboard_name": "Clueboard 17% (Cluepad)",
+  "keyboard_folder": "clueboard/17",
+  "url": "",
+  "maintainer": "qmk",
+  "width": 4,
+  "height": 5,
+  "layouts": {
+    "LAYOUT_numpad_5x4": {
+      "layout": [
+        {"label":"Num Lock", "x":0, "y":0},
+        {"label":"/", "x":1, "y":0},
+        {"label":"*", "x":2, "y":0},
+        {"label":"-", "x":3, "y":0},
+        {"label":"7", "x":0, "y":1},
+        {"label":"8", "x":1, "y":1},
+        {"label":"9", "x":2, "y":1},
+        {"label":"4", "x":0, "y":2},
+        {"label":"5", "x":1, "y":2},
+        {"label":"6", "x":2, "y":2},
+        {"label":"+", "x":3, "y":1, "h":2},
+        {"label":"1", "x":0, "y":3},
+        {"label":"2", "x":1, "y":3},
+        {"label":"3", "x":2, "y":3},
+        {"label":"0", "x":0, "y":4, "w":2},
+        {"label":".", "x":2, "y":4},
+        {"label":"Enter", "x":3, "y":3, "h":2}
+      ]
+    }
+  }
+}
index 53bbbaa9dff2ca901c21358881368214f1dbe884..65c64e43c4fde08220c37c2890663574cce7ceb8 100644 (file)
@@ -1,6 +1,4 @@
-#include "17.h"
-
-#include "backlight.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
@@ -8,7 +6,6 @@
 // entirely and just use numbers.
 #define _BL 0
 #define _FL 1
-#define _RS 2
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   /* Keymap _BL: (Base Layer) Default Layer
@@ -24,12 +21,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |        0|   .| Ent|
    * '-------------------'
    */
-[_BL] = KEYMAP(
-  LT(_FL, KC_NLCK), KC_PSLS, KC_PAST, KC_PMNS, \
-  KC_P7,            KC_P8,   KC_P9,   KC_PPLS, \
-  KC_P4,            KC_P5,   KC_P6, \
-  KC_P1,            KC_P2,   KC_P3,   KC_PENT, \
-  KC_P0,                     KC_PDOT),
+  [_BL] = LAYOUT_numpad_5x4(
+    LT(_FL, KC_NLCK), KC_PSLS, KC_PAST, KC_PMNS, \
+    KC_P7,            KC_P8,   KC_P9,            \
+    KC_P4,            KC_P5,   KC_P6,   KC_PPLS, \
+    KC_P1,            KC_P2,   KC_P3,            \
+    KC_P0,                     KC_PDOT, KC_PENT  \
+  ),
 
   /* Keymap _FL: Function Layer
    * .-------------------.
@@ -44,10 +42,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
    * |      Fn1|    | Fn7|
    * '-------------------'
    */
-[_FL] = KEYMAP(
-  LT(_FL, KC_NLCK), KC_TRNS, KC_TRNS, RGB_TOG, \
-  KC_TRNS,          RGB_SAI,    KC_TRNS, RGB_VAI, \
-  RGB_HUD,             BL_STEP, RGB_HUI, \
-  KC_TRNS,          RGB_SAD,    KC_TRNS, RGB_VAD, \
-  RGB_MOD,                      KC_TRNS)
+  [_FL] = LAYOUT_numpad_5x4(
+    LT(_FL, KC_NLCK), _______, _______, RGB_TOG, \
+    _______,          RGB_SAI, _______,          \
+    RGB_HUD,          BL_STEP, RGB_HUI, RGB_VAI, \
+    _______,          RGB_SAD, _______,          \
+    RGB_MOD,                   _______, RGB_VAD  \
+  )
 };
index 8b449be3f6ca5926cfd794e45485a03e5068d735..c183657f96bde99ad3afb34200620059cc8c5061 100644 (file)
@@ -1,6 +1,6 @@
 # Clueboard 17% (Formerly Cluepad)
 
-![Clueboard 17%](https://static1.squarespace.com/static/55c13bdee4b099be5dcb82eb/5842fbdce3df28eae5ec557e/5844fb2cb8a79bbdfd63bad1/1498501250178/IMGP3931.jpg?format=750w)
+![Clueboard 17%](https://i.imgur.com/3XBC5c0.jpg)
 
 A basic 17 key numpad PCB.
 
@@ -13,4 +13,4 @@ Make example for this keyboard (after setting up your build environment):
 
     make clueboard/17:default
 
-See [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.
+See 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).
index 264aba044d3b79065b29c37fa34c3e867d66530e..591d40f030c3432a4e6de8a95310d25e2d30963f 100644 (file)
@@ -1,6 +1,4 @@
-
 # MCU name
-#MCU = at90usb1287
 MCU = atmega32u4
 
 # Processor frequency.
@@ -50,16 +48,13 @@ OPT_DEFS += -DBOOTLOADER_SIZE=4096
 
 
 # Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000)
-# MOUSEKEY_ENABLE = yes        # Mouse keys(+4700)
-# EXTRAKEY_ENABLE = yes        # Audio control and System control(+450)
-# CONSOLE_ENABLE = yes # Console for debug(+400)
-# COMMAND_ENABLE = yes    # Commands for debug and configuration
-NKRO_ENABLE = yes              # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes  # Enable numpad's backlight functionality
-RGBLIGHT_ENABLE = yes
-# MIDI_ENABLE = YES            # MIDI controls
-# UNICODE_ENABLE = YES                 # Unicode
-# BLUETOOTH_ENABLE = yes # Enable Bluetooth with the Adafruit EZ-Key HID
\ No newline at end of file
+BOOTMAGIC_ENABLE = no        # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
+CONSOLE_ENABLE = yes        # Console for debug(+400)
+COMMAND_ENABLE = no         # Commands for debug and configuration
+NKRO_ENABLE = yes           # USB Nkey Rollover
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
+RGBLIGHT_ENABLE = yes       # Enable keyboard RGB underglow
+MIDI_ENABLE = no            # MIDI support (+2400 to 4200, depending on config)
+UNICODE_ENABLE = no         # Unicode
index 4ad78899fc326e6870eae4ba8c901c20bf543179..09c90adbcf6918b4dfd178c1aa395b368c36ab16 100644 (file)
@@ -21,10 +21,6 @@ void matrix_init_kb(void) {
        DDRB |= (1<<5);  // Capslock
        DDRB |= (1<<6);  // Scroll Lock
 
-       // JTAG disable for PORT F. write JTD bit twice within four cycles.
-       MCUCR |= (1<<JTD);
-       MCUCR |= (1<<JTD);
-
        // Run the keymap level init
        matrix_init_user();
 }
@@ -38,25 +34,24 @@ bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
 }
 
 void led_set_kb(uint8_t usb_led) {
+  // Toggle numlock as needed
        if (usb_led & (1<<USB_LED_NUM_LOCK)) {
-               // Turn numlock on
                PORTB |= (1<<4);
        } else {
-               // Turn numlock off
                PORTB &= ~(1<<4);
        }
+
+  // Toggle capslock as needed
        if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
-               // Turn capslock on
                PORTB |= (1<<5);
        } else {
-               // Turn capslock off
                PORTB &= ~(1<<5);
        }
+
+       // Toggle scrolllock as needed
        if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
-               // Turn scroll lock on
                PORTB |= (1<<6);
        } else {
-               // Turn scroll lock off
                PORTB &= ~(1<<6);
        }
 }
index a4e86e8f22a6bbc912fdbc20bf674333cb91d342..818ceed80dfe6c77039a6befa3b4674819a801d3 100644 (file)
@@ -21,7 +21,7 @@
 // This a shortcut to help you visually see your layout.
 // The first section contains all of the arguments
 // The second converts the arguments into a two-dimensional array
-#define LAYOUT( \
+#define LAYOUT_all( \
       k00, k01, k02, k03,    k04,   k06, k07, k08, k09,   k0a, k60, k61, k62,   k63, k64, k65, k66,    k67, k68, k69, k6a, \
       k10, k11, k12, k13,   k14, k15, k16, k17, k18, k19, k1a, k70, k71, k72, k73, k74, k75,    k76,   k77, k78, k79, k7a, \
       k20, k21, k22, k23,    k24,  k25, k26, k27, k28, k29, k2a, k80, k81, k82, k83, k84, k85,   k86,  k87, k88, k89, k8a, \
@@ -90,4 +90,6 @@
     { kb0, KC_NO, KC_NO, KC_NO, kb4, kb5, kb6, kb7, kb8, kb9, KC_NO } \
 }
 
+#define LAYOUT LAYOUT_all
+
 #endif
index ea3c7a6e975f44446c2517f271a9938f787a1906..cddcd1ce78bb6163390d23e85489d1cb461a9a4c 100644 (file)
@@ -58,6 +58,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 /* audio support */
 #define B7_AUDIO
 #define C4_AUDIO
+#define AUDIO_CLICKY
 
 /* number of backlight levels */
 // #define BACKLIGHT_PIN B7
index 86fd37ffa583c8417edabf2f88ea443c528f4ec8..0e3bb36a9d88877d262e0e5f0d947d354213fab0 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "keyboard_name": "CB 2x1800",
+  "keyboard_name": "Clueboard 2x1800",
   "url": "",
   "maintainer": "skullydazed",
   "width": 24,
     "LAYOUT": {
       "key_count": 127,
       "layout": [
-        {"label":"Home", "x":0, "y":0},
-        {"label":"End", "x":1, "y":0},
-        {"label":"PgUp", "x":2, "y":0},
-        {"label":"PgDn", "x":3, "y":0},
-        {"label":"Esc", "x":4.75, "y":0},
-        {"label":"F1", "x":6.25, "y":0},
-        {"label":"F2", "x":7.25, "y":0},
-        {"label":"F3", "x":8.25, "y":0},
-        {"label":"F4", "x":9.25, "y":0},
-        {"label":"F5", "x":10.75, "y":0},
-        {"label":"F6", "x":11.75, "y":0},
-        {"label":"F7", "x":12.75, "y":0},
-        {"label":"F8", "x":13.75, "y":0},
-        {"label":"F9", "x":15.25, "y":0},
-        {"label":"F10", "x":16.25, "y":0},
-        {"label":"F11", "x":17.25, "y":0},
-        {"label":"F12", "x":18.25, "y":0},
-        {"label":"PrtSc", "x":20, "y":0},
-        {"label":"Scroll Lock", "x":21, "y":0},
-        {"label":"Pause", "x":22, "y":0},
-        {"label":"Insert", "x":23, "y":0},
-        {"label":"-", "x":0, "y":1.25},
-        {"label":"Num Lock", "x":1, "y":1.25},
-        {"label":"/", "x":2, "y":1.25},
-        {"label":"*", "x":3, "y":1.25},
-        {"label":"~", "x":4.5, "y":1.25},
-        {"label":"!", "x":5.5, "y":1.25},
-        {"label":"@", "x":6.5, "y":1.25},
-        {"label":"#", "x":7.5, "y":1.25},
-        {"label":"$", "x":8.5, "y":1.25},
-        {"label":"%", "x":9.5, "y":1.25},
-        {"label":"^", "x":10.5, "y":1.25},
-        {"label":"&", "x":11.5, "y":1.25},
-        {"label":"*", "x":12.5, "y":1.25},
-        {"label":"(", "x":13.5, "y":1.25},
-        {"label":")", "x":14.5, "y":1.25},
-        {"label":"_", "x":15.5, "y":1.25},
-        {"label":"+", "x":16.5, "y":1.25},
-        {"label":"Backspace", "x":17.5, "y":1.25, "w":2},
-        {"label":"Num Lock", "x":20, "y":1.25},
-        {"label":"/", "x":21, "y":1.25},
-        {"label":"*", "x":22, "y":1.25},
-        {"label":"-", "x":23, "y":1.25},
-        {"label":"+", "x":0, "y":2.25, "h":2},
-        {"label":"7", "x":1, "y":2.25},
-        {"label":"8", "x":2, "y":2.25},
-        {"label":"9", "x":3, "y":2.25},
-        {"label":"Tab", "x":4.5, "y":2.25, "w":1.5},
-        {"label":"Q", "x":6, "y":2.25},
-        {"label":"W", "x":7, "y":2.25},
-        {"label":"E", "x":8, "y":2.25},
-        {"label":"R", "x":9, "y":2.25},
-        {"label":"T", "x":10, "y":2.25},
-        {"label":"Y", "x":11, "y":2.25},
-        {"label":"U", "x":12, "y":2.25},
-        {"label":"I", "x":13, "y":2.25},
-        {"label":"O", "x":14, "y":2.25},
-        {"label":"P", "x":15, "y":2.25},
-        {"label":"{", "x":16, "y":2.25},
-        {"label":"}", "x":17, "y":2.25},
-        {"label":"|", "x":18, "y":2.25, "w":1.5},
-        {"label":"7", "x":20, "y":2.25},
-        {"label":"8", "x":21, "y":2.25},
-        {"label":"9", "x":22, "y":2.25},
-        {"label":"+", "x":23, "y":2.25, "h":2},
-        {"label":"4", "x":1, "y":3.25},
-        {"label":"5", "x":2, "y":3.25},
-        {"label":"6", "x":3, "y":3.25},
-        {"label":"Caps Lock", "x":4.5, "y":3.25, "w":1.75},
-        {"label":"A", "x":6.25, "y":3.25},
-        {"label":"S", "x":7.25, "y":3.25},
-        {"label":"D", "x":8.25, "y":3.25},
-        {"label":"F", "x":9.25, "y":3.25},
-        {"label":"G", "x":10.25, "y":3.25},
-        {"label":"H", "x":11.25, "y":3.25},
-        {"label":"J", "x":12.25, "y":3.25},
-        {"label":"K", "x":13.25, "y":3.25},
-        {"label":"L", "x":14.25, "y":3.25},
-        {"label":":", "x":15.25, "y":3.25},
-        {"label":"\"", "x":16.25, "y":3.25},
-        {"label":"Enter", "x":17.25, "y":3.25, "w":2.25},
-        {"label":"4", "x":20, "y":3.25},
-        {"label":"5", "x":21, "y":3.25},
-        {"label":"6", "x":22, "y":3.25},
-        {"label":"Enter", "x":0, "y":4.25, "h":2},
-        {"label":"1", "x":1, "y":4.25},
-        {"label":"2", "x":2, "y":4.25},
-        {"label":"3", "x":3, "y":4.25},
-        {"label":"\\u2191", "x":4.25, "y":4.5},
-        {"label":"Shift", "x":5.5, "y":4.25, "w":1.25},
-        {"label":"Z", "x":6.75, "y":4.25},
-        {"label":"X", "x":7.75, "y":4.25},
-        {"label":"C", "x":8.75, "y":4.25},
-        {"label":"V", "x":9.75, "y":4.25},
-        {"label":"B", "x":10.75, "y":4.25},
-        {"label":"N", "x":11.75, "y":4.25},
-        {"label":"M", "x":12.75, "y":4.25},
-        {"label":"<", "x":13.75, "y":4.25},
-        {"label":">", "x":14.75, "y":4.25},
-        {"label":"?", "x":15.75, "y":4.25},
-        {"label":"Shift", "x":16.75, "y":4.25, "w":1.75},
-        {"label":"\\u2191", "x":18.75, "y":4.5},
-        {"label":"1", "x":20, "y":4.25},
-        {"label":"2", "x":21, "y":4.25},
-        {"label":"3", "x":22, "y":4.25},
-        {"label":"Enter", "x":23, "y":4.25, "h":2},
-        {"label":"0", "x":1, "y":5.25},
-        {"label":".", "x":2, "y":5.25},
-        {"label":"\\u2190", "x":3.25, "y":5.5},
-        {"label":"\\u2193", "x":4.25, "y":5.5},
-        {"label":"\\u2192", "x":5.25, "y":5.5},
-        {"label":"Ctrl", "x":6.5, "y":5.25},
-        {"label":"Win", "x":7.5, "y":5.25},
-        {"label":"Alt", "x":8.5, "y":5.25},
-        {"label":"1u", "x":9.5, "y":5.25},
-        {"label":"1u", "x":10.5, "y":5.25},
-        {"label":"1u", "x":11.5, "y":5.25},
-        {"label":"1u", "x":12.5, "y":5.25},
-        {"label":"Alt", "x":13.5, "y":5.25},
-        {"label":"Win", "x":14.5, "y":5.25},
-        {"label":"Menu", "x":15.5, "y":5.25},
-        {"label":"Ctrl", "x":16.5, "y":5.25},
-        {"label":"\\u2190", "x":17.75, "y":5.5},
-        {"label":"\\u2193", "x":18.75, "y":5.5},
-        {"label":"\\u2192", "x":19.75, "y":5.5},
-        {"label":"0", "x":21, "y":5.25},
-        {"label":".", "x":22, "y":5.25}
+        {"label":"Home", "x":0, "y":0}, {"label":"End", "x":1, "y":0}, {"label":"PgUp", "x":2, "y":0}, {"label":"PgDn", "x":3, "y":0}, {"label":"Esc", "x":4.75, "y":0}, {"label":"F1", "x":6.25, "y":0}, {"label":"F2", "x":7.25, "y":0}, {"label":"F3", "x":8.25, "y":0}, {"label":"F4", "x":9.25, "y":0}, {"label":"F5", "x":10.75, "y":0}, {"label":"F6", "x":11.75, "y":0}, {"label":"F7", "x":12.75, "y":0}, {"label":"F8", "x":13.75, "y":0}, {"label":"F9", "x":15.25, "y":0}, {"label":"F10", "x":16.25, "y":0}, {"label":"F11", "x":17.25, "y":0}, {"label":"F12", "x":18.25, "y":0}, {"label":"PrtSc", "x":20, "y":0}, {"label":"Scroll Lock", "x":21, "y":0}, {"label":"Pause", "x":22, "y":0}, {"label":"Insert", "x":23, "y":0},
+        {"label":"-", "x":0, "y":1.25}, {"label":"Num Lock", "x":1, "y":1.25}, {"label":"/", "x":2, "y":1.25}, {"label":"*", "x":3, "y":1.25}, {"label":"~", "x":4.5, "y":1.25}, {"label":"!", "x":5.5, "y":1.25}, {"label":"@", "x":6.5, "y":1.25}, {"label":"#", "x":7.5, "y":1.25}, {"label":"$", "x":8.5, "y":1.25}, {"label":"%", "x":9.5, "y":1.25}, {"label":"^", "x":10.5, "y":1.25}, {"label":"&", "x":11.5, "y":1.25}, {"label":"*", "x":12.5, "y":1.25}, {"label":"(", "x":13.5, "y":1.25}, {"label":")", "x":14.5, "y":1.25}, {"label":"_", "x":15.5, "y":1.25}, {"label":"+", "x":16.5, "y":1.25}, {"label":"Backspace", "x":17.5, "y":1.25, "w":2}, {"label":"Num Lock", "x":20, "y":1.25}, {"label":"/", "x":21, "y":1.25}, {"label":"*", "x":22, "y":1.25}, {"label":"-", "x":23, "y":1.25},
+        {"label":"+", "x":0, "y":2.25, "h":2}, {"label":"7", "x":1, "y":2.25}, {"label":"8", "x":2, "y":2.25}, {"label":"9", "x":3, "y":2.25}, {"label":"Tab", "x":4.5, "y":2.25, "w":1.5}, {"label":"Q", "x":6, "y":2.25}, {"label":"W", "x":7, "y":2.25}, {"label":"E", "x":8, "y":2.25}, {"label":"R", "x":9, "y":2.25}, {"label":"T", "x":10, "y":2.25}, {"label":"Y", "x":11, "y":2.25}, {"label":"U", "x":12, "y":2.25}, {"label":"I", "x":13, "y":2.25}, {"label":"O", "x":14, "y":2.25}, {"label":"P", "x":15, "y":2.25}, {"label":"{", "x":16, "y":2.25}, {"label":"}", "x":17, "y":2.25}, {"label":"|", "x":18, "y":2.25, "w":1.5}, {"label":"7", "x":20, "y":2.25}, {"label":"8", "x":21, "y":2.25}, {"label":"9", "x":22, "y":2.25}, {"label":"+", "x":23, "y":2.25, "h":2},
+        {"label":"4", "x":1, "y":3.25}, {"label":"5", "x":2, "y":3.25}, {"label":"6", "x":3, "y":3.25}, {"label":"Caps Lock", "x":4.5, "y":3.25, "w":1.75}, {"label":"A", "x":6.25, "y":3.25}, {"label":"S", "x":7.25, "y":3.25}, {"label":"D", "x":8.25, "y":3.25}, {"label":"F", "x":9.25, "y":3.25}, {"label":"G", "x":10.25, "y":3.25}, {"label":"H", "x":11.25, "y":3.25}, {"label":"J", "x":12.25, "y":3.25}, {"label":"K", "x":13.25, "y":3.25}, {"label":"L", "x":14.25, "y":3.25}, {"label":":", "x":15.25, "y":3.25}, {"label":"\"", "x":16.25, "y":3.25}, {"label":"Enter", "x":17.25, "y":3.25, "w":2.25}, {"label":"4", "x":20, "y":3.25}, {"label":"5", "x":21, "y":3.25}, {"label":"6", "x":22, "y":3.25},
+        {"label":"Enter", "x":0, "y":4.25, "h":2}, {"label":"1", "x":1, "y":4.25}, {"label":"2", "x":2, "y":4.25}, {"label":"3", "x":3, "y":4.25}, {"label":"\\u2191", "x":4.25, "y":4.5}, {"label":"Shift", "x":5.5, "y":4.25, "w":1.25}, {"label":"Z", "x":6.75, "y":4.25}, {"label":"X", "x":7.75, "y":4.25}, {"label":"C", "x":8.75, "y":4.25}, {"label":"V", "x":9.75, "y":4.25}, {"label":"B", "x":10.75, "y":4.25}, {"label":"N", "x":11.75, "y":4.25}, {"label":"M", "x":12.75, "y":4.25}, {"label":"<", "x":13.75, "y":4.25}, {"label":">", "x":14.75, "y":4.25}, {"label":"?", "x":15.75, "y":4.25}, {"label":"Shift", "x":16.75, "y":4.25, "w":1.75}, {"label":"\\u2191", "x":18.75, "y":4.5}, {"label":"1", "x":20, "y":4.25}, {"label":"2", "x":21, "y":4.25}, {"label":"3", "x":22, "y":4.25}, {"label":"Enter", "x":23, "y":4.25, "h":2},
+        {"label":"0", "x":1, "y":5.25}, {"label":".", "x":2, "y":5.25}, {"label":"\\u2190", "x":3.25, "y":5.5}, {"label":"\\u2193", "x":4.25, "y":5.5}, {"label":"\\u2192", "x":5.25, "y":5.5}, {"label":"Ctrl", "x":6.5, "y":5.25}, {"label":"Win", "x":7.5, "y":5.25}, {"label":"Alt", "x":8.5, "y":5.25}, {"label":"1u", "x":9.5, "y":5.25}, {"label":"1u", "x":10.5, "y":5.25}, {"label":"1u", "x":11.5, "y":5.25}, {"label":"1u", "x":12.5, "y":5.25}, {"label":"Alt", "x":13.5, "y":5.25}, {"label":"Win", "x":14.5, "y":5.25}, {"label":"Menu", "x":15.5, "y":5.25}, {"label":"Ctrl", "x":16.5, "y":5.25}, {"label":"\\u2190", "x":17.75, "y":5.5}, {"label":"\\u2193", "x":18.75, "y":5.5}, {"label":"\\u2192", "x":19.75, "y":5.5}, {"label":"0", "x":21, "y":5.25}, {"label":".", "x":22, "y":5.25}
       ]
     },
     "LAYOUT_7u_space": {
       "key_count": 121,
       "layout": [
-        {"label":"k00", "x":0, "y":0},
-        {"label":"k01", "x":1, "y":0},
-        {"label":"k02", "x":2, "y":0},
-        {"label":"k03", "x":3, "y":0},
-        {"label":"k04", "x":4.75, "y":0},
-        {"label":"k06", "x":6.25, "y":0},
-        {"label":"k07", "x":7.25, "y":0},
-        {"label":"k08", "x":8.25, "y":0},
-        {"label":"k09", "x":9.25, "y":0},
-        {"label":"k0a", "x":10.75, "y":0},
-        {"label":"k60", "x":11.75, "y":0},
-        {"label":"k61", "x":12.75, "y":0},
-        {"label":"k62", "x":13.75, "y":0},
-        {"label":"k63", "x":15.25, "y":0},
-        {"label":"k64", "x":16.25, "y":0},
-        {"label":"k65", "x":17.25, "y":0},
-        {"label":"k66", "x":18.25, "y":0},
-        {"label":"k67", "x":20, "y":0},
-        {"label":"k68", "x":21, "y":0},
-        {"label":"k69", "x":22, "y":0},
-        {"label":"k6a", "x":23, "y":0},
-        {"label":"k10", "x":0, "y":1.25},
-        {"label":"k11", "x":1, "y":1.25},
-        {"label":"k12", "x":2, "y":1.25},
-        {"label":"k13", "x":3, "y":1.25},
-        {"label":"k14", "x":4.5, "y":1.25},
-        {"label":"k15", "x":5.5, "y":1.25},
-        {"label":"k16", "x":6.5, "y":1.25},
-        {"label":"k17", "x":7.5, "y":1.25},
-        {"label":"k18", "x":8.5, "y":1.25},
-        {"label":"k19", "x":9.5, "y":1.25},
-        {"label":"k0a", "x":10.5, "y":1.25},
-        {"label":"k70", "x":11.5, "y":1.25},
-        {"label":"k71", "x":12.5, "y":1.25},
-        {"label":"k72", "x":13.5, "y":1.25},
-        {"label":"k73", "x":14.5, "y":1.25},
-        {"label":"k74", "x":15.5, "y":1.25},
-        {"label":"k75", "x":16.5, "y":1.25},
-        {"label":"k76", "x":17.5, "y":1.25, "w":2},
-        {"label":"k77", "x":20, "y":1.25},
-        {"label":"k78", "x":21, "y":1.25},
-        {"label":"k79", "x":22, "y":1.25},
-        {"label":"k7a", "x":23, "y":1.25},
-        {"label":"k20", "x":0, "y":2.25, "h":2},
-        {"label":"k21", "x":1, "y":2.25},
-        {"label":"k22", "x":2, "y":2.25},
-        {"label":"k23", "x":3, "y":2.25},
-        {"label":"k24", "x":4.5, "y":2.25, "w":1.5},
-        {"label":"k25", "x":6, "y":2.25},
-        {"label":"k26", "x":7, "y":2.25},
-        {"label":"k27", "x":8, "y":2.25},
-        {"label":"k28", "x":9, "y":2.25},
-        {"label":"k29", "x":10, "y":2.25},
-        {"label":"k2a", "x":11, "y":2.25},
-        {"label":"k80", "x":12, "y":2.25},
-        {"label":"k81", "x":13, "y":2.25},
-        {"label":"k82", "x":14, "y":2.25},
-        {"label":"k83", "x":15, "y":2.25},
-        {"label":"k84", "x":16, "y":2.25},
-        {"label":"k85", "x":17, "y":2.25},
-        {"label":"k86", "x":18, "y":2.25, "w":1.5},
-        {"label":"k87", "x":20, "y":2.25},
-        {"label":"k88", "x":21, "y":2.25},
-        {"label":"k89", "x":22, "y":2.25},
-        {"label":"k8a", "x":23, "y":2.25, "h":2},
-        {"label":"k31", "x":1, "y":3.25},
-        {"label":"k32", "x":2, "y":3.25},
-        {"label":"k33", "x":3, "y":3.25},
-        {"label":"k34", "x":4.5, "y":3.25, "w":1.75},
-        {"label":"k35", "x":6.25, "y":3.25},
-        {"label":"k36", "x":7.25, "y":3.25},
-        {"label":"k37", "x":8.25, "y":3.25},
-        {"label":"k38", "x":9.25, "y":3.25},
-        {"label":"k39", "x":10.25, "y":3.25},
-        {"label":"k3a", "x":11.25, "y":3.25},
-        {"label":"k90", "x":12.25, "y":3.25},
-        {"label":"k91", "x":13.25, "y":3.25},
-        {"label":"k92", "x":14.25, "y":3.25},
-        {"label":"k93", "x":15.25, "y":3.25},
-        {"label":"k94", "x":16.25, "y":3.25},
-        {"label":"k95", "x":17.25, "y":3.25, "w":2.25},
-        {"label":"k97", "x":20, "y":3.25},
-        {"label":"k98", "x":21, "y":3.25},
-        {"label":"k99", "x":22, "y":3.25},
-        {"label":"k40", "x":0, "y":4.25, "h":2},
-        {"label":"k41", "x":1, "y":4.25},
-        {"label":"k42", "x":2, "y":4.25},
-        {"label":"k43", "x":3, "y":4.25},
-        {"label":"k45", "x":5.5, "y":4.25, "w":1.25},
-        {"label":"k46", "x":6.75, "y":4.25},
-        {"label":"k47", "x":7.75, "y":4.25},
-        {"label":"k48", "x":8.75, "y":4.25},
-        {"label":"k49", "x":9.75, "y":4.25},
-        {"label":"k4a", "x":10.75, "y":4.25},
-        {"label":"ka0", "x":11.75, "y":4.25},
-        {"label":"ka1", "x":12.75, "y":4.25},
-        {"label":"ka2", "x":13.75, "y":4.25},
-        {"label":"ka3", "x":14.75, "y":4.25},
-        {"label":"ka4", "x":15.75, "y":4.25},
-        {"label":"ka5", "x":16.75, "y":4.25, "w":1.75},
-        {"label":"ka7", "x":20, "y":4.25},
-        {"label":"ka8", "x":21, "y":4.25},
-        {"label":"ka9", "x":22, "y":4.25},
-        {"label":"kaa", "x":23, "y":4.25, "h":2},
-        {"label":"k44", "x":4.25, "y":4.5},
-        {"label":"k96", "x":18.75, "y":4.5},
-        {"label":"k51", "x":1, "y":5.25},
-        {"label":"k52", "x":2, "y":5.25},
-        {"label":"k56", "x":6.5, "y":5.25},
-        {"label":"k57", "x":7.5, "y":5.25},
-        {"label":"kb0", "x":8.5, "y":5.25, "w":7},
-        {"label":"kb4", "x":15.5, "y":5.25},
-        {"label":"kb5", "x":16.5, "y":5.25},
-        {"label":"kb8", "x":21, "y":5.25},
-        {"label":"kb9", "x":22, "y":5.25},
-        {"label":"k53", "x":3.25, "y":5.5},
-        {"label":"k54", "x":4.25, "y":5.5},
-        {"label":"k55", "x":5.25, "y":5.5},
-        {"label":"ka6", "x":17.75, "y":5.5},
-        {"label":"kb6", "x":18.75, "y":5.5},
-        {"label":"kb7", "x":19.75, "y":5.5}
+        {"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4.75, "y":0}, {"label":"k06", "x":6.25, "y":0}, {"label":"k07", "x":7.25, "y":0}, {"label":"k08", "x":8.25, "y":0}, {"label":"k09", "x":9.25, "y":0}, {"label":"k0a", "x":10.75, "y":0}, {"label":"k60", "x":11.75, "y":0}, {"label":"k61", "x":12.75, "y":0}, {"label":"k62", "x":13.75, "y":0}, {"label":"k63", "x":15.25, "y":0}, {"label":"k64", "x":16.25, "y":0}, {"label":"k65", "x":17.25, "y":0}, {"label":"k66", "x":18.25, "y":0}, {"label":"k67", "x":20, "y":0}, {"label":"k68", "x":21, "y":0}, {"label":"k69", "x":22, "y":0}, {"label":"k6a", "x":23, "y":0},
+        {"label":"k10", "x":0, "y":1.25}, {"label":"k11", "x":1, "y":1.25}, {"label":"k12", "x":2, "y":1.25}, {"label":"k13", "x":3, "y":1.25}, {"label":"k14", "x":4.5, "y":1.25}, {"label":"k15", "x":5.5, "y":1.25}, {"label":"k16", "x":6.5, "y":1.25}, {"label":"k17", "x":7.5, "y":1.25}, {"label":"k18", "x":8.5, "y":1.25}, {"label":"k19", "x":9.5, "y":1.25}, {"label":"k0a", "x":10.5, "y":1.25}, {"label":"k70", "x":11.5, "y":1.25}, {"label":"k71", "x":12.5, "y":1.25}, {"label":"k72", "x":13.5, "y":1.25}, {"label":"k73", "x":14.5, "y":1.25}, {"label":"k74", "x":15.5, "y":1.25}, {"label":"k75", "x":16.5, "y":1.25}, {"label":"k76", "x":17.5, "y":1.25, "w":2}, {"label":"k77", "x":20, "y":1.25}, {"label":"k78", "x":21, "y":1.25}, {"label":"k79", "x":22, "y":1.25}, {"label":"k7a", "x":23, "y":1.25},
+        {"label":"k20", "x":0, "y":2.25, "h":2}, {"label":"k21", "x":1, "y":2.25}, {"label":"k22", "x":2, "y":2.25}, {"label":"k23", "x":3, "y":2.25}, {"label":"k24", "x":4.5, "y":2.25, "w":1.5}, {"label":"k25", "x":6, "y":2.25}, {"label":"k26", "x":7, "y":2.25}, {"label":"k27", "x":8, "y":2.25}, {"label":"k28", "x":9, "y":2.25}, {"label":"k29", "x":10, "y":2.25}, {"label":"k2a", "x":11, "y":2.25}, {"label":"k80", "x":12, "y":2.25}, {"label":"k81", "x":13, "y":2.25}, {"label":"k82", "x":14, "y":2.25}, {"label":"k83", "x":15, "y":2.25}, {"label":"k84", "x":16, "y":2.25}, {"label":"k85", "x":17, "y":2.25}, {"label":"k86", "x":18, "y":2.25, "w":1.5}, {"label":"k87", "x":20, "y":2.25}, {"label":"k88", "x":21, "y":2.25}, {"label":"k89", "x":22, "y":2.25}, {"label":"k8a", "x":23, "y":2.25, "h":2},
+        {"label":"k31", "x":1, "y":3.25}, {"label":"k32", "x":2, "y":3.25}, {"label":"k33", "x":3, "y":3.25}, {"label":"k34", "x":4.5, "y":3.25, "w":1.75}, {"label":"k35", "x":6.25, "y":3.25}, {"label":"k36", "x":7.25, "y":3.25}, {"label":"k37", "x":8.25, "y":3.25}, {"label":"k38", "x":9.25, "y":3.25}, {"label":"k39", "x":10.25, "y":3.25}, {"label":"k3a", "x":11.25, "y":3.25}, {"label":"k90", "x":12.25, "y":3.25}, {"label":"k91", "x":13.25, "y":3.25}, {"label":"k92", "x":14.25, "y":3.25}, {"label":"k93", "x":15.25, "y":3.25}, {"label":"k94", "x":16.25, "y":3.25}, {"label":"k95", "x":17.25, "y":3.25, "w":2.25}, {"label":"k97", "x":20, "y":3.25}, {"label":"k98", "x":21, "y":3.25}, {"label":"k99", "x":22, "y":3.25},
+        {"label":"k40", "x":0, "y":4.25, "h":2}, {"label":"k41", "x":1, "y":4.25}, {"label":"k42", "x":2, "y":4.25}, {"label":"k43", "x":3, "y":4.25}, {"label":"k45", "x":5.5, "y":4.25, "w":1.25}, {"label":"k46", "x":6.75, "y":4.25}, {"label":"k47", "x":7.75, "y":4.25}, {"label":"k48", "x":8.75, "y":4.25}, {"label":"k49", "x":9.75, "y":4.25}, {"label":"k4a", "x":10.75, "y":4.25}, {"label":"ka0", "x":11.75, "y":4.25}, {"label":"ka1", "x":12.75, "y":4.25}, {"label":"ka2", "x":13.75, "y":4.25}, {"label":"ka3", "x":14.75, "y":4.25}, {"label":"ka4", "x":15.75, "y":4.25}, {"label":"ka5", "x":16.75, "y":4.25, "w":1.75}, {"label":"ka7", "x":20, "y":4.25}, {"label":"ka8", "x":21, "y":4.25}, {"label":"ka9", "x":22, "y":4.25}, {"label":"kaa", "x":23, "y":4.25, "h":2}, {"label":"k44", "x":4.25, "y":4.5}, {"label":"k96", "x":18.75, "y":4.5},
+        {"label":"k51", "x":1, "y":5.25}, {"label":"k52", "x":2, "y":5.25}, {"label":"k56", "x":6.5, "y":5.25}, {"label":"k57", "x":7.5, "y":5.25}, {"label":"kb0", "x":8.5, "y":5.25, "w":7}, {"label":"kb4", "x":15.5, "y":5.25}, {"label":"kb5", "x":16.5, "y":5.25}, {"label":"kb8", "x":21, "y":5.25}, {"label":"kb9", "x":22, "y":5.25}, {"label":"k53", "x":3.25, "y":5.5}, {"label":"k54", "x":4.25, "y":5.5}, {"label":"k55", "x":5.25, "y":5.5}, {"label":"ka6", "x":17.75, "y":5.5}, {"label":"kb6", "x":18.75, "y":5.5}, {"label":"kb7", "x":19.75, "y":5.5}
       ]
     },
     "LAYOUT_4u_space": {
       "key_count": 124,
       "layout": [
-        {"label":"k00", "x":0, "y":0},
-        {"label":"k01", "x":1, "y":0},
-        {"label":"k02", "x":2, "y":0},
-        {"label":"k03", "x":3, "y":0},
-        {"label":"k04", "x":4.75, "y":0},
-        {"label":"k06", "x":6.25, "y":0},
-        {"label":"k07", "x":7.25, "y":0},
-        {"label":"k08", "x":8.25, "y":0},
-        {"label":"k09", "x":9.25, "y":0},
-        {"label":"k0a", "x":10.75, "y":0},
-        {"label":"k60", "x":11.75, "y":0},
-        {"label":"k61", "x":12.75, "y":0},
-        {"label":"k62", "x":13.75, "y":0},
-        {"label":"k63", "x":15.25, "y":0},
-        {"label":"k64", "x":16.25, "y":0},
-        {"label":"k65", "x":17.25, "y":0},
-        {"label":"k66", "x":18.25, "y":0},
-        {"label":"k67", "x":20, "y":0},
-        {"label":"k68", "x":21, "y":0},
-        {"label":"k69", "x":22, "y":0},
-        {"label":"k6a", "x":23, "y":0},
-        {"label":"k10", "x":0, "y":1.25},
-        {"label":"k11", "x":1, "y":1.25},
-        {"label":"k12", "x":2, "y":1.25},
-        {"label":"k13", "x":3, "y":1.25},
-        {"label":"k14", "x":4.5, "y":1.25},
-        {"label":"k15", "x":5.5, "y":1.25},
-        {"label":"k16", "x":6.5, "y":1.25},
-        {"label":"k17", "x":7.5, "y":1.25},
-        {"label":"k18", "x":8.5, "y":1.25},
-        {"label":"k19", "x":9.5, "y":1.25},
-        {"label":"k0a", "x":10.5, "y":1.25},
-        {"label":"k70", "x":11.5, "y":1.25},
-        {"label":"k71", "x":12.5, "y":1.25},
-        {"label":"k72", "x":13.5, "y":1.25},
-        {"label":"k73", "x":14.5, "y":1.25},
-        {"label":"k74", "x":15.5, "y":1.25},
-        {"label":"k75", "x":16.5, "y":1.25},
-        {"label":"k76", "x":17.5, "y":1.25, "w":2},
-        {"label":"k77", "x":20, "y":1.25},
-        {"label":"k78", "x":21, "y":1.25},
-        {"label":"k79", "x":22, "y":1.25},
-        {"label":"k7a", "x":23, "y":1.25},
-        {"label":"k20", "x":0, "y":2.25, "h":2},
-        {"label":"k21", "x":1, "y":2.25},
-        {"label":"k22", "x":2, "y":2.25},
-        {"label":"k23", "x":3, "y":2.25},
-        {"label":"k24", "x":4.5, "y":2.25, "w":1.5},
-        {"label":"k25", "x":6, "y":2.25},
-        {"label":"k26", "x":7, "y":2.25},
-        {"label":"k27", "x":8, "y":2.25},
-        {"label":"k28", "x":9, "y":2.25},
-        {"label":"k29", "x":10, "y":2.25},
-        {"label":"k2a", "x":11, "y":2.25},
-        {"label":"k80", "x":12, "y":2.25},
-        {"label":"k81", "x":13, "y":2.25},
-        {"label":"k82", "x":14, "y":2.25},
-        {"label":"k83", "x":15, "y":2.25},
-        {"label":"k84", "x":16, "y":2.25},
-        {"label":"k85", "x":17, "y":2.25},
-        {"label":"k86", "x":18, "y":2.25, "w":1.5},
-        {"label":"k87", "x":20, "y":2.25},
-        {"label":"k88", "x":21, "y":2.25},
-        {"label":"k89", "x":22, "y":2.25},
-        {"label":"k8a", "x":23, "y":2.25, "h":2},
-        {"label":"k31", "x":1, "y":3.25},
-        {"label":"k32", "x":2, "y":3.25},
-        {"label":"k33", "x":3, "y":3.25},
-        {"label":"k34", "x":4.5, "y":3.25, "w":1.75},
-        {"label":"k35", "x":6.25, "y":3.25},
-        {"label":"k36", "x":7.25, "y":3.25},
-        {"label":"k37", "x":8.25, "y":3.25},
-        {"label":"k38", "x":9.25, "y":3.25},
-        {"label":"k39", "x":10.25, "y":3.25},
-        {"label":"k3a", "x":11.25, "y":3.25},
-        {"label":"k90", "x":12.25, "y":3.25},
-        {"label":"k91", "x":13.25, "y":3.25},
-        {"label":"k92", "x":14.25, "y":3.25},
-        {"label":"k93", "x":15.25, "y":3.25},
-        {"label":"k94", "x":16.25, "y":3.25},
-        {"label":"k95", "x":17.25, "y":3.25, "w":2.25},
-        {"label":"k97", "x":20, "y":3.25},
-        {"label":"k98", "x":21, "y":3.25},
-        {"label":"k99", "x":22, "y":3.25},
-        {"label":"k40", "x":0, "y":4.25, "h":2},
-        {"label":"k41", "x":1, "y":4.25},
-        {"label":"k42", "x":2, "y":4.25},
-        {"label":"k43", "x":3, "y":4.25},
-        {"label":"k45", "x":5.5, "y":4.25, "w":1.25},
-        {"label":"k46", "x":6.75, "y":4.25},
-        {"label":"k47", "x":7.75, "y":4.25},
-        {"label":"k48", "x":8.75, "y":4.25},
-        {"label":"k49", "x":9.75, "y":4.25},
-        {"label":"k4a", "x":10.75, "y":4.25},
-        {"label":"ka0", "x":11.75, "y":4.25},
-        {"label":"ka1", "x":12.75, "y":4.25},
-        {"label":"ka2", "x":13.75, "y":4.25},
-        {"label":"ka3", "x":14.75, "y":4.25},
-        {"label":"ka4", "x":15.75, "y":4.25},
-        {"label":"ka5", "x":16.75, "y":4.25, "w":1.75},
-        {"label":"ka7", "x":20, "y":4.25},
-        {"label":"ka8", "x":21, "y":4.25},
-        {"label":"ka9", "x":22, "y":4.25},
-        {"label":"kaa", "x":23, "y":4.25, "h":2},
-        {"label":"k44", "x":4.25, "y":4.5},
-        {"label":"k96", "x":18.75, "y":4.5},
-        {"label":"k51", "x":1, "y":5.25},
-        {"label":"k52", "x":2, "y":5.25},
-        {"label":"k56", "x":6.5, "y":5.25},
-        {"label":"k57", "x":7.5, "y":5.25},
-        {"label":"k58", "x":8.5, "y":5.25},
-        {"label":"kb0", "x":9.5, "y":5.25, "w":4},
-        {"label":"kb2", "x":13.5, "y":5.25},
-        {"label":"kb3", "x":14.5, "y":5.25},
-        {"label":"kb4", "x":15.5, "y":5.25},
-        {"label":"kb5", "x":16.5, "y":5.25},
-        {"label":"kb8", "x":21, "y":5.25},
-        {"label":"kb9", "x":22, "y":5.25},
-        {"label":"k53", "x":3.25, "y":5.5},
-        {"label":"k54", "x":4.25, "y":5.5},
-        {"label":"k55", "x":5.25, "y":5.5},
-        {"label":"ka6", "x":17.75, "y":5.5},
-        {"label":"kb6", "x":18.75, "y":5.5},
-        {"label":"kb7", "x":19.75, "y":5.5}
+        {"label":"k00", "x":0, "y":0}, {"label":"k01", "x":1, "y":0}, {"label":"k02", "x":2, "y":0}, {"label":"k03", "x":3, "y":0}, {"label":"k04", "x":4.75, "y":0}, {"label":"k06", "x":6.25, "y":0}, {"label":"k07", "x":7.25, "y":0}, {"label":"k08", "x":8.25, "y":0}, {"label":"k09", "x":9.25, "y":0}, {"label":"k0a", "x":10.75, "y":0}, {"label":"k60", "x":11.75, "y":0}, {"label":"k61", "x":12.75, "y":0}, {"label":"k62", "x":13.75, "y":0}, {"label":"k63", "x":15.25, "y":0}, {"label":"k64", "x":16.25, "y":0}, {"label":"k65", "x":17.25, "y":0}, {"label":"k66", "x":18.25, "y":0}, {"label":"k67", "x":20, "y":0}, {"label":"k68", "x":21, "y":0}, {"label":"k69", "x":22, "y":0}, {"label":"k6a", "x":23, "y":0},
+        {"label":"k10", "x":0, "y":1.25}, {"label":"k11", "x":1, "y":1.25}, {"label":"k12", "x":2, "y":1.25}, {"label":"k13", "x":3, "y":1.25}, {"label":"k14", "x":4.5, "y":1.25}, {"label":"k15", "x":5.5, "y":1.25}, {"label":"k16", "x":6.5, "y":1.25}, {"label":"k17", "x":7.5, "y":1.25}, {"label":"k18", "x":8.5, "y":1.25}, {"label":"k19", "x":9.5, "y":1.25}, {"label":"k0a", "x":10.5, "y":1.25}, {"label":"k70", "x":11.5, "y":1.25}, {"label":"k71", "x":12.5, "y":1.25}, {"label":"k72", "x":13.5, "y":1.25}, {"label":"k73", "x":14.5, "y":1.25}, {"label":"k74", "x":15.5, "y":1.25}, {"label":"k75", "x":16.5, "y":1.25}, {"label":"k76", "x":17.5, "y":1.25, "w":2}, {"label":"k77", "x":20, "y":1.25}, {"label":"k78", "x":21, "y":1.25}, {"label":"k79", "x":22, "y":1.25}, {"label":"k7a", "x":23, "y":1.25},
+        {"label":"k20", "x":0, "y":2.25, "h":2}, {"label":"k21", "x":1, "y":2.25}, {"label":"k22", "x":2, "y":2.25}, {"label":"k23", "x":3, "y":2.25}, {"label":"k24", "x":4.5, "y":2.25, "w":1.5}, {"label":"k25", "x":6, "y":2.25}, {"label":"k26", "x":7, "y":2.25}, {"label":"k27", "x":8, "y":2.25}, {"label":"k28", "x":9, "y":2.25}, {"label":"k29", "x":10, "y":2.25}, {"label":"k2a", "x":11, "y":2.25}, {"label":"k80", "x":12, "y":2.25}, {"label":"k81", "x":13, "y":2.25}, {"label":"k82", "x":14, "y":2.25}, {"label":"k83", "x":15, "y":2.25}, {"label":"k84", "x":16, "y":2.25}, {"label":"k85", "x":17, "y":2.25}, {"label":"k86", "x":18, "y":2.25, "w":1.5}, {"label":"k87", "x":20, "y":2.25}, {"label":"k88", "x":21, "y":2.25}, {"label":"k89", "x":22, "y":2.25}, {"label":"k8a", "x":23, "y":2.25, "h":2},
+        {"label":"k31", "x":1, "y":3.25}, {"label":"k32", "x":2, "y":3.25}, {"label":"k33", "x":3, "y":3.25}, {"label":"k34", "x":4.5, "y":3.25, "w":1.75}, {"label":"k35", "x":6.25, "y":3.25}, {"label":"k36", "x":7.25, "y":3.25}, {"label":"k37", "x":8.25, "y":3.25}, {"label":"k38", "x":9.25, "y":3.25}, {"label":"k39", "x":10.25, "y":3.25}, {"label":"k3a", "x":11.25, "y":3.25}, {"label":"k90", "x":12.25, "y":3.25}, {"label":"k91", "x":13.25, "y":3.25}, {"label":"k92", "x":14.25, "y":3.25}, {"label":"k93", "x":15.25, "y":3.25}, {"label":"k94", "x":16.25, "y":3.25}, {"label":"k95", "x":17.25, "y":3.25, "w":2.25}, {"label":"k97", "x":20, "y":3.25}, {"label":"k98", "x":21, "y":3.25}, {"label":"k99", "x":22, "y":3.25},
+        {"label":"k40", "x":0, "y":4.25, "h":2}, {"label":"k41", "x":1, "y":4.25}, {"label":"k42", "x":2, "y":4.25}, {"label":"k43", "x":3, "y":4.25}, {"label":"k45", "x":5.5, "y":4.25, "w":1.25}, {"label":"k46", "x":6.75, "y":4.25}, {"label":"k47", "x":7.75, "y":4.25}, {"label":"k48", "x":8.75, "y":4.25}, {"label":"k49", "x":9.75, "y":4.25}, {"label":"k4a", "x":10.75, "y":4.25}, {"label":"ka0", "x":11.75, "y":4.25}, {"label":"ka1", "x":12.75, "y":4.25}, {"label":"ka2", "x":13.75, "y":4.25}, {"label":"ka3", "x":14.75, "y":4.25}, {"label":"ka4", "x":15.75, "y":4.25}, {"label":"ka5", "x":16.75, "y":4.25, "w":1.75}, {"label":"ka7", "x":20, "y":4.25}, {"label":"ka8", "x":21, "y":4.25}, {"label":"ka9", "x":22, "y":4.25}, {"label":"kaa", "x":23, "y":4.25, "h":2}, {"label":"k44", "x":4.25, "y":4.5}, {"label":"k96", "x":18.75, "y":4.5},
+        {"label":"k51", "x":1, "y":5.25}, {"label":"k52", "x":2, "y":5.25}, {"label":"k56", "x":6.5, "y":5.25}, {"label":"k57", "x":7.5, "y":5.25}, {"label":"k58", "x":8.5, "y":5.25}, {"label":"kb0", "x":9.5, "y":5.25, "w":4}, {"label":"kb2", "x":13.5, "y":5.25}, {"label":"kb3", "x":14.5, "y":5.25}, {"label":"kb4", "x":15.5, "y":5.25}, {"label":"kb5", "x":16.5, "y":5.25}, {"label":"kb8", "x":21, "y":5.25}, {"label":"kb9", "x":22, "y":5.25}, {"label":"k53", "x":3.25, "y":5.5}, {"label":"k54", "x":4.25, "y":5.5}, {"label":"k55", "x":5.25, "y":5.5}, {"label":"ka6", "x":17.75, "y":5.5}, {"label":"kb6", "x":18.75, "y":5.5}, {"label":"kb7", "x":19.75, "y":5.5}
       ]
     }
   }
index f5eccb2252972f692daf795e562f75220b2c3a98..152e2f1487597265f80eb1a0679c96488c6faa8c 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #include "config_common.h"
 
 // place overrides here
-
-#endif
index f5eccb2252972f692daf795e562f75220b2c3a98..152e2f1487597265f80eb1a0679c96488c6faa8c 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #include "config_common.h"
 
 // place overrides here
-
-#endif
index f5eccb2252972f692daf795e562f75220b2c3a98..152e2f1487597265f80eb1a0679c96488c6faa8c 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #include "config_common.h"
 
 // place overrides here
-
-#endif
index f5eccb2252972f692daf795e562f75220b2c3a98..152e2f1487597265f80eb1a0679c96488c6faa8c 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #include "config_common.h"
 
 // place overrides here
-
-#endif
index f5eccb2252972f692daf795e562f75220b2c3a98..152e2f1487597265f80eb1a0679c96488c6faa8c 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #include "config_common.h"
 
 // place overrides here
-
-#endif
diff --git a/keyboards/clueboard/2x1800/keymaps/mouseboard_left/rules.mk b/keyboards/clueboard/2x1800/keymaps/mouseboard_left/rules.mk
deleted file mode 100644 (file)
index 6c605da..0000000
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes
index f5eccb2252972f692daf795e562f75220b2c3a98..152e2f1487597265f80eb1a0679c96488c6faa8c 100644 (file)
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
+#pragma once
 
 #include "config_common.h"
 
 // place overrides here
-
-#endif
diff --git a/keyboards/clueboard/2x1800/keymaps/mouseboard_right/rules.mk b/keyboards/clueboard/2x1800/keymaps/mouseboard_right/rules.mk
deleted file mode 100644 (file)
index 6c605da..0000000
+++ /dev/null
@@ -1 +0,0 @@
-MOUSEKEY_ENABLE = yes
index afc043f484e4dea412bfa8b6ae83fefc7837899d..7e2c206ede76fb6b1c57faf72ccad57303df198b 100644 (file)
@@ -2,11 +2,11 @@
 
 Clueboard Double 1800 All The Way
 
-Keyboard Maintainer: [Zach White](https://github.com/skullydazed)  
-Hardware Supported: Clueboard 2x1800 PCB  
-Hardware Availability: 2018 Apr 1 Group Buy
+* Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
+* Hardware Supported: Clueboard 2x1800 PCB
+Hardware Availability: 2018 Apr 1 Group Buy
 
-Make example for this keyboard (after setting up your build environment):
+Make example for this keyboard:
 
     make 2x1800:default
 
index 516a536f6b1da859cd40babb9dda097ec03b3f49..eb679b9fb7742454a4f08104f3497f30a324fffc 100644 (file)
@@ -1,64 +1,20 @@
-# MCU name
+# MCU details
 MCU = at90usb1286
-
-# Processor frequency.
-#     This will define a symbol, F_CPU, in all source code files equal to the
-#     processor frequency in Hz. You can then use this symbol in your source code to
-#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-#     automatically to create a 32-bit value in your source code.
-#
-#     This will be an integer division of F_USB below, as it is sourced by
-#     F_USB after it has run through any CPU prescalers. Note that this value
-#     does not *change* the processor frequency - it should merely be updated to
-#     reflect the processor speed set externally so that the code can use accurate
-#     software delays.
 F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
 ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
 OPT_DEFS += -DBOOTLOADER_SIZE=1024
 
 
 # Build Options
-#   change yes to no to disable
-#
-BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no       # Audio control and System control(+450)
+BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
 CONSOLE_ENABLE = yes        # Console for debug(+400)
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = yes            # USB Nkey Rollover
+COMMAND_ENABLE = no         # Commands for debug and configuration
+NKRO_ENABLE = yes           # USB Nkey Rollover
 MIDI_ENABLE = no            # MIDI support (+2400 to 4200, depending on config)
 UNICODE_ENABLE = no         # Unicode
-RGBLIGHT_ENABLE = no        # RGB on port C6
-AUDIO_ENABLE = no           # Audio output on port C4 and B7
-FAUXCLICKY_ENABLE = no      # Use buzzer to emulate clicky switches
+RGBLIGHT_ENABLE = yes       # RGB on port C6
+AUDIO_ENABLE = yes          # Audio output on port C4 and B7
index ffff18f9e443047d21e24916d1c5d87351ff73dc..713f0d42be80c55dfd2c7e722350d1c31123023f 100644 (file)
 #include "quantum.h"
 
 /*
- * These are shortcuts to help you work with the various layout options. If your 
+ * These are shortcuts to help you work with the various layout options. If your
  * keymap works with one of the LAYOUT_...() macros you are encouraged to use that
- * and to contribute your keymap to the corresponding layout in 
+ * and to contribute your keymap to the corresponding layout in
  * `qmk_firmware/layouts/community`.
  */
 
-/* The fully-featured KEYMAP() that has every single key available in the matrix.
+/* The fully-featured LAYOUT_all() that has every single key available in the matrix.
  */
-#define KEYMAP(\
+#define LAYOUT_all(\
     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
      k10,   k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,   k1e, \
      k20,    k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c,  k2e, \
@@ -44,7 +44,7 @@
 /* A layout that matches the Apple Extended Keyboard's main area. No split keys,
  * 3 mods on either side of the spacebar.
  */
-#define KEYMAP_AEK(\
+#define LAYOUT_aek(\
     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c,   k0e, \
      k10,   k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c,   k1e, \
      k20,    k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b,    k2e, \
     { k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, KC_NO, k3e, }, \
     { k40, k41, k42, KC_NO, KC_NO, KC_NO, KC_NO, k47, KC_NO, KC_NO, k4a, k4b, k4c, KC_NO, k4e, }, \
 }
+
+#define LAYOUT LAYOUT_all
+#define KEYMAP LAYOUT_all
 #endif
diff --git a/keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.c b/keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.c
deleted file mode 100644 (file)
index 4331155..0000000
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
-    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-*/
-
-#include "hal.h"
-
-#if HAL_USE_PAL || defined(__DOXYGEN__)
-/**
- * @brief   PAL setup.
- * @details Digital I/O ports static configuration as defined in @p board.h.
- *          This variable is used by the HAL when initializing the PAL driver.
- */
-const PALConfig pal_default_config = {
-#if STM32_HAS_GPIOA
-  {VAL_GPIOA_MODER, VAL_GPIOA_OTYPER, VAL_GPIOA_OSPEEDR, VAL_GPIOA_PUPDR,
-   VAL_GPIOA_ODR,   VAL_GPIOA_AFRL,   VAL_GPIOA_AFRH},
-#endif
-#if STM32_HAS_GPIOB
-  {VAL_GPIOB_MODER, VAL_GPIOB_OTYPER, VAL_GPIOB_OSPEEDR, VAL_GPIOB_PUPDR,
-   VAL_GPIOB_ODR,   VAL_GPIOB_AFRL,   VAL_GPIOB_AFRH},
-#endif
-#if STM32_HAS_GPIOC
-  {VAL_GPIOC_MODER, VAL_GPIOC_OTYPER, VAL_GPIOC_OSPEEDR, VAL_GPIOC_PUPDR,
-   VAL_GPIOC_ODR,   VAL_GPIOC_AFRL,   VAL_GPIOC_AFRH},
-#endif
-#if STM32_HAS_GPIOD
-  {VAL_GPIOD_MODER, VAL_GPIOD_OTYPER, VAL_GPIOD_OSPEEDR, VAL_GPIOD_PUPDR,
-   VAL_GPIOD_ODR,   VAL_GPIOD_AFRL,   VAL_GPIOD_AFRH},
-#endif
-#if STM32_HAS_GPIOE
-  {VAL_GPIOE_MODER, VAL_GPIOE_OTYPER, VAL_GPIOE_OSPEEDR, VAL_GPIOE_PUPDR,
-   VAL_GPIOE_ODR,   VAL_GPIOE_AFRL,   VAL_GPIOE_AFRH},
-#endif
-#if STM32_HAS_GPIOF
-  {VAL_GPIOF_MODER, VAL_GPIOF_OTYPER, VAL_GPIOF_OSPEEDR, VAL_GPIOF_PUPDR,
-   VAL_GPIOF_ODR,   VAL_GPIOF_AFRL,   VAL_GPIOF_AFRH},
-#endif
-#if STM32_HAS_GPIOG
-  {VAL_GPIOG_MODER, VAL_GPIOG_OTYPER, VAL_GPIOG_OSPEEDR, VAL_GPIOG_PUPDR,
-   VAL_GPIOG_ODR,   VAL_GPIOG_AFRL,   VAL_GPIOG_AFRH},
-#endif
-#if STM32_HAS_GPIOH
-  {VAL_GPIOH_MODER, VAL_GPIOH_OTYPER, VAL_GPIOH_OSPEEDR, VAL_GPIOH_PUPDR,
-   VAL_GPIOH_ODR,   VAL_GPIOH_AFRL,   VAL_GPIOH_AFRH},
-#endif
-#if STM32_HAS_GPIOI
-  {VAL_GPIOI_MODER, VAL_GPIOI_OTYPER, VAL_GPIOI_OSPEEDR, VAL_GPIOI_PUPDR,
-   VAL_GPIOI_ODR,   VAL_GPIOI_AFRL,   VAL_GPIOI_AFRH}
-#endif
-};
-#endif
-
-void enter_bootloader_mode_if_requested(void);
-
-/**
- * @brief   Early initialization code.
- * @details This initialization must be performed just after stack setup
- *          and before any other initialization.
- */
-void __early_init(void) {
-  enter_bootloader_mode_if_requested();
-  stm32_clock_init();
-}
-
-#if HAL_USE_SDC || defined(__DOXYGEN__)
-/**
- * @brief   SDC card detection.
- */
-bool sdc_lld_is_card_inserted(SDCDriver *sdcp) {
-
-  (void)sdcp;
-  /* TODO: Fill the implementation.*/
-  return true;
-}
-
-/**
- * @brief   SDC card write protection detection.
- */
-bool sdc_lld_is_write_protected(SDCDriver *sdcp) {
-
-  (void)sdcp;
-  /* TODO: Fill the implementation.*/
-  return false;
-}
-#endif /* HAL_USE_SDC */
-
-#if HAL_USE_MMC_SPI || defined(__DOXYGEN__)
-/**
- * @brief   MMC_SPI card detection.
- */
-bool mmc_lld_is_card_inserted(MMCDriver *mmcp) {
-
-  (void)mmcp;
-  /* TODO: Fill the implementation.*/
-  return true;
-}
-
-/**
- * @brief   MMC_SPI card write protection detection.
- */
-bool mmc_lld_is_write_protected(MMCDriver *mmcp) {
-
-  (void)mmcp;
-  /* TODO: Fill the implementation.*/
-  return false;
-}
-#endif
-
-/**
- * @brief   Board-specific initialization code.
- * @todo    Add your board-specific code, if any.
- */
-void boardInit(void) {
-}
diff --git a/keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.h b/keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.h
deleted file mode 100644 (file)
index e09112e..0000000
+++ /dev/null
@@ -1,1187 +0,0 @@
-/*
-    ChibiOS - Copyright (C) 2006..2016 Giovanni Di Sirio
-
-    Licensed under the Apache License, Version 2.0 (the "License");
-    you may not use this file except in compliance with the License.
-    You may obtain a copy of the License at
-
-        http://www.apache.org/licenses/LICENSE-2.0
-
-    Unless required by applicable law or agreed to in writing, software
-    distributed under the License is distributed on an "AS IS" BASIS,
-    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-    See the License for the specific language governing permissions and
-    limitations under the License.
-*/
-
-#ifndef _BOARD_H_
-#define _BOARD_H_
-
-/*
- * Setup for Clueboard 60% Keyboard
- */
-
-/*
- * Board identifier.
- */
-#define BOARD_GENERIC_STM32_F303XC
-#define BOARD_NAME                  "Clueboard 60 PCB"
-
-/*
- * Board oscillators-related settings.
- * NOTE: LSE not fitted.
- */
-#if !defined(STM32_LSECLK)
-#define STM32_LSECLK                0U
-#endif
-
-#define STM32_LSEDRV                (3U << 3U)
-
-#if !defined(STM32_HSECLK)
-#define STM32_HSECLK                8000000U
-#endif
-
-// #define STM32_HSE_BYPASS
-
-/*
- * MCU type as defined in the ST header.
- */
-#define STM32F303xC
-
-/*
- * IO pins assignments.
- */
-#define GPIOA_PIN0       0U
-#define GPIOA_PIN1       1U
-#define GPIOA_PIN2       2U
-#define GPIOA_PIN3       3U
-#define GPIOA_PIN4       4U
-#define GPIOA_PIN5       5U
-#define GPIOA_PIN6       6U
-#define GPIOA_PIN7       7U
-#define GPIOA_PIN8       8U
-#define GPIOA_PIN9       9U
-#define GPIOA_PIN10      10U
-#define GPIOA_USB_DM     11U
-#define GPIOA_USB_DP     12U
-#define GPIOA_SWDIO      13U
-#define GPIOA_SWCLK      14U
-#define GPIOA_PIN15      15U
-
-#define GPIOB_PIN0       0U
-#define GPIOB_PIN1       1U
-#define GPIOB_PIN2       2U
-#define GPIOB_PIN3       3U
-#define GPIOB_PIN4       4U
-#define GPIOB_PIN5       5U
-#define GPIOB_PIN6       6U
-#define GPIOB_PIN7       7U
-#define GPIOB_PIN8       8U
-#define GPIOB_PIN9       9U
-#define GPIOB_PIN10      10U
-#define GPIOB_PIN11      11U
-#define GPIOB_PIN12      12U
-#define GPIOB_PIN13      13U
-#define GPIOB_PIN14      14U
-#define GPIOB_PIN15      15U
-
-#define GPIOC_PIN0       0U
-#define GPIOC_PIN1       1U
-#define GPIOC_PIN2       2U
-#define GPIOC_PIN3       3U
-#define GPIOC_PIN4       4U
-#define GPIOC_PIN5       5U
-#define GPIOC_PIN6       6U
-#define GPIOC_PIN7       7U
-#define GPIOC_PIN8       8U
-#define GPIOC_PIN9       9U
-#define GPIOC_PIN10      10U
-#define GPIOC_PIN11      11U
-#define GPIOC_PIN12      12U
-#define GPIOC_PIN13      13U
-#define GPIOC_PIN14      14U
-#define GPIOC_PIN15      15U
-
-#define GPIOD_PIN0       0U
-#define GPIOD_PIN1       1U
-#define GPIOD_PIN2       2U
-#define GPIOD_PIN3       3U
-#define GPIOD_PIN4       4U
-#define GPIOD_PIN5       5U
-#define GPIOD_PIN6       6U
-#define GPIOD_PIN7       7U
-#define GPIOD_PIN8       8U
-#define GPIOD_PIN9       9U
-#define GPIOD_PIN10      10U
-#define GPIOD_PIN11      11U
-#define GPIOD_PIN12      12U
-#define GPIOD_PIN13      13U
-#define GPIOD_PIN14      14U
-#define GPIOD_PIN15      15U
-
-#define GPIOE_PIN0       0U
-#define GPIOE_PIN1       1U
-#define GPIOE_PIN2       2U
-#define GPIOE_PIN3       3U
-#define GPIOE_PIN4       4U
-#define GPIOE_PIN5       5U
-#define GPIOE_PIN6       6U
-#define GPIOE_PIN7       7U
-#define GPIOE_PIN8       8U
-#define GPIOE_PIN9       9U
-#define GPIOE_PIN10      10U
-#define GPIOE_PIN11      11U
-#define GPIOE_PIN12      12U
-#define GPIOE_PIN13      13U
-#define GPIOE_PIN14      14U
-#define GPIOE_PIN15      15U
-
-#define GPIOF_I2C2_SDA   0U
-#define GPIOF_I2C2_SCL   1U
-#define GPIOF_PIN2       2U
-#define GPIOF_PIN3       3U
-#define GPIOF_PIN4       4U
-#define GPIOF_PIN5       5U
-#define GPIOF_PIN6       6U
-#define GPIOF_PIN7       7U
-#define GPIOF_PIN8       8U
-#define GPIOF_PIN9       9U
-#define GPIOF_PIN10      10U
-#define GPIOF_PIN11      11U
-#define GPIOF_PIN12      12U
-#define GPIOF_PIN13      13U
-#define GPIOF_PIN14      14U
-#define GPIOF_PIN15      15U
-
-#define GPIOG_PIN0       0U
-#define GPIOG_PIN1       1U
-#define GPIOG_PIN2       2U
-#define GPIOG_PIN3       3U
-#define GPIOG_PIN4       4U
-#define GPIOG_PIN5       5U
-#define GPIOG_PIN6       6U
-#define GPIOG_PIN7       7U
-#define GPIOG_PIN8       8U
-#define GPIOG_PIN9       9U
-#define GPIOG_PIN10      10U
-#define GPIOG_PIN11      11U
-#define GPIOG_PIN12      12U
-#define GPIOG_PIN13      13U
-#define GPIOG_PIN14      14U
-#define GPIOG_PIN15      15U
-
-#define GPIOH_PIN0       0U
-#define GPIOH_PIN1       1U
-#define GPIOH_PIN2       2U
-#define GPIOH_PIN3       3U
-#define GPIOH_PIN4       4U
-#define GPIOH_PIN5       5U
-#define GPIOH_PIN6       6U
-#define GPIOH_PIN7       7U
-#define GPIOH_PIN8       8U
-#define GPIOH_PIN9       9U
-#define GPIOH_PIN10      10U
-#define GPIOH_PIN11      11U
-#define GPIOH_PIN12      12U
-#define GPIOH_PIN13      13U
-#define GPIOH_PIN14      14U
-#define GPIOH_PIN15      15U
-
-/*
- * IO lines assignments.
- */
-#define LINE_L3GD20_SDI             PAL_LINE(GPIOA, 7U)
-#define LINE_USB_DM                 PAL_LINE(GPIOA, 11U)
-#define LINE_USB_DP                 PAL_LINE(GPIOA, 12U)
-#define LINE_SWDIO                  PAL_LINE(GPIOA, 13U)
-#define LINE_SWCLK                  PAL_LINE(GPIOA, 14U)
-
-#define LINE_PIN6               PAL_LINE(GPIOF, 0U)
-#define LINE_PIN7               PAL_LINE(GPIOF, 1U)
-
-#define LINE_CAPS_LOCK               PAL_LINE(GPIOB, 7U)
-
-
-/*
- * I/O ports initial setup, this configuration is established soon after reset
- * in the initialization code.
- * Please refer to the STM32 Reference Manual for details.
- */
-#define PIN_MODE_INPUT(n)           (0U << ((n) * 2U))
-#define PIN_MODE_OUTPUT(n)          (1U << ((n) * 2U))
-#define PIN_MODE_ALTERNATE(n)       (2U << ((n) * 2U))
-#define PIN_MODE_ANALOG(n)          (3U << ((n) * 2U))
-#define PIN_ODR_LOW(n)              (0U << (n))
-#define PIN_ODR_HIGH(n)             (1U << (n))
-#define PIN_OTYPE_PUSHPULL(n)       (0U << (n))
-#define PIN_OTYPE_OPENDRAIN(n)      (1U << (n))
-#define PIN_OSPEED_VERYLOW(n)       (0U << ((n) * 2U))
-#define PIN_OSPEED_LOW(n)           (1U << ((n) * 2U))
-#define PIN_OSPEED_MEDIUM(n)        (2U << ((n) * 2U))
-#define PIN_OSPEED_HIGH(n)          (3U << ((n) * 2U))
-#define PIN_PUPDR_FLOATING(n)       (0U << ((n) * 2U))
-#define PIN_PUPDR_PULLUP(n)         (1U << ((n) * 2U))
-#define PIN_PUPDR_PULLDOWN(n)       (2U << ((n) * 2U))
-#define PIN_AFIO_AF(n, v)           ((v) << (((n) % 8U) * 4U))
-
-/*
- * GPIOA setup:
- *
- * PA0  - NC
- * PA1  - NC
- * PA2  - COL1
- * PA3  - COL2
- * PA4  - SPEAKER1
- * PA5  - SPEAKER2
- * PA6  - COL3
- * PA7  - COL8
- * PA8  - COL6
- * PA9  - COL7
- * PA10 - ROW5
- * PA11 - USB_DM                    (alternate 14).
- * PA12 - USB_DP                    (alternate 14).
- * PA13 - SWDIO                     (alternate 0).
- * PA14 - SWCLK                     (alternate 0).
- * PA15 - ROW4
- */
-#define VAL_GPIOA_MODER             (PIN_MODE_INPUT(GPIOA_PIN0) |         \
-                                     PIN_MODE_INPUT(GPIOA_PIN1) |           \
-                                     PIN_MODE_INPUT(GPIOA_PIN2) |           \
-                                     PIN_MODE_INPUT(GPIOA_PIN3) |           \
-                                     PIN_MODE_INPUT(GPIOA_PIN4) |           \
-                                     PIN_MODE_INPUT(GPIOA_PIN5) |   \
-                                     PIN_MODE_INPUT(GPIOA_PIN6) |  \
-                                     PIN_MODE_INPUT(GPIOA_PIN7) |  \
-                                     PIN_MODE_INPUT(GPIOA_PIN8) |           \
-                                     PIN_MODE_INPUT(GPIOA_PIN9) |           \
-                                     PIN_MODE_INPUT(GPIOA_PIN10) |          \
-                                     PIN_MODE_ALTERNATE(GPIOA_USB_DM) |     \
-                                     PIN_MODE_ALTERNATE(GPIOA_USB_DP) |     \
-                                     PIN_MODE_ALTERNATE(GPIOA_SWDIO) |      \
-                                     PIN_MODE_ALTERNATE(GPIOA_SWCLK) |      \
-                                     PIN_MODE_INPUT(GPIOA_PIN15))
-#define VAL_GPIOA_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOA_PIN0) |     \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN1) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN2) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN3) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN4) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN5) |   \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN6) |  \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN7) |  \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN8) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN9) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN10) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_USB_DM) |     \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_USB_DP) |     \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_SWDIO) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_SWCLK) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOA_PIN15))
-#define VAL_GPIOA_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOA_PIN0) |     \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN1) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN2) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN3) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN4) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN5) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN6) |     \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN7) |     \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN8) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN9) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN10) |      \
-                                     PIN_OSPEED_HIGH(GPIOA_USB_DM) |        \
-                                     PIN_OSPEED_VERYLOW(GPIOA_USB_DP) |     \
-                                     PIN_OSPEED_HIGH(GPIOA_SWDIO) |         \
-                                     PIN_OSPEED_HIGH(GPIOA_SWCLK) |         \
-                                     PIN_OSPEED_VERYLOW(GPIOA_PIN15))
-#define VAL_GPIOA_PUPDR             (PIN_PUPDR_FLOATING(GPIOA_PIN0) |     \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN1) |         \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN2) |         \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN3) |         \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN4) |         \
-                                     PIN_PUPDR_FLOATING(GPIOA_PIN5) |   \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN6) |    \
-                                     PIN_PUPDR_FLOATING(GPIOA_PIN7) |  \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN8) |         \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN9) |         \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN10) |        \
-                                     PIN_PUPDR_FLOATING(GPIOA_USB_DM) |     \
-                                     PIN_PUPDR_FLOATING(GPIOA_USB_DP) |     \
-                                     PIN_PUPDR_PULLUP(GPIOA_SWDIO) |        \
-                                     PIN_PUPDR_PULLDOWN(GPIOA_SWCLK) |      \
-                                     PIN_PUPDR_PULLUP(GPIOA_PIN15))
-#define VAL_GPIOA_ODR               (PIN_ODR_HIGH(GPIOA_PIN0) |           \
-                                     PIN_ODR_HIGH(GPIOA_PIN1) |             \
-                                     PIN_ODR_HIGH(GPIOA_PIN2) |             \
-                                     PIN_ODR_HIGH(GPIOA_PIN3) |             \
-                                     PIN_ODR_HIGH(GPIOA_PIN4) |             \
-                                     PIN_ODR_HIGH(GPIOA_PIN5) |         \
-                                     PIN_ODR_HIGH(GPIOA_PIN6) |        \
-                                     PIN_ODR_HIGH(GPIOA_PIN7) |        \
-                                     PIN_ODR_HIGH(GPIOA_PIN8) |             \
-                                     PIN_ODR_HIGH(GPIOA_PIN9) |             \
-                                     PIN_ODR_HIGH(GPIOA_PIN10) |            \
-                                     PIN_ODR_HIGH(GPIOA_USB_DM) |           \
-                                     PIN_ODR_HIGH(GPIOA_USB_DP) |           \
-                                     PIN_ODR_HIGH(GPIOA_SWDIO) |            \
-                                     PIN_ODR_HIGH(GPIOA_SWCLK) |            \
-                                     PIN_ODR_HIGH(GPIOA_PIN15))
-#define VAL_GPIOA_AFRL              (PIN_AFIO_AF(GPIOA_PIN0, 0) |         \
-                                     PIN_AFIO_AF(GPIOA_PIN1, 0) |           \
-                                     PIN_AFIO_AF(GPIOA_PIN2, 0) |           \
-                                     PIN_AFIO_AF(GPIOA_PIN3, 0) |           \
-                                     PIN_AFIO_AF(GPIOA_PIN4, 0) |           \
-                                     PIN_AFIO_AF(GPIOA_PIN5, 5) |       \
-                                     PIN_AFIO_AF(GPIOA_PIN6, 5) |      \
-                                     PIN_AFIO_AF(GPIOA_PIN7, 5))
-#define VAL_GPIOA_AFRH              (PIN_AFIO_AF(GPIOA_PIN8, 0) |           \
-                                     PIN_AFIO_AF(GPIOA_PIN9, 0) |           \
-                                     PIN_AFIO_AF(GPIOA_PIN10, 0) |          \
-                                     PIN_AFIO_AF(GPIOA_USB_DM, 14) |        \
-                                     PIN_AFIO_AF(GPIOA_USB_DP, 14) |        \
-                                     PIN_AFIO_AF(GPIOA_SWDIO, 0) |          \
-                                     PIN_AFIO_AF(GPIOA_SWCLK, 0) |          \
-                                     PIN_AFIO_AF(GPIOA_PIN15, 0))
-
-/*
- * GPIOB setup:
- *
- * PB0  - PIN0                      (input pullup).
- * PB1  - PIN1                      (input pullup).
- * PB2  - PIN2                      (input pullup).
- * PB3  - PIN3                       (alternate 0).
- * PB4  - PIN4                      (input pullup).
- * PB5  - PIN5                      (input pullup).
- * PB6  - PIN6 LSM303DLHC_SCL   (alternate 4).
- * PB7  - PIN7 LSM303DLHC_SDA   (alternate 4).
- * PB8  - PIN8                      (input pullup).
- * PB9  - PIN9                      (input pullup).
- * PB10 - PIN10                     (input pullup).
- * PB11 - PIN11                     (input pullup).
- * PB12 - PIN12                     (input pullup).
- * PB13 - PIN13                     (input pullup).
- * PB14 - PIN14                     (input pullup).
- * PB15 - PIN15                     (input pullup).
- */
-#define VAL_GPIOB_MODER             (PIN_MODE_INPUT(GPIOB_PIN0) |           \
-                                     PIN_MODE_INPUT(GPIOB_PIN1) |           \
-                                     PIN_MODE_INPUT(GPIOB_PIN2) |           \
-                                     PIN_MODE_ALTERNATE(GPIOB_PIN3) |        \
-                                     PIN_MODE_INPUT(GPIOB_PIN4) |           \
-                                     PIN_MODE_INPUT(GPIOB_PIN5) |           \
-                                     PIN_MODE_ALTERNATE(GPIOB_PIN6) |   \
-                                     PIN_MODE_OUTPUT(GPIOB_PIN7) |   \
-                                     PIN_MODE_INPUT(GPIOB_PIN8) |           \
-                                     PIN_MODE_INPUT(GPIOB_PIN9) |           \
-                                     PIN_MODE_INPUT(GPIOB_PIN10) |          \
-                                     PIN_MODE_INPUT(GPIOB_PIN11) |          \
-                                     PIN_MODE_INPUT(GPIOB_PIN12) |          \
-                                     PIN_MODE_INPUT(GPIOB_PIN13) |          \
-                                     PIN_MODE_INPUT(GPIOB_PIN14) |          \
-                                     PIN_MODE_INPUT(GPIOB_PIN15))
-#define VAL_GPIOB_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOB_PIN0) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN1) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN2) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN3) |        \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN4) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN5) |       \
-                                     PIN_OTYPE_OPENDRAIN(GPIOB_PIN6) |  \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN7) |  \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN8) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN9) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN10) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN11) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN12) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN13) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN14) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOB_PIN15))
-#define VAL_GPIOB_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOB_PIN0) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN1) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN2) |       \
-                                     PIN_OSPEED_HIGH(GPIOB_PIN3) |           \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN4) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN5) |       \
-                                     PIN_OSPEED_HIGH(GPIOB_PIN6) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN7) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN8) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN9) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN10) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN11) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN12) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN13) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN14) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOB_PIN15))
-#define VAL_GPIOB_PUPDR             (PIN_PUPDR_PULLUP(GPIOB_PIN0) |         \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN1) |         \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN2) |         \
-                                     PIN_PUPDR_FLOATING(GPIOB_PIN3) |        \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN4) |         \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN5) |         \
-                                     PIN_PUPDR_FLOATING(GPIOB_PIN6) |   \
-                                     PIN_PUPDR_PULLDOWN(GPIOB_PIN7) |   \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN8) |         \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN9) |         \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN10) |        \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN11) |        \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN12) |        \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN13) |        \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN14) |        \
-                                     PIN_PUPDR_PULLUP(GPIOB_PIN15))
-#define VAL_GPIOB_ODR               (PIN_ODR_HIGH(GPIOB_PIN0) |             \
-                                     PIN_ODR_HIGH(GPIOB_PIN1) |             \
-                                     PIN_ODR_HIGH(GPIOB_PIN2) |             \
-                                     PIN_ODR_HIGH(GPIOB_PIN3) |              \
-                                     PIN_ODR_HIGH(GPIOB_PIN4) |             \
-                                     PIN_ODR_HIGH(GPIOB_PIN5) |             \
-                                     PIN_ODR_HIGH(GPIOB_PIN6) |         \
-                                     PIN_ODR_LOW(GPIOB_PIN7) |         \
-                                     PIN_ODR_HIGH(GPIOB_PIN8) |             \
-                                     PIN_ODR_HIGH(GPIOB_PIN9) |             \
-                                     PIN_ODR_HIGH(GPIOB_PIN10) |            \
-                                     PIN_ODR_HIGH(GPIOB_PIN11) |            \
-                                     PIN_ODR_HIGH(GPIOB_PIN12) |            \
-                                     PIN_ODR_HIGH(GPIOB_PIN13) |            \
-                                     PIN_ODR_HIGH(GPIOB_PIN14) |            \
-                                     PIN_ODR_HIGH(GPIOB_PIN15))
-#define VAL_GPIOB_AFRL              (PIN_AFIO_AF(GPIOB_PIN0, 0) |           \
-                                     PIN_AFIO_AF(GPIOB_PIN1, 0) |           \
-                                     PIN_AFIO_AF(GPIOB_PIN2, 0) |           \
-                                     PIN_AFIO_AF(GPIOB_PIN3, 0) |            \
-                                     PIN_AFIO_AF(GPIOB_PIN4, 0) |           \
-                                     PIN_AFIO_AF(GPIOB_PIN5, 0) |           \
-                                     PIN_AFIO_AF(GPIOB_PIN6, 4) |       \
-                                     PIN_AFIO_AF(GPIOB_PIN7, 0))
-#define VAL_GPIOB_AFRH              (PIN_AFIO_AF(GPIOB_PIN8, 0) |           \
-                                     PIN_AFIO_AF(GPIOB_PIN9, 0) |           \
-                                     PIN_AFIO_AF(GPIOB_PIN10, 0) |          \
-                                     PIN_AFIO_AF(GPIOB_PIN11, 0) |          \
-                                     PIN_AFIO_AF(GPIOB_PIN12, 0) |          \
-                                     PIN_AFIO_AF(GPIOB_PIN13, 0) |          \
-                                     PIN_AFIO_AF(GPIOB_PIN14, 0) |          \
-                                     PIN_AFIO_AF(GPIOB_PIN15, 0))
-
-/*
- * GPIOC setup:
- *
- * PC0  - PIN0                      (input pullup).
- * PC1  - PIN1                      (input pullup).
- * PC2  - PIN2                      (input pullup).
- * PC3  - PIN3                      (input pullup).
- * PC4  - PIN4                      (input pullup).
- * PC5  - PIN5                      (input pullup).
- * PC6  - PIN6                      (input pullup).
- * PC7  - PIN7                      (input pullup).
- * PC8  - PIN8                      (input pullup).
- * PC9  - PIN9                      (input pullup).
- * PC10 - PIN10                     (input pullup).
- * PC11 - PIN11                     (input pullup).
- * PC12 - PIN12                     (input pullup).
- * PC13 - PIN13                     (input pullup).
- * PC14 - PIN14                  (input floating).
- * PC15 - PIN15                 (input floating).
- */
-#define VAL_GPIOC_MODER             (PIN_MODE_INPUT(GPIOC_PIN0) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN1) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN2) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN3) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN4) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN5) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN6) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN7) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN8) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN9) |           \
-                                     PIN_MODE_INPUT(GPIOC_PIN10) |          \
-                                     PIN_MODE_INPUT(GPIOC_PIN11) |          \
-                                     PIN_MODE_INPUT(GPIOC_PIN12) |          \
-                                     PIN_MODE_INPUT(GPIOC_PIN13) |          \
-                                     PIN_MODE_INPUT(GPIOC_PIN14) |       \
-                                     PIN_MODE_INPUT(GPIOC_PIN15))
-#define VAL_GPIOC_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOC_PIN0) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN1) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN2) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN3) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN4) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN5) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN6) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN7) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN8) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN9) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN10) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN11) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN12) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN13) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN14) |   \
-                                     PIN_OTYPE_PUSHPULL(GPIOC_PIN15))
-#define VAL_GPIOC_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOC_PIN0) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN1) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN2) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN3) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN4) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN5) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN6) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN7) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN8) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN9) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN10) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN11) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN12) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOC_PIN13) |      \
-                                     PIN_OSPEED_HIGH(GPIOC_PIN14) |      \
-                                     PIN_OSPEED_HIGH(GPIOC_PIN15))
-#define VAL_GPIOC_PUPDR             (PIN_PUPDR_PULLUP(GPIOC_PIN0) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN1) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN2) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN3) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN4) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN5) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN6) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN7) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN8) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN9) |         \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN10) |        \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN11) |        \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN12) |        \
-                                     PIN_PUPDR_PULLUP(GPIOC_PIN13) |        \
-                                     PIN_PUPDR_FLOATING(GPIOC_PIN14) |   \
-                                     PIN_PUPDR_FLOATING(GPIOC_PIN15))
-#define VAL_GPIOC_ODR               (PIN_ODR_HIGH(GPIOC_PIN0) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN1) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN2) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN3) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN4) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN5) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN6) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN7) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN8) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN9) |             \
-                                     PIN_ODR_HIGH(GPIOC_PIN10) |            \
-                                     PIN_ODR_HIGH(GPIOC_PIN11) |            \
-                                     PIN_ODR_HIGH(GPIOC_PIN12) |            \
-                                     PIN_ODR_HIGH(GPIOC_PIN13) |            \
-                                     PIN_ODR_HIGH(GPIOC_PIN14) |         \
-                                     PIN_ODR_HIGH(GPIOC_PIN15))
-#define VAL_GPIOC_AFRL              (PIN_AFIO_AF(GPIOC_PIN0, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN1, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN2, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN3, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN4, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN5, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN6, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN7, 0))
-#define VAL_GPIOC_AFRH              (PIN_AFIO_AF(GPIOC_PIN8, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN9, 0) |           \
-                                     PIN_AFIO_AF(GPIOC_PIN10, 0) |          \
-                                     PIN_AFIO_AF(GPIOC_PIN11, 0) |          \
-                                     PIN_AFIO_AF(GPIOC_PIN12, 0) |          \
-                                     PIN_AFIO_AF(GPIOC_PIN13, 0) |          \
-                                     PIN_AFIO_AF(GPIOC_PIN14, 0) |       \
-                                     PIN_AFIO_AF(GPIOC_PIN15, 0))
-
-/*
- * GPIOD setup:
- *
- * PD0  - PIN0                      (input pullup).
- * PD1  - PIN1                      (input pullup).
- * PD2  - PIN2                      (input pullup).
- * PD3  - PIN3                      (input pullup).
- * PD4  - PIN4                      (input pullup).
- * PD5  - PIN5                      (input pullup).
- * PD6  - PIN6                      (input pullup).
- * PD7  - PIN7                      (input pullup).
- * PD8  - PIN8                      (input pullup).
- * PD9  - PIN9                      (input pullup).
- * PD11 - PIN10                     (input pullup).
- * PD11 - PIN11                     (input pullup).
- * PD12 - PIN12                     (input pullup).
- * PD13 - PIN13                     (input pullup).
- * PD14 - PIN14                     (input pullup).
- * PD15 - PIN15                     (input pullup).
- */
-#define VAL_GPIOD_MODER             (PIN_MODE_INPUT(GPIOD_PIN0) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN1) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN2) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN3) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN4) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN5) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN6) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN7) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN8) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN9) |           \
-                                     PIN_MODE_INPUT(GPIOD_PIN10) |          \
-                                     PIN_MODE_INPUT(GPIOD_PIN11) |          \
-                                     PIN_MODE_INPUT(GPIOD_PIN12) |          \
-                                     PIN_MODE_INPUT(GPIOD_PIN13) |          \
-                                     PIN_MODE_INPUT(GPIOD_PIN14) |          \
-                                     PIN_MODE_INPUT(GPIOD_PIN15))
-#define VAL_GPIOD_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOD_PIN0) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN1) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN2) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN3) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN4) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN5) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN6) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN7) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN8) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN9) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN10) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN11) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN12) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN13) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN14) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOD_PIN15))
-#define VAL_GPIOD_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOD_PIN0) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN1) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN2) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN3) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN4) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN5) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN6) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN7) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN8) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN9) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN10) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN11) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN12) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN13) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN14) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOD_PIN15))
-#define VAL_GPIOD_PUPDR             (PIN_PUPDR_PULLUP(GPIOD_PIN0) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN1) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN2) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN3) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN4) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN5) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN6) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN7) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN8) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN9) |         \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN10) |        \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN11) |        \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN12) |        \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN13) |        \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN14) |        \
-                                     PIN_PUPDR_PULLUP(GPIOD_PIN15))
-#define VAL_GPIOD_ODR               (PIN_ODR_HIGH(GPIOD_PIN0) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN1) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN2) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN3) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN4) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN5) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN6) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN7) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN8) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN9) |             \
-                                     PIN_ODR_HIGH(GPIOD_PIN10) |            \
-                                     PIN_ODR_HIGH(GPIOD_PIN11) |            \
-                                     PIN_ODR_HIGH(GPIOD_PIN12) |            \
-                                     PIN_ODR_HIGH(GPIOD_PIN13) |            \
-                                     PIN_ODR_HIGH(GPIOD_PIN14) |            \
-                                     PIN_ODR_HIGH(GPIOD_PIN15))
-#define VAL_GPIOD_AFRL              (PIN_AFIO_AF(GPIOD_PIN0, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN1, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN2, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN3, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN4, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN5, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN6, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN7, 0))
-#define VAL_GPIOD_AFRH              (PIN_AFIO_AF(GPIOD_PIN8, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN9, 0) |           \
-                                     PIN_AFIO_AF(GPIOD_PIN10, 0) |          \
-                                     PIN_AFIO_AF(GPIOD_PIN11, 0) |          \
-                                     PIN_AFIO_AF(GPIOD_PIN12, 0) |          \
-                                     PIN_AFIO_AF(GPIOD_PIN13, 0) |          \
-                                     PIN_AFIO_AF(GPIOD_PIN14, 0) |          \
-                                     PIN_AFIO_AF(GPIOD_PIN15, 0))
-
-/*
- * GPIOE setup:
- *
- * PE0  - PIN0               (input pullup).
- * PE1  - PIN1               (input pullup).
- * PE2  - PIN2           (input pullup).
- * PE3  - PIN3 L3GD20_CS         (output pushpull maximum).
- * PE4  - PIN4           (input pullup).
- * PE5  - PIN5           (input pullup).
- * PE6  - PIN6                      (input pullup).
- * PE7  - PIN7                      (input pullup).
- * PE8  - PIN8                 (output pushpull maximum).
- * PE9  - PIN9                  (output pushpull maximum).
- * PE10 - PIN10               (output pushpull maximum).
- * PE11 - PIN11                (output pushpull maximum).
- * PE12 - PIN12                 (output pushpull maximum).
- * PE13 - PIN13                 (output pushpull maximum).
- * PE14 - PIN14               (output pushpull maximum).
- * PE15 - PIN15                (output pushpull maximum).
- */
-#define VAL_GPIOE_MODER             (PIN_MODE_INPUT(GPIOE_PIN0) |    \
-                                     PIN_MODE_INPUT(GPIOE_PIN1) |    \
-                                     PIN_MODE_INPUT(GPIOE_PIN2) |\
-                                     PIN_MODE_OUTPUT(GPIOE_PIN3) |       \
-                                     PIN_MODE_INPUT(GPIOE_PIN4) |\
-                                     PIN_MODE_INPUT(GPIOE_PIN5) |\
-                                     PIN_MODE_INPUT(GPIOE_PIN6) |           \
-                                     PIN_MODE_INPUT(GPIOE_PIN7) |           \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN8) |     \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN9) |      \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN10) |   \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN11) |    \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN12) |     \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN13) |     \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN14) |   \
-                                     PIN_MODE_OUTPUT(GPIOE_PIN15))
-#define VAL_GPIOE_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOE_PIN0) |\
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN1) |\
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN2) |\
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN3) |    \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN4) |\
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN5) |\
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN6) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN7) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN8) |  \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN9) |   \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN10) |\
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN11) | \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN12) |  \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN13) |  \
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN14) |\
-                                     PIN_OTYPE_PUSHPULL(GPIOE_PIN15))
-#define VAL_GPIOE_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOE_PIN0) |\
-                                     PIN_OSPEED_VERYLOW(GPIOE_PIN1) |\
-                                     PIN_OSPEED_VERYLOW(GPIOE_PIN2) |\
-                                     PIN_OSPEED_HIGH(GPIOE_PIN3) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOE_PIN4) |\
-                                     PIN_OSPEED_VERYLOW(GPIOE_PIN5) |\
-                                     PIN_OSPEED_VERYLOW(GPIOE_PIN6) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOE_PIN7) |       \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN8) |     \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN9) |      \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN10) |   \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN11) |    \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN12) |     \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN13) |     \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN14) |   \
-                                     PIN_OSPEED_HIGH(GPIOE_PIN15))
-#define VAL_GPIOE_PUPDR             (PIN_PUPDR_PULLUP(GPIOE_PIN0) |  \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN1) |  \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN2) |\
-                                     PIN_PUPDR_FLOATING(GPIOE_PIN3) |    \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN4) |\
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN5) |\
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN6) |         \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN7) |         \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN8) |    \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN9) |     \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN10) |  \
-                                     PIN_PUPDR_FLOATING(GPIOE_PIN11) | \
-                                     PIN_PUPDR_PULLUP(GPIOE_PIN12) |    \
-                                     PIN_PUPDR_FLOATING(GPIOE_PIN13) |  \
-                                     PIN_PUPDR_FLOATING(GPIOE_PIN14) |\
-                                     PIN_PUPDR_FLOATING(GPIOE_PIN15))
-#define VAL_GPIOE_ODR               (PIN_ODR_HIGH(GPIOE_PIN0) |      \
-                                     PIN_ODR_HIGH(GPIOE_PIN1) |      \
-                                     PIN_ODR_HIGH(GPIOE_PIN2) |  \
-                                     PIN_ODR_HIGH(GPIOE_PIN3) |          \
-                                     PIN_ODR_HIGH(GPIOE_PIN4) |  \
-                                     PIN_ODR_HIGH(GPIOE_PIN5) |  \
-                                     PIN_ODR_HIGH(GPIOE_PIN6) |             \
-                                     PIN_ODR_HIGH(GPIOE_PIN7) |             \
-                                     PIN_ODR_LOW(GPIOE_PIN8) |         \
-                                     PIN_ODR_LOW(GPIOE_PIN9) |          \
-                                     PIN_ODR_LOW(GPIOE_PIN10) |       \
-                                     PIN_ODR_LOW(GPIOE_PIN11) |        \
-                                     PIN_ODR_LOW(GPIOE_PIN12) |         \
-                                     PIN_ODR_LOW(GPIOE_PIN13) |         \
-                                     PIN_ODR_LOW(GPIOE_PIN14) |       \
-                                     PIN_ODR_LOW(GPIOE_PIN15))
-#define VAL_GPIOE_AFRL              (PIN_AFIO_AF(GPIOE_PIN0, 0) |    \
-                                     PIN_AFIO_AF(GPIOE_PIN1, 0) |    \
-                                     PIN_AFIO_AF(GPIOE_PIN2, 0) |\
-                                     PIN_AFIO_AF(GPIOE_PIN3, 0) |        \
-                                     PIN_AFIO_AF(GPIOE_PIN4, 0) |\
-                                     PIN_AFIO_AF(GPIOE_PIN5, 0) |\
-                                     PIN_AFIO_AF(GPIOE_PIN6, 0) |           \
-                                     PIN_AFIO_AF(GPIOE_PIN7, 0))
-#define VAL_GPIOE_AFRH              (PIN_AFIO_AF(GPIOE_PIN8, 0) |      \
-                                     PIN_AFIO_AF(GPIOE_PIN9, 0) |       \
-                                     PIN_AFIO_AF(GPIOE_PIN10, 0) |    \
-                                     PIN_AFIO_AF(GPIOE_PIN11, 0) |     \
-                                     PIN_AFIO_AF(GPIOE_PIN12, 0) |      \
-                                     PIN_AFIO_AF(GPIOE_PIN13, 0) |      \
-                                     PIN_AFIO_AF(GPIOE_PIN14, 0) |    \
-                                     PIN_AFIO_AF(GPIOE_PIN15, 0))
-
-/*
- * GPIOF setup:
- *
- * PF0  - I2C2_SDA                    (input floating).
- * PF1  - I2C2_SCL                   (input floating).
- * PF2  - PIN2                      (input pullup).
- * PF3  - PIN3                      (input pullup).
- * PF4  - PIN4                      (input pullup).
- * PF5  - PIN5                      (input pullup).
- * PF6  - PIN6                      (input pullup).
- * PF7  - PIN7                      (input pullup).
- * PF8  - PIN8                      (input pullup).
- * PF9  - PIN9                      (input pullup).
- * PF10 - PIN10                     (input pullup).
- * PF11 - PIN11                     (input pullup).
- * PF12 - PIN12                     (input pullup).
- * PF13 - PIN13                     (input pullup).
- * PF14 - PIN14                     (input pullup).
- * PF15 - PIN15                     (input pullup).
- */
-#define VAL_GPIOF_MODER             (PIN_MODE_INPUT(GPIOF_I2C2_SDA) |         \
-                                     PIN_MODE_INPUT(GPIOF_I2C2_SCL) |        \
-                                     PIN_MODE_INPUT(GPIOF_PIN2) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN3) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN4) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN5) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN6) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN7) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN8) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN9) |           \
-                                     PIN_MODE_INPUT(GPIOF_PIN10) |          \
-                                     PIN_MODE_INPUT(GPIOF_PIN11) |          \
-                                     PIN_MODE_INPUT(GPIOF_PIN12) |          \
-                                     PIN_MODE_INPUT(GPIOF_PIN13) |          \
-                                     PIN_MODE_INPUT(GPIOF_PIN14) |          \
-                                     PIN_MODE_INPUT(GPIOF_PIN15))
-#define VAL_GPIOF_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOF_I2C2_SDA) |     \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_I2C2_SCL) |    \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN2) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN3) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN4) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN5) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN6) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN7) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN8) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN9) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN10) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN11) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN12) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN13) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN14) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOF_PIN15))
-#define VAL_GPIOF_OSPEEDR           (PIN_OSPEED_HIGH(GPIOF_I2C2_SDA) |        \
-                                     PIN_OSPEED_HIGH(GPIOF_I2C2_SCL) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN2) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN3) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN4) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN5) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN6) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN7) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN8) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN9) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN10) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN11) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN12) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN13) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN14) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOF_PIN15))
-#define VAL_GPIOF_PUPDR             (PIN_PUPDR_FLOATING(GPIOF_I2C2_SDA) |     \
-                                     PIN_PUPDR_FLOATING(GPIOF_I2C2_SCL) |    \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN2) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN3) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN4) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN5) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN6) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN7) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN8) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN9) |         \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN10) |        \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN11) |        \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN12) |        \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN13) |        \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN14) |        \
-                                     PIN_PUPDR_PULLUP(GPIOF_PIN15))
-#define VAL_GPIOF_ODR               (PIN_ODR_HIGH(GPIOF_I2C2_SDA) |           \
-                                     PIN_ODR_HIGH(GPIOF_I2C2_SCL) |          \
-                                     PIN_ODR_HIGH(GPIOF_PIN2) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN3) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN4) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN5) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN6) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN7) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN8) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN9) |             \
-                                     PIN_ODR_HIGH(GPIOF_PIN10) |            \
-                                     PIN_ODR_HIGH(GPIOF_PIN11) |            \
-                                     PIN_ODR_HIGH(GPIOF_PIN12) |            \
-                                     PIN_ODR_HIGH(GPIOF_PIN13) |            \
-                                     PIN_ODR_HIGH(GPIOF_PIN14) |            \
-                                     PIN_ODR_HIGH(GPIOF_PIN15))
-#define VAL_GPIOF_AFRL              (PIN_AFIO_AF(GPIOF_I2C2_SDA, 0) |         \
-                                     PIN_AFIO_AF(GPIOF_I2C2_SCL, 0) |        \
-                                     PIN_AFIO_AF(GPIOF_PIN2, 0) |           \
-                                     PIN_AFIO_AF(GPIOF_PIN3, 0) |           \
-                                     PIN_AFIO_AF(GPIOF_PIN4, 0) |           \
-                                     PIN_AFIO_AF(GPIOF_PIN5, 0) |           \
-                                     PIN_AFIO_AF(GPIOF_PIN6, 0) |           \
-                                     PIN_AFIO_AF(GPIOF_PIN7, 0))
-#define VAL_GPIOF_AFRH              (PIN_AFIO_AF(GPIOF_PIN8, 0) |           \
-                                     PIN_AFIO_AF(GPIOF_PIN9, 0) |           \
-                                     PIN_AFIO_AF(GPIOF_PIN10, 0) |          \
-                                     PIN_AFIO_AF(GPIOF_PIN11, 0) |          \
-                                     PIN_AFIO_AF(GPIOF_PIN12, 0) |          \
-                                     PIN_AFIO_AF(GPIOF_PIN13, 0) |          \
-                                     PIN_AFIO_AF(GPIOF_PIN14, 0) |          \
-                                     PIN_AFIO_AF(GPIOF_PIN15, 0))
-
-/*
- * GPIOG setup:
- *
- * PG0  - PIN0                      (input pullup).
- * PG1  - PIN1                      (input pullup).
- * PG2  - PIN2                      (input pullup).
- * PG3  - PIN3                      (input pullup).
- * PG4  - PIN4                      (input pullup).
- * PG5  - PIN5                      (input pullup).
- * PG6  - PIN6                      (input pullup).
- * PG7  - PIN7                      (input pullup).
- * PG8  - PIN8                      (input pullup).
- * PG9  - PIN9                      (input pullup).
- * PG10 - PIN10                     (input pullup).
- * PG11 - PIN11                     (input pullup).
- * PG12 - PIN12                     (input pullup).
- * PG13 - PIN13                     (input pullup).
- * PG14 - PIN14                     (input pullup).
- * PG15 - PIN15                     (input pullup).
- */
-#define VAL_GPIOG_MODER             (PIN_MODE_INPUT(GPIOG_PIN0) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN1) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN2) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN3) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN4) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN5) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN6) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN7) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN8) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN9) |           \
-                                     PIN_MODE_INPUT(GPIOG_PIN10) |          \
-                                     PIN_MODE_INPUT(GPIOG_PIN11) |          \
-                                     PIN_MODE_INPUT(GPIOG_PIN12) |          \
-                                     PIN_MODE_INPUT(GPIOG_PIN13) |          \
-                                     PIN_MODE_INPUT(GPIOG_PIN14) |          \
-                                     PIN_MODE_INPUT(GPIOG_PIN15))
-#define VAL_GPIOG_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOG_PIN0) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN1) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN2) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN3) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN4) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN5) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN6) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN7) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN8) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN9) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN10) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN11) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN12) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN13) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN14) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOG_PIN15))
-#define VAL_GPIOG_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOG_PIN0) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN1) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN2) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN3) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN4) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN5) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN6) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN7) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN8) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN9) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN10) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN11) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN12) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN13) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN14) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOG_PIN15))
-#define VAL_GPIOG_PUPDR             (PIN_PUPDR_PULLUP(GPIOG_PIN0) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN1) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN2) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN3) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN4) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN5) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN6) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN7) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN8) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN9) |         \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN10) |        \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN11) |        \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN12) |        \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN13) |        \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN14) |        \
-                                     PIN_PUPDR_PULLUP(GPIOG_PIN15))
-#define VAL_GPIOG_ODR               (PIN_ODR_HIGH(GPIOG_PIN0) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN1) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN2) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN3) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN4) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN5) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN6) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN7) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN8) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN9) |             \
-                                     PIN_ODR_HIGH(GPIOG_PIN10) |            \
-                                     PIN_ODR_HIGH(GPIOG_PIN11) |            \
-                                     PIN_ODR_HIGH(GPIOG_PIN12) |            \
-                                     PIN_ODR_HIGH(GPIOG_PIN13) |            \
-                                     PIN_ODR_HIGH(GPIOG_PIN14) |            \
-                                     PIN_ODR_HIGH(GPIOG_PIN15))
-#define VAL_GPIOG_AFRL              (PIN_AFIO_AF(GPIOG_PIN0, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN1, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN2, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN3, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN4, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN5, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN6, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN7, 0))
-#define VAL_GPIOG_AFRH              (PIN_AFIO_AF(GPIOG_PIN8, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN9, 0) |           \
-                                     PIN_AFIO_AF(GPIOG_PIN10, 0) |          \
-                                     PIN_AFIO_AF(GPIOG_PIN11, 0) |          \
-                                     PIN_AFIO_AF(GPIOG_PIN12, 0) |          \
-                                     PIN_AFIO_AF(GPIOG_PIN13, 0) |          \
-                                     PIN_AFIO_AF(GPIOG_PIN14, 0) |          \
-                                     PIN_AFIO_AF(GPIOG_PIN15, 0))
-
-/*
- * GPIOH setup:
- *
- * PH0  - PIN0                      (input pullup).
- * PH1  - PIN1                      (input pullup).
- * PH2  - PIN2                      (input pullup).
- * PH3  - PIN3                      (input pullup).
- * PH4  - PIN4                      (input pullup).
- * PH5  - PIN5                      (input pullup).
- * PH6  - PIN6                      (input pullup).
- * PH7  - PIN7                      (input pullup).
- * PH8  - PIN8                      (input pullup).
- * PH9  - PIN9                      (input pullup).
- * PH10 - PIN10                     (input pullup).
- * PH11 - PIN11                     (input pullup).
- * PH12 - PIN12                     (input pullup).
- * PH13 - PIN13                     (input pullup).
- * PH14 - PIN14                     (input pullup).
- * PH15 - PIN15                     (input pullup).
- */
-#define VAL_GPIOH_MODER             (PIN_MODE_INPUT(GPIOH_PIN0) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN1) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN2) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN3) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN4) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN5) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN6) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN7) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN8) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN9) |           \
-                                     PIN_MODE_INPUT(GPIOH_PIN10) |          \
-                                     PIN_MODE_INPUT(GPIOH_PIN11) |          \
-                                     PIN_MODE_INPUT(GPIOH_PIN12) |          \
-                                     PIN_MODE_INPUT(GPIOH_PIN13) |          \
-                                     PIN_MODE_INPUT(GPIOH_PIN14) |          \
-                                     PIN_MODE_INPUT(GPIOH_PIN15))
-#define VAL_GPIOH_OTYPER            (PIN_OTYPE_PUSHPULL(GPIOH_PIN0) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN1) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN2) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN3) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN4) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN5) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN6) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN7) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN8) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN9) |       \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN10) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN11) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN12) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN13) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN14) |      \
-                                     PIN_OTYPE_PUSHPULL(GPIOH_PIN15))
-#define VAL_GPIOH_OSPEEDR           (PIN_OSPEED_VERYLOW(GPIOH_PIN0) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN1) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN2) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN3) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN4) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN5) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN6) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN7) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN8) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN9) |       \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN10) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN11) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN12) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN13) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN14) |      \
-                                     PIN_OSPEED_VERYLOW(GPIOH_PIN15))
-#define VAL_GPIOH_PUPDR             (PIN_PUPDR_PULLUP(GPIOH_PIN0) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN1) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN2) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN3) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN4) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN5) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN6) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN7) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN8) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN9) |         \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN10) |        \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN11) |        \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN12) |        \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN13) |        \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN14) |        \
-                                     PIN_PUPDR_PULLUP(GPIOH_PIN15))
-#define VAL_GPIOH_ODR               (PIN_ODR_HIGH(GPIOH_PIN0) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN1) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN2) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN3) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN4) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN5) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN6) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN7) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN8) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN9) |             \
-                                     PIN_ODR_HIGH(GPIOH_PIN10) |            \
-                                     PIN_ODR_HIGH(GPIOH_PIN11) |            \
-                                     PIN_ODR_HIGH(GPIOH_PIN12) |            \
-                                     PIN_ODR_HIGH(GPIOH_PIN13) |            \
-                                     PIN_ODR_HIGH(GPIOH_PIN14) |            \
-                                     PIN_ODR_HIGH(GPIOH_PIN15))
-#define VAL_GPIOH_AFRL              (PIN_AFIO_AF(GPIOH_PIN0, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN1, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN2, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN3, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN4, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN5, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN6, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN7, 0))
-#define VAL_GPIOH_AFRH              (PIN_AFIO_AF(GPIOH_PIN8, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN9, 0) |           \
-                                     PIN_AFIO_AF(GPIOH_PIN10, 0) |          \
-                                     PIN_AFIO_AF(GPIOH_PIN11, 0) |          \
-                                     PIN_AFIO_AF(GPIOH_PIN12, 0) |          \
-                                     PIN_AFIO_AF(GPIOH_PIN13, 0) |          \
-                                     PIN_AFIO_AF(GPIOH_PIN14, 0) |          \
-                                     PIN_AFIO_AF(GPIOH_PIN15, 0))
-
-
-/*
- * USB bus activation macro, required by the USB driver.
- */
-// #define usb_lld_connect_bus(usbp)
-#define usb_lld_connect_bus(usbp) (palSetPadMode(GPIOA, GPIOA_USB_DP, PAL_MODE_ALTERNATE(14)))
-// #define usb_lld_connect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_INPUT)
-/*
- * USB bus de-activation macro, required by the USB driver.
- */
-// #define usb_lld_disconnect_bus(usbp)
-#define usb_lld_disconnect_bus(usbp) (palSetPadMode(GPIOA, GPIOA_USB_DP, PAL_MODE_OUTPUT_PUSHPULL)); palClearPad(GPIOA, GPIOA_USB_DP)
-// #define usb_lld_disconnect_bus(usbp) palSetPadMode(GPIOA, 12, PAL_MODE_OUTPUT_PUSHPULL); palClearPad(GPIOA, 12)
-
-#if !defined(_FROM_ASM_)
-#ifdef __cplusplus
-extern "C" {
-#endif
-  void boardInit(void);
-#ifdef __cplusplus
-}
-#endif
-#endif /* _FROM_ASM_ */
-
-#endif /* _BOARD_H_ */
diff --git a/keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.mk b/keyboards/clueboard/60/boards/GENERIC_STM32_F303XC/board.mk
deleted file mode 100644 (file)
index 4337762..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
-# List of all the board related files.
-BOARDSRC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC/board.c
-
-# Required include directories
-BOARDINC = $(BOARD_PATH)/boards/GENERIC_STM32_F303XC
diff --git a/keyboards/clueboard/60/bootloader_defs.h b/keyboards/clueboard/60/bootloader_defs.h
deleted file mode 100644 (file)
index 3b0e9d2..0000000
+++ /dev/null
@@ -1,7 +0,0 @@
-/* Address for jumping to bootloader on STM32 chips. */
-/* It is chip dependent, the correct number can be looked up here:
- * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
- * This also requires a patch to chibios:
- *  <tmk_dir>/tmk_core/tool/chibios/ch-bootloader-jump.patch
- */
-#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800
index a862d2cda3f6a94915e463ea8e6c4bb5b2c524c9..c7dbf8ad00065a92a88b145af08e4b6df5d8a9ca 100644 (file)
@@ -15,8 +15,9 @@
  * along with this program.  If not, see <http://www.gnu.org/licenses/>.
  */
 
-#ifndef CONFIG_H
-#define CONFIG_H
+#pragma once
+
+#include "config_common.h"
 
 /* USB Device descriptor parameter */
 #define VENDOR_ID       0xC1ED
 #define PRODUCT         Clueboard 60%
 #define DESCRIPTION     Clueboard 60%
 
+/* Address for jumping to bootloader on STM32 chips. */
+/* It is chip dependent, the correct number can be looked up here:
+ * http://www.st.com/web/en/resource/technical/document/application_note/CD00167594.pdf
+ */
+#define STM32_BOOTLOADER_ADDRESS 0x1FFFD800
+
 /* key matrix size */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 15
 /*
  * Keyboard Matrix Assignments
  *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
+ * COLS: Pins used for columns, left to right
+ * ROWS: Pins used for rows, top to bottom
  * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
  *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
  *
 */
-/* Note: These are not used for arm boards. They're here purely as documentation.
- * #define MATRIX_ROW_PINS { PB0, PB1, PB2, PA15, PA10 }
- * #define MATRIX_COL_PINS { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC14, PC15, PC13, PB5, PB6 }
- * #define UNUSED_PINS
- */
+#define MATRIX_ROW_PINS { B0, B1, B2, A15, A10 }
+#define MATRIX_COL_PINS { A2, A3, A6, B14, B15, A8, A9, A7, B3, B4, C14, C15, C13, B5, B6 }
+#define UNUSED_PINS { A0, A1, A9, B7, B8, B9, B10, B11, B12, B13 }
+#define DIODE_DIRECTION COL2ROW
 
 /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
 #define DEBOUNCE 6
 /* override number of MIDI tone keycodes (each octave adds 12 keycodes and allocates 12 bytes) */
 //#define MIDI_TONE_KEYCODE_OCTAVES 1
 
-#endif
-
  /* Backlight configuration
  */
 #define BACKLIGHT_LEVELS 1
index abafb69f99e72caefeac7e3f5b976c8237e175b7..aed18b6f05cf00e01a3277f33c14fcc522b2678b 100644 (file)
     "LAYOUT_60_ansi": {
       "key_count": 61,
       "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.25
-        },
-        {
-          "label": "Win",
-          "x": 1.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Alt",
-          "x": 2.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "x": 3.75,
-          "y": 4,
-          "w": 6.25
-        },
-        {
-          "label": "Alt",
-          "x": 10,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Win",
-          "x": 11.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Menu",
-          "x": 12.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Ctrl",
-          "x": 13.75,
-          "y": 4,
-          "w": 1.25
-        }
+        {"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.25}, {"label": "Win", "x": 1.25, "y": 4, "w": 1.25}, {"label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, {"x": 3.75, "y": 4, "w": 6.25}, {"label": "Alt", "x": 10, "y": 4, "w": 1.25}, {"label": "Win", "x": 11.25, "y": 4, "w": 1.25}, {"label": "Menu", "x": 12.5, "y": 4, "w": 1.25}, {"label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
       ]
-    },
+   },
     "LAYOUT_60_iso": {
       "key_count": 62,
       "layout": [
-        {
-          "label": "\\u00ac",
-          "x": 0,
-          "y": 0
-        },
-        {
-          "label": "!",
-          "x": 1,
-          "y": 0
-        },
-        {
-          "label": "\"",
-          "x": 2,
-          "y": 0
-        },
-        {
-          "label": "\\u00a3",
-          "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": "Enter",
-          "x": 13.75,
-          "y": 1,
-          "w": 1.25,
-          "h": 2
-        },
-        {
-          "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": "~",
-          "x": 12.75,
-          "y": 2
-        },
-        {
-          "label": "Shift",
-          "x": 0,
-          "y": 3,
-          "w": 1.25
-        },
-        {
-          "label": "|",
-          "x": 1.25,
-          "y": 3
-        },
-        {
-          "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.25
-        },
-        {
-          "label": "Win",
-          "x": 1.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Alt",
-          "x": 2.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "x": 3.75,
-          "y": 4,
-          "w": 6.25
-        },
-        {
-          "label": "AltGr",
-          "x": 10,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Win",
-          "x": 11.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Menu",
-          "x": 12.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Ctrl",
-          "x": 13.75,
-          "y": 4,
-          "w": 1.25
-        }
+        {"label": "\\u00ac", "x": 0, "y": 0}, {"label": "!", "x": 1, "y": 0}, {"label": "\"", "x": 2, "y": 0}, {"label": "\\u00a3", "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": "Enter", "x": 13.75, "y": 1, "w": 1.25, "h": 2},
+        {"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": "~", "x": 12.75, "y": 2},
+        {"label": "Shift", "x": 0, "y": 3, "w": 1.25}, {"label": "|", "x": 1.25, "y": 3}, {"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.25}, {"label": "Win", "x": 1.25, "y": 4, "w": 1.25}, {"label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, {"x": 3.75, "y": 4, "w": 6.25}, {"label": "AltGr", "x": 10, "y": 4, "w": 1.25}, {"label": "Win", "x": 11.25, "y": 4, "w": 1.25}, {"label": "Menu", "x": 12.5, "y": 4, "w": 1.25}, {"label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
       ]
-    },
-    "KEYMAP_AEK": {
+   },
+    "LAYOUT_aek": {
       "key_count": 60,
       "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,
-          "w": 1.25
-        },
-        {
-          "label": "Alt",
-          "x": 2.75,
-          "y": 4,
-          "w": 1.5
-        },
-        {
-          "x": 4.25,
-          "y": 4,
-          "w": 6.5
-        },
-        {
-          "label": "AltGr",
-          "x": 10.75,
-          "y": 4,
-          "w": 1.5
-        },
-        {
-          "label": "Win",
-          "x": 12.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Ctrl",
-          "x": 13.5,
-          "y": 4,
-          "w": 1.5
-        }
+        {"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, "w": 1.25}, {"label": "Alt", "x": 2.75, "y": 4, "w": 1.5}, {"x": 4.25, "y": 4, "w": 6.5}, {"label": "AltGr", "x": 10.75, "y": 4, "w": 1.5}, {"label": "Win", "x": 12.25, "y": 4, "w": 1.25}, {"label": "Ctrl", "x": 13.5, "y": 4, "w": 1.5 }
       ]
-    },
-    "KEYMAP": {
+   },
+    "LAYOUT_all": {
       "key_count": 65,
       "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
-        },
-        {
-          "x": 13,
-          "y": 0
-        },
-        {
-          "label": "Back",
-          "x": 14,
-          "y": 0
-        },
-        {
-          "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
-        },
-        {
-          "x": 12.75,
-          "y": 2
-        },
-        {
-          "label": "Enter",
-          "x": 13.75,
-          "y": 2,
-          "w": 1.25
-        },
-        {
-          "x": 0,
-          "y": 3
-        },
-        {
-          "label": "Shift",
-          "x": 1,
-          "y": 3,
-          "w": 1.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": 1.75
-        },
-        {
-          "x": 14,
-          "y": 3
-        },
-        {
-          "label": "Ctrl",
-          "x": 0,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Win",
-          "x": 1.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Alt",
-          "x": 2.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "x": 3.75,
-          "y": 4,
-          "w": 6.25
-        },
-        {
-          "label": "Alt",
-          "x": 10,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Win",
-          "x": 11.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Menu",
-          "x": 12.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Ctrl",
-          "x": 13.75,
-          "y": 4,
-          "w": 1.25
-        }
+        {"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}, {"x": 13, "y": 0}, {"label": "Back", "x": 14, "y": 0},
+        {"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}, {"x": 12.75, "y": 2}, {"label": "Enter", "x": 13.75, "y": 2, "w": 1.25},
+        {"x": 0, "y": 3}, {"label": "Shift", "x": 1, "y": 3, "w": 1.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": 1.75}, {"x": 14, "y": 3},
+        {"label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, {"label": "Win", "x": 1.25, "y": 4, "w": 1.25}, {"label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, {"x": 3.75, "y": 4, "w": 6.25}, {"label": "Alt", "x": 10, "y": 4, "w": 1.25}, {"label": "Win", "x": 11.25, "y": 4, "w": 1.25}, {"label": "Menu", "x": 12.5, "y": 4, "w": 1.25}, {"label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25 }
       ]
-    },
+   },
     "LAYOUT_60_ansi_split_bs_rshift": {
       "key_count": 63,
       "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
-        },
-        {
-          "x": 13,
-          "y": 0
-        },
-        {
-          "label": "Back",
-          "x": 14,
-          "y": 0
-        },
-        {
-          "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": 1.75
-        },
-        {
-          "x": 14,
-          "y": 3
-        },
-        {
-          "label": "Ctrl",
-          "x": 0,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Win",
-          "x": 1.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Alt",
-          "x": 2.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "x": 3.75,
-          "y": 4,
-          "w": 6.25
-        },
-        {
-          "label": "Alt",
-          "x": 10,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Win",
-          "x": 11.25,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Menu",
-          "x": 12.5,
-          "y": 4,
-          "w": 1.25
-        },
-        {
-          "label": "Ctrl",
-          "x": 13.75,
-          "y": 4,
-          "w": 1.25
-        }
+        {"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}, {"x": 13, "y": 0}, {"label": "Back", "x": 14, "y": 0},
+        {"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": 1.75}, {"x": 14, "y": 3},
+        {"label": "Ctrl", "x": 0, "y": 4, "w": 1.25}, {"label": "Win", "x": 1.25, "y": 4, "w": 1.25}, {"label": "Alt", "x": 2.5, "y": 4, "w": 1.25}, {"x": 3.75, "y": 4, "w": 6.25}, {"label": "Alt", "x": 10, "y": 4, "w": 1.25}, {"label": "Win", "x": 11.25, "y": 4, "w": 1.25}, {"label": "Menu", "x": 12.5, "y": 4, "w": 1.25}, {"label": "Ctrl", "x": 13.75, "y": 4, "w": 1.25}
       ]
     }
   }
index 3e906737b6e5bbbc8f2dbcd5ae6d913e5b94c445..89d2180ca65fa918fd0a5f97438465e28836a1b7 100644 (file)
@@ -1,7 +1,5 @@
 #include QMK_KEYBOARD_H
 
-#define _______ KC_TRNS
-
 enum keyboard_layers {
     _BL,
     _FL,
@@ -46,19 +44,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |Ctrl |Gui|Alt  |         Space         |Alt  |Gui|Fn |Ctrl |
      * `-----------------------------------------------------------'
      */
-    [_BL] = KEYMAP(
+    [_BL] = LAYOUT_all(
       KC_GESC,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_GRV, KC_BSPC,\
       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_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,  \
       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_BSLS, \
       KC_LCTL,  KC_LGUI,  KC_LALT,                        KC_SPC,                      KC_RALT,  KC_RGUI,  MO(_FL),   KC_RCTL),
-    [_FL] = KEYMAP(
+    [_FL] = LAYOUT_all(
       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, _______,_______,\
       _______,   _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,     \
       _______,     _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______, \
       _______,  _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______,   _______, \
       _______,_______,_______,                        _______,                     _______,  _______,  MO(_FL),   _______),
-    [_CL] = KEYMAP(
+    [_CL] = LAYOUT_all(
       BL_STEP,S_BSKTC,S_ODEJY,S_RCKBY,S_DOEDR,S_SCALE,S_ONEUP,S_COIN, S_SONIC,S_ZELDA,_______,_______,_______,_______,_______,\
       _______,   _______,_______,_______,RESET,  _______,_______,_______,_______,_______,_______,_______,_______,_______,     \
       _______,     _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______, \
index ea5333e3c91d0280927fd9ea484afda3a81cb4f4..ed4132f415e80d42e28cd9fe05bd01a79052bfc7 100644 (file)
@@ -1,7 +1,5 @@
 #include QMK_KEYBOARD_H
 
-#define _______ KC_TRNS
-
 enum keyboard_layers {
   _BL,
   _FL,
@@ -22,19 +20,19 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |Ctrl |Gui|Alt  |         Space               |Alt|Fn |Ctrl |
      * `-----------------------------------------------------------'
      */
-    [_BL] = KEYMAP_AEK(
+    [_BL] = LAYOUT_aek(
       KC_GESC,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_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_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,   \
       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_LCTL,  KC_LGUI,  KC_LALT,                        KC_SPC,                           KC_RALT,  MO(_FL),   KC_RCTL),
-    [_FL] = KEYMAP_AEK(
+    [_FL] = LAYOUT_aek(
       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,  _______,  \
       _______,   _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
       _______,     _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,    _______,  \
       _______,       _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,       _______,     \
       _______,  _______,  _______,                        _______,                          _______,  MO(_FL),   _______),
-    [_CL] = KEYMAP_AEK(
+    [_CL] = LAYOUT_aek(
       BL_STEP,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,   \
       _______,   _______,_______,_______,RESET,  _______,_______,_______,_______,_______,_______,_______,_______,_______,\
       _______,     _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______,    \
index b810bdcf8e73755e5b532e173dfe5d5a8f9d2492..7c81ea028b66c34d981ccf4c619e08dac0346bef 100644 (file)
@@ -1,7 +1,5 @@
 #include QMK_KEYBOARD_H
 
-#define _______ KC_TRNS
-
 enum keyboard_layers {
     _BL,
     _FL,
@@ -47,25 +45,25 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
      * |Ctrl       |Alt|Gui  |         Space         |Alt  |Gui|Fn |Ctrl |
      * `-----------------------------------------------------------------'
      */
-    [_BL] = KEYMAP(
+    [_BL] = LAYOUT_all(
       KC_GESC,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_GRV, KC_BSPC,\
       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,     \
       MT(MOD_LCTL, KC_ESC),     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,  \
       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,   MO(_YF), \
       KC_LCTL,  KC_LALT,  KC_LGUI,                        KC_SPC,                      KC_RALT,  KC_RGUI,  MO(_FL),   KC_RCTL),
-    [_FL] = KEYMAP(
+    [_FL] = LAYOUT_all(
       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, _______,_______,\
       _______,   _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,     \
       _______,     _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______, \
       _______,  _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______,   MO(_YF), \
       _______,_______,_______,                        _______,                     _______,  _______,  MO(_FL),   _______),
-    [_CL] = KEYMAP(
+    [_CL] = LAYOUT_all(
       BL_STEP,S_BSKTC,S_ODEJY,S_RCKBY,S_DOEDR,S_SCALE,S_ONEUP,S_COIN, S_SONIC,S_ZELDA,_______,_______,_______,_______,_______,\
       _______,   _______,_______,_______,RESET,  _______,_______,_______,_______,_______,_______,_______,_______,_______,     \
       _______,     _______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______, \
       _______,  _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,     MO(_YF), \
       _______,  _______,  _______,                        _______,                     _______,  _______,  MO(_FL),   _______),
-    [_YF] = KEYMAP(
+    [_YF] = LAYOUT_all(
       _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,\
       _______,_______,KC_UP  ,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,        \
       _______,KC_LEFT,KC_DOWN,KC_RIGHT,_______,_______,_______,_______,_______,_______,_______,_______,_______,  _______,     \
diff --git a/keyboards/clueboard/60/matrix.c b/keyboards/clueboard/60/matrix.c
deleted file mode 100644 (file)
index 7c38a3b..0000000
+++ /dev/null
@@ -1,175 +0,0 @@
-#include <stdint.h>
-#include <stdbool.h>
-#include <string.h>
-#include "hal.h"
-#include "timer.h"
-#include "wait.h"
-#include "printf.h"
-#include "backlight.h"
-#include "matrix.h"
-
-
-/* Clueboard 60%
- *
- * Column pins are input with internal pull-down.
- * Row pins are output and strobe with high.
- * Key is high or 1 when it turns on.
- *
- *     col: { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC15, PC14, PC13, PB5, PB6 }
- *     row: { PB0, PB1, PB2, PA15, PA10 }
- */
-/* matrix state(1:on, 0:off) */
-static matrix_row_t matrix[MATRIX_ROWS];
-static matrix_row_t matrix_debouncing[MATRIX_COLS];
-static bool debouncing = false;
-static uint16_t debouncing_time = 0;
-
-__attribute__ ((weak))
-void matrix_init_user(void) {}
-
-__attribute__ ((weak))
-void matrix_scan_user(void) {}
-
-__attribute__ ((weak))
-void matrix_init_kb(void) {
-  matrix_init_user();
-}
-
-__attribute__ ((weak))
-void matrix_scan_kb(void) {
-  matrix_scan_user();
-}
-
-void matrix_init(void) {
-    printf("matrix init\n");
-    //debug_matrix = true;
-
-    /* Column(sense) */
-    palSetPadMode(GPIOA, 2,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOA, 3,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOA, 6,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOB, 14, PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOB, 15, PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOA, 8,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOA, 9,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOA, 7,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOB, 3,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOB, 4,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOC, 15, PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOC, 14, PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOC, 13, PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOB, 5,  PAL_MODE_OUTPUT_PUSHPULL);
-    palSetPadMode(GPIOB, 6,  PAL_MODE_OUTPUT_PUSHPULL);
-
-    /* Row(strobe) */
-    palSetPadMode(GPIOB, 0,  PAL_MODE_INPUT_PULLDOWN);
-    palSetPadMode(GPIOB, 1,  PAL_MODE_INPUT_PULLDOWN);
-    palSetPadMode(GPIOB, 2,  PAL_MODE_INPUT_PULLDOWN);
-    palSetPadMode(GPIOA, 15,  PAL_MODE_INPUT_PULLDOWN);
-    palSetPadMode(GPIOA, 10,  PAL_MODE_INPUT_PULLDOWN);
-
-    memset(matrix, 0, MATRIX_ROWS * sizeof(matrix_row_t));
-    memset(matrix_debouncing, 0, MATRIX_COLS * sizeof(matrix_row_t));
-
-    palClearPad(GPIOB, 7);  // Turn off capslock
-    matrix_init_quantum();
-}
-
-uint8_t matrix_scan(void) {
-    for (int col = 0; col < MATRIX_COLS; col++) {
-        matrix_row_t data = 0;
-
-        // strobe col { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC14, PC15, PC13, PB5, PB6 }
-        switch (col) {
-            case 0: palSetPad(GPIOA, 2); break;
-            case 1: palSetPad(GPIOA, 3); break;
-            case 2: palSetPad(GPIOA, 6); break;
-            case 3: palSetPad(GPIOB, 14); break;
-            case 4: palSetPad(GPIOB, 15); break;
-            case 5: palSetPad(GPIOA, 8); break;
-            case 6: palSetPad(GPIOA, 9); break;
-            case 7: palSetPad(GPIOA, 7); break;
-            case 8: palSetPad(GPIOB, 3); break;
-            case 9: palSetPad(GPIOB, 4); break;
-            case 10: palSetPad(GPIOC, 15); break;
-            case 11: palSetPad(GPIOC, 14); break;
-            case 12: palSetPad(GPIOC, 13); break;
-            case 13: palSetPad(GPIOB, 5); break;
-            case 14: palSetPad(GPIOB, 6); break;
-        }
-
-        // need wait to settle pin state
-        wait_us(20);
-
-        // read row data { PB0, PB1, PB2, PA15, PA10 }
-        data = (
-            (palReadPad(GPIOB, 0) << 0 ) |
-            (palReadPad(GPIOB, 1) << 1 ) |
-            (palReadPad(GPIOB, 2) << 2 ) |
-            (palReadPad(GPIOA, 15) << 3 ) |
-            (palReadPad(GPIOA, 10) << 4 )
-        );
-
-        // unstrobe  col { PA2, PA3, PA6, PB14, PB15, PA8, PA9, PA7, PB3, PB4, PC15, PC14, PC13, PB5, PB6 }
-        switch (col) {
-            case 0: palClearPad(GPIOA, 2); break;
-            case 1: palClearPad(GPIOA, 3); break;
-            case 2: palClearPad(GPIOA, 6); break;
-            case 3: palClearPad(GPIOB, 14); break;
-            case 4: palClearPad(GPIOB, 15); break;
-            case 5: palClearPad(GPIOA, 8); break;
-            case 6: palClearPad(GPIOA, 9); break;
-            case 7: palClearPad(GPIOA, 7); break;
-            case 8: palClearPad(GPIOB, 3); break;
-            case 9: palClearPad(GPIOB, 4); break;
-            case 10: palClearPad(GPIOC, 15); break;
-            case 11: palClearPad(GPIOC, 14); break;
-            case 12: palClearPad(GPIOC, 13); break;
-            case 13: palClearPad(GPIOB, 5); break;
-            case 14: palClearPad(GPIOB, 6); break;
-        }
-
-        if (matrix_debouncing[col] != data) {
-            matrix_debouncing[col] = data;
-            debouncing = true;
-            debouncing_time = timer_read();
-        }
-    }
-
-    if (debouncing && timer_elapsed(debouncing_time) > DEBOUNCE) {
-        for (int row = 0; row < MATRIX_ROWS; row++) {
-            matrix[row] = 0;
-            for (int col = 0; col < MATRIX_COLS; col++) {
-                matrix[row] |= ((matrix_debouncing[col] & (1 << row) ? 1 : 0) << col);
-            }
-        }
-        debouncing = false;
-    }
-
-    matrix_scan_quantum();
-
-    return 1;
-}
-
-bool matrix_is_on(uint8_t row, uint8_t col) {
-    return (matrix[row] & (1<<col));
-}
-
-matrix_row_t matrix_get_row(uint8_t row) {
-    return matrix[row];
-}
-
-void matrix_print(void) {
-    printf("\nr/c 01234567\n");
-    for (uint8_t row = 0; row < MATRIX_ROWS; row++) {
-        printf("%X0: ", row);
-        matrix_row_t data = matrix_get_row(row);
-        for (int col = 0; col < MATRIX_COLS; col++) {
-            if (data & (1<<col))
-                printf("1");
-            else
-                printf("0");
-        }
-        printf("\n");
-    }
-}
index 3664b6d2c1d48085c508f7bea10d5fa119dd1764..aada073525918f0ad36e9596e0ee05e3f0cfa72d 100644 (file)
@@ -1,6 +1,5 @@
 # project specific files
-SRC =  matrix.c \
-       led.c
+SRC =  led.c
 LAYOUTS += 60_ansi 60_ansi_split_bs_rshift 60_iso
 
 ## chip/board settings
@@ -32,8 +31,6 @@ USE_FPU = yes
 
 # Vector table for application
 # 0x00000000-0x00001000 area is occupied by bootlaoder.*/
-# The CORTEX_VTOR... is needed only for MCHCK/Infinity KB
-# OPT_DEFS = -DCORTEX_VTOR_INIT=0x08005000
 OPT_DEFS =
 
 # Options to pass to dfu-util when flashing
@@ -43,14 +40,10 @@ DFU_ARGS = -d 0483:df11 -a 0 -s 0x08000000:leave
 #   comment out to disable the options.
 #
 BACKLIGHT_ENABLE = no
-BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration
-## (Note that for BOOTMAGIC on Teensy LC you have to use a custom .ld script.)
-MOUSEKEY_ENABLE = yes  # Mouse keys
-EXTRAKEY_ENABLE = yes  # Audio control and System control
-CONSOLE_ENABLE = yes   # Console for debug
-COMMAND_ENABLE = yes    # Commands for debug and configuration
-#SLEEP_LED_ENABLE = yes  # Breathing sleep LED during USB suspend
-NKRO_ENABLE = yes          # USB Nkey Rollover
-CUSTOM_MATRIX = yes # Custom matrix file
+BOOTMAGIC_ENABLE = no    # Virtual DIP switch configuration
+MOUSEKEY_ENABLE = yes    # Mouse keys
+EXTRAKEY_ENABLE = yes    # Audio control and System control
+CONSOLE_ENABLE = yes     # Console for debug
+COMMAND_ENABLE = no     # Commands for debug and configuration
+NKRO_ENABLE = yes            # USB Nkey Rollover
 AUDIO_ENABLE = yes
-# SERIAL_LINK_ENABLE = yes
diff --git a/keyboards/clueboard/66/66.c b/keyboards/clueboard/66/66.c
deleted file mode 100644 (file)
index 15d7422..0000000
+++ /dev/null
@@ -1 +0,0 @@
-#include "66.h"
diff --git a/keyboards/clueboard/66/66.h b/keyboards/clueboard/66/66.h
deleted file mode 100644 (file)
index c898998..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef CLUEBOARD_H
-#define CLUEBOARD_H
-
-#include "quantum.h"
-
-#ifdef KEYBOARD_clueboard_66_rev1
-    #include "rev1.h"
-#endif
-#ifdef KEYBOARD_clueboard_66_rev2
-    #include "rev2.h"
-#endif
-#ifdef KEYBOARD_clueboard_66_rev3
-    #include "rev3.h"
-#endif
-
-#endif
diff --git a/keyboards/clueboard/66/config.h b/keyboards/clueboard/66/config.h
deleted file mode 100644 (file)
index dff5c96..0000000
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
-Copyright 2012 Jun Wako <wakojun@gmail.com>
-
-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 <http://www.gnu.org/licenses/>.
-*/
-
-#ifndef CLUEBOARD_66_CONFIG_H
-#define CLUEBOARD_66_CONFIG_H
-
-#include "config_common.h"
-
-/* USB Device descriptor parameter */
-#define VENDOR_ID       0xC1ED
-#define MANUFACTURER    Clueboard
-#define PRODUCT         Clueboard
-#define DESCRIPTION     QMK keyboard firmware for Clueboard
-
-/* COL2ROW or ROW2COL */
-#define DIODE_DIRECTION COL2ROW
-
-/* Set 0 if debouncing isn't needed */
-#define DEBOUNCING_DELAY 5
-
-/* 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
-
-/* key combination for command */
-#define IS_COMMAND() ( \
-    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
-)
-
-/*
- * Feature disable options
- *  These options are also useful to firmware size reduction.
- */
-
-/* disable debug print */
-//#define NO_DEBUG
-
-/* disable print */
-//#define NO_PRINT
-
-/* disable action features */
-//#define NO_ACTION_LAYER
-//#define NO_ACTION_TAPPING
-//#define NO_ACTION_ONESHOT
-//#define NO_ACTION_MACRO
-//#define NO_ACTION_FUNCTION
-
-#endif
index 1675ae7617a33f7c21b24b193f7e25ca2d45397b..05eb6627d8425f16634899c6175724386794f6e1 100644 (file)
@@ -3,12 +3,33 @@
   "width": 16.5,
   "height": 5,
   "layouts": {
-    "KEYMAP": {
-      "layout": [{"x": 0, "y": 0, "w": 1, "label": "GRAVE"}, {"x": 1, "y": 0, "w": 1, "label": "1"}, {"x": 2, "y": 0, "w": 1, "label": "2"}, {"x": 3, "y": 0, "w": 1, "label": "3"}, {"x": 4, "y": 0, "w": 1, "label": "4"}, {"x": 5, "y": 0, "w": 1, "label": "5"}, {"x": 6, "y": 0, "w": 1, "label": "6"}, {"x": 7, "y": 0, "w": 1, "label": "7"}, {"x": 8, "y": 0, "w": 1, "label": "8"}, {"x": 9, "y": 0, "w": 1, "label": "9"}, {"x": 10, "y": 0, "w": 1, "label": "0"}, {"x": 11, "y": 0, "w": 1, "label": "DASH"}, {"x": 12, "y": 0, "w": 1, "label": "EQUALSIGN"}, {"x": 13, "y": 0, "w": 1, "label": "YEN"}, {"x": 14, "y": 0, "w": 1, "label": "BACKSPACE"}, {"x": 15.5, "y": 0, "w": 1, "label": "PAGEUP"}, {"x": 0, "y": 1, "w": 1.5, "label": "TAB"}, {"x": 1.5, "y": 1, "w": 1, "label": "Q"}, {"x": 2.5, "y": 1, "w": 1, "label": "W"}, {"x": 3.5, "y": 1, "w": 1, "label": "E"}, {"x": 4.5, "y": 1, "w": 1, "label": "R"}, {"x": 5.5, "y": 1, "w": 1, "label": "T"}, {"x": 6.5, "y": 1, "w": 1, "label": "Y"}, {"x": 7.5, "y": 1, "w": 1, "label": "U"}, {"x": 8.5, "y": 1, "w": 1, "label": "I"}, {"x": 9.5, "y": 1, "w": 1, "label": "O"}, {"x": 10.5, "y": 1, "w": 1, "label": "P"}, {"x": 11.5, "y": 1, "w": 1, "label": "LBRACKET"}, {"x": 12.5, "y": 1, "w": 1, "label": "RBRACKET"}, {"x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH"}, {"x": 15.5, "y": 1, "w": 1, "label": "PAGEDOWN"}, {"x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK"}, {"x": 1.75, "y": 2, "w": 1, "label": "A"}, {"x": 2.75, "y": 2, "w": 1, "label": "S"}, {"x": 3.75, "y": 2, "w": 1, "label": "D"}, {"x": 4.75, "y": 2, "w": 1, "label": "F"}, {"x": 5.75, "y": 2, "w": 1, "label": "G"}, {"x": 6.75, "y": 2, "w": 1, "label": "H"}, {"x": 7.75, "y": 2, "w": 1, "label": "J"}, {"x": 8.75, "y": 2, "w": 1, "label": "K"}, {"x": 9.75, "y": 2, "w": 1, "label": "L"}, {"x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON"}, {"x": 11.75, "y": 2, "w": 1, "label": "QUOTE"}, {"x": 12.75, "y": 2, "w": 1, "label": "ISOHASH"}, {"x": 13.75, "y": 2, "w": 1.25, "label": "ENTER"}, {"x": 0, "y": 3, "w": 1.25, "label": "LSHIFT"}, {"x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH"}, {"x": 2.25, "y": 3, "w": 1, "label": "Z"}, {"x": 3.25, "y": 3, "w": 1, "label": "X"}, {"x": 4.25, "y": 3, "w": 1, "label": "C"}, {"x": 5.25, "y": 3, "w": 1, "label": "V"}, {"x": 6.25, "y": 3, "w": 1, "label": "B"}, {"x": 7.25, "y": 3, "w": 1, "label": "N"}, {"x": 8.25, "y": 3, "w": 1, "label": "M"}, {"x": 9.25, "y": 3, "w": 1, "label": "COMMA"}, {"x": 10.25, "y": 3, "w": 1, "label": "PERIOD"}, {"x": 11.25, "y": 3, "w": 1, "label": "SLASH"}, {"x": 12.25, "y": 3, "w": 1, "label": "JPBACKSLASH"}, {"x": 13.25, "y": 3, "w": 1.25, "label": "RSHIFT"}, {"x": 14.5, "y": 3, "w": 1, "label": "UP"}, {"x": 0, "y": 4, "w": 1.25, "label": "LCTRL"}, {"x": 1.25, "y": 4, "w": 1, "label": "LALT"}, {"x": 2.25, "y": 4, "w": 1.25, "label": "LCMD"}, {"x": 3.5, "y": 4, "w": 1.25, "label": "MUHENKAN"}, {"x": 4.75, "y": 4, "w": 2, "label": "SPACE1"}, {"x": 6.75, "y": 4, "w": 2, "label": "SPACE2"}, {"x": 8.75, "y": 4, "w": 1.25, "label": "HENKAN"}, {"x": 10, "y": 4, "w": 1.25, "label": "RCMD"}, {"x": 11.25, "y": 4, "w": 1, "label": "RCTRL"}, {"x": 12.25, "y": 4, "w": 1.25, "label": "FN"}, {"x": 13.5, "y": 4, "w": 1, "label": "LEFT"}, {"x": 14.5, "y": 4, "w": 1, "label": "DOWN"}, {"x": 15.5, "y": 4, "w": 1, "label": "RIGHT"}]
+    "LAYOUT": {
+      "layout": [
+        {"x": 0, "y": 0, "w": 1, "label": "GRAVE"}, {"x": 1, "y": 0, "w": 1, "label": "1"}, {"x": 2, "y": 0, "w": 1, "label": "2"}, {"x": 3, "y": 0, "w": 1, "label": "3"}, {"x": 4, "y": 0, "w": 1, "label": "4"}, {"x": 5, "y": 0, "w": 1, "label": "5"}, {"x": 6, "y": 0, "w": 1, "label": "6"}, {"x": 7, "y": 0, "w": 1, "label": "7"}, {"x": 8, "y": 0, "w": 1, "label": "8"}, {"x": 9, "y": 0, "w": 1, "label": "9"}, {"x": 10, "y": 0, "w": 1, "label": "0"}, {"x": 11, "y": 0, "w": 1, "label": "DASH"}, {"x": 12, "y": 0, "w": 1, "label": "EQUALSIGN"}, {"x": 13, "y": 0, "w": 1, "label": "YEN"}, {"x": 14, "y": 0, "w": 1, "label": "BACKSPACE"}, {"x": 15.5, "y": 0, "w": 1, "label": "PAGEUP"},
+        {"x": 0, "y": 1, "w": 1.5, "label": "TAB"}, {"x": 1.5, "y": 1, "w": 1, "label": "Q"}, {"x": 2.5, "y": 1, "w": 1, "label": "W"}, {"x": 3.5, "y": 1, "w": 1, "label": "E"}, {"x": 4.5, "y": 1, "w": 1, "label": "R"}, {"x": 5.5, "y": 1, "w": 1, "label": "T"}, {"x": 6.5, "y": 1, "w": 1, "label": "Y"}, {"x": 7.5, "y": 1, "w": 1, "label": "U"}, {"x": 8.5, "y": 1, "w": 1, "label": "I"}, {"x": 9.5, "y": 1, "w": 1, "label": "O"}, {"x": 10.5, "y": 1, "w": 1, "label": "P"}, {"x": 11.5, "y": 1, "w": 1, "label": "LBRACKET"}, {"x": 12.5, "y": 1, "w": 1, "label": "RBRACKET"}, {"x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH"}, {"x": 15.5, "y": 1, "w": 1, "label": "PAGEDOWN"},
+        {"x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK"}, {"x": 1.75, "y": 2, "w": 1, "label": "A"}, {"x": 2.75, "y": 2, "w": 1, "label": "S"}, {"x": 3.75, "y": 2, "w": 1, "label": "D"}, {"x": 4.75, "y": 2, "w": 1, "label": "F"}, {"x": 5.75, "y": 2, "w": 1, "label": "G"}, {"x": 6.75, "y": 2, "w": 1, "label": "H"}, {"x": 7.75, "y": 2, "w": 1, "label": "J"}, {"x": 8.75, "y": 2, "w": 1, "label": "K"}, {"x": 9.75, "y": 2, "w": 1, "label": "L"}, {"x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON"}, {"x": 11.75, "y": 2, "w": 1, "label": "QUOTE"}, {"x": 12.75, "y": 2, "w": 1, "label": "ISOHASH"}, {"x": 13.75, "y": 2, "w": 1.25, "label": "ENTER"},
+        {"x": 0, "y": 3, "w": 1.25, "label": "LSHIFT"}, {"x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH"}, {"x": 2.25, "y": 3, "w": 1, "label": "Z"}, {"x": 3.25, "y": 3, "w": 1, "label": "X"}, {"x": 4.25, "y": 3, "w": 1, "label": "C"}, {"x": 5.25, "y": 3, "w": 1, "label": "V"}, {"x": 6.25, "y": 3, "w": 1, "label": "B"}, {"x": 7.25, "y": 3, "w": 1, "label": "N"}, {"x": 8.25, "y": 3, "w": 1, "label": "M"}, {"x": 9.25, "y": 3, "w": 1, "label": "COMMA"}, {"x": 10.25, "y": 3, "w": 1, "label": "PERIOD"}, {"x": 11.25, "y": 3, "w": 1, "label": "SLASH"}, {"x": 12.25, "y": 3, "w": 1, "label": "JPBACKSLASH"}, {"x": 13.25, "y": 3, "w": 1.25, "label": "RSHIFT"}, {"x": 14.5, "y": 3, "w": 1, "label": "UP"},
+        {"x": 0, "y": 4, "w": 1.25, "label": "LCTRL"}, {"x": 1.25, "y": 4, "w": 1, "label": "LALT"}, {"x": 2.25, "y": 4, "w": 1.25, "label": "LCMD"}, {"x": 3.5, "y": 4, "w": 1.25, "label": "MUHENKAN"}, {"x": 4.75, "y": 4, "w": 2, "label": "SPACE1"}, {"x": 6.75, "y": 4, "w": 2, "label": "SPACE2"}, {"x": 8.75, "y": 4, "w": 1.25, "label": "HENKAN"}, {"x": 10, "y": 4, "w": 1.25, "label": "RCMD"}, {"x": 11.25, "y": 4, "w": 1, "label": "RCTRL"}, {"x": 12.25, "y": 4, "w": 1.25, "label": "FN"}, {"x": 13.5, "y": 4, "w": 1, "label": "LEFT"}, {"x": 14.5, "y": 4, "w": 1, "label": "DOWN"}, {"x": 15.5, "y": 4, "w": 1, "label": "RIGHT"}
+      ]
     },
 
     "LAYOUT_66_ansi": {
-      "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}, {"x":15.5, "y":0}, {"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}, {"x":15.5, "y":1}, {"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.25}, {"x":14.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
-    }
+      "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}, {"x":15.5, "y":0},
+        {"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}, {"x":15.5, "y":1},
+        {"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.25}, {"x":14.5, "y":3},
+        {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Win", "x":11, "y":4, "w":1.25}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}
+      ]
+    },
+
+    "LAYOUT_66_iso": {
+      "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":"Insert", "x":15.5, "y":0},
+        {"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":"Enter", "x":13.75, "y":1, "w":1.25, "h":2}, {"label":"Delete", "x":15.5, "y":1},
+        {"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":"", "x":12.75, "y":2},
+        {"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.25}, {"label":"\u2191", "x":14.5, "y":3},
+        {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6}, {"label":"Alt", "x":9.75, "y":4, "w":1.25}, {"label":"Ctrl", "x":11, "y":4, "w":1.25}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"label":"\u2190", "x":13.5, "y":4}, {"label":"\u2193", "x":14.5, "y":4}, {"label":"\u2192", "x":15.5, "y":4}
+        }
   }
 }
index cfa641dcc6c81d0631c29ffe95473859c70b13bd..73c809ded6f1bf1f600bfcfd4203f0b97d900429 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 25b5d7eb18c75b2f131218b9cc54c63e69e0f7a6..eee81c0c2d1a391e8525fc413290acdc03a4020c 100644 (file)
@@ -1,6 +1,4 @@
-![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png)
-
-# Basic Clueboard 66% Hotswap Layout
+# Basic Clueboard 66% Hotswap ANSI Layout
 
 This is the default layout that comes flashed on every Clueboard. For the most
 part it's a straightforward and easy to follow layout. The only unusual key is 
index 577cf045b5402bb6938208c66367d38e2970e326..ff27acf5cdefd8aeb893e013209b8c408fc9c01f 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 019131aeb199e8eb1330b9aacc472933625243fe..6d895b0eba7236c80883b621deebf37bc125320d 100644 (file)
@@ -1,6 +1,4 @@
-![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png)
-
-# Default Clueboard Layout
+# Default Clueboard 66% ISO Layout
 
 This is the default layout that comes flashed on every Clueboard. For the most
 part it's a straightforward and easy to follow layout. The only unusual key is 
index 456936cf930dffb33980891dad2f2070cfeb299d..60c6ad4a12cb32180d09feee8c67b6531f948fd1 100644 (file)
@@ -1,7 +1,3 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
+#pragma once
 
 #define DISABLE_SPACE_CADET_ROLLOVER
-#endif
index 73543cbfad9ca2bf7accd619c43deb5ef04f3335..7c7faba9ce9f6df6292eeb940b179d33475afb87 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index c48c50738790f0e366d07de351a3dfd6a07eb054..fc0c56d9a7719988cdad5ac5cf0015e9b62bbb9e 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 47a530a80b4eb59c675b96af3953cf4f078f8551..71d1246c0788bd80a826574f67aaeb964ee9129a 100644 (file)
@@ -1,5 +1,3 @@
-![Clueboard Layout Image](http://i.imgur.com/kGADucy.png)
-
 # Caps Fn Layout
 
 This is the default layout except that Caps Lock acts like Caps Lock when
index 3666bd0e64078cb36b9d91e54609c2ced2da5887..4479556b65bf846165c95ee17b3eaa236f57b248 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 555ff97f0c69ad583369359dfb188003083a498c..95283db886cbdfe0451d3cd7768455bab9294b6b 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 019131aeb199e8eb1330b9aacc472933625243fe..b1cdcbe4e26ad55b9973d9651be2862e58515895 100644 (file)
@@ -1,6 +1,4 @@
-![Clueboard Layout Image](http://i.imgur.com/7Capi8W.png)
-
-# Default Clueboard Layout
+# Default Clueboard 66% Universal Layout
 
 This is the default layout that comes flashed on every Clueboard. For the most
 part it's a straightforward and easy to follow layout. The only unusual key is 
index 118efe0a9771f593b3109209251cc841324a5003..9c6997c34e2b7bcb09be56cffea99c19b73c5e6e 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 29d96842963cbc654d24de07086257e51b3d593e..30e772900ee6ffb64df4036f73558233fbc126e2 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 282da369dc6ca868df9b02a8536e4d2bb5e38710..db7a87d443b6252ac06211693abcbdfbdc441ff6 100644 (file)
@@ -1,5 +1,3 @@
-![Clueboard Layout Image](http://i.imgur.com/7oZCsHF.png)
-
 # Default Clueboard Layout for Mac
 
 This is the default Clueboard layout with Alt and GUI switched to match Mac
index d933fa9979e739b7af9b9982499474eb6b4b6621..65853f6b0c1d1b4ee1b79eaa9e9b27314b7ba020 100644 (file)
@@ -1,7 +1,4 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
+#pragma once
 
 /*
  * MIDI options
@@ -36,5 +33,3 @@
 #define LSPO_KEY KC_8
 #define RSPC_KEY KC_9
 #define PERMISSIVE_HOLD
-
-#endif
index 7f91224cfb5c3b0412c6dc84a4682fbc92e8a2b9..8d93715676af462a0e83e2fac374217ac3399530 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Helpful defines
 #define xxxxxxx KC_NO
index 7ee1ff1690521cd2c891a8c0393acbb94a12ace8..46222e2d3428e9ebacea691ff2ffd1966e605ccd 100644 (file)
@@ -1,6 +1,7 @@
 
 MOUSEKEY_ENABLE = yes
 EXTRAKEY_ENABLE = yes
+RGBLIGHT_ENABLE = yes   # Enable keyboard underlight functionality
 
 MIDI_ENABLE = yes
 
index 08815dc5a90bb9fcd27b33877ccd3f0f2881a063..e71419980d6fcf525370f50c072c413df173585e 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 1b117dc605085422db91502ebeca004e01458bff..c2e05a5a277563cc2c80b2d250d24825615df290 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index fc82e68793563b395df023aa8e757f5b43bd1101..b8d54a309393fccbcbb8540f2890e66c23766f68 100644 (file)
@@ -1,5 +1,3 @@
-![Clueboard Layout Image](http://i.imgur.com/7oZCsHF.png)
-
 # Maximised Clueboard Layout
 
 This layout is intended for a board with one or both shifts split. The outside key on the split shift is an Fn, while the inside is shift. The bottom row has all the mods on both sides, optimised for a Mac.
index 2169312d46595301bdd688240d83dcb9551f041b..be5634f103f18f26e0a2ff9b72c59de3836430c9 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 7fb038205a3adf52189b1e6c2fc49d86bcbfb755..de883e8940ba4dd093761ca1e1df9ae4f5a37fcc 100644 (file)
@@ -1,5 +1,3 @@
-![Clueboard Layout Image](layout.png)
-
 # MouseKeys Layout
 
 This layout adds a mouse layer. When you hold down the spacebar the arrow keys
index abf98615ea457e1c0b9491c9bacd9f31fd57c25b..302649c9234a33606a826be2f7dffb6325ee3404 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 32507e91848ecd4157d46abe876e26a5015b25f3..e77417c3c298e0d22f2b05b1e8679246376dcd67 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 3736db89921115fb3bb88a0ca5bc9f0c6df54f11..8556f90803acb1fbc92748fe5a10aeb37f1ef734 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 4bd920ad4ef322944e45b3a3ad8834d5fdf69048..d68c5b05321422e5e624ca3e4773382992682b20 100644 (file)
@@ -1,4 +1,4 @@
-# Shift Fn Clueboard Layout
+# Shift Fn Clueboard 66% Layout
 
 This is an experimental layout. It makes the left shift key a dual roll key.
 For most keys it acts as a shift key, but for some keys it activates an 
index 42dcfecac0991cffa8658e718fd2b35585e3e24d..c1e3756909aaf02550f1766d1fd1ac098c8df381 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index f7c6d4c139dd26356b0f420888b82b70f6743ae8..ef3abd6672005cf8813c0a55c1013565190ae1cf 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 #include "tetris_text.h"
 
 // Helpful defines
index 927e848539c743dd2917580961c7126c0f57dce4..823959ee0dc7164407b0a0d8fa0ece899268010e 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 9e6d0e902aa9bbbc6c981d858790b59bfbefae69..79c7daef84220923201f9dc6007580ae5325e4cd 100644 (file)
@@ -1,6 +1,4 @@
-![Clueboard Layout Image](http://i.imgur.com/BnWlOht.png)
-
-# Default Clueboard Layout
+# Default Clueboard 66% Layout
 
 This is the default layout except that Caps Lock has been changed to Control
 and Insert and Delete have been put into the Fn layer.
index 2432350164feba5a0fcd63a16f28479fff0c632f..2c5cb863986b9bbc43f7c9b1cd95e39bc3fe4526 100644 (file)
@@ -1,4 +1,4 @@
-#include "66.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 703a37be0c1c73cbca0634981385882391760aa8..d79603268d270e80c2e99bd03b21081bfa84f550 100644 (file)
@@ -1,6 +1,4 @@
-![Clueboard Layout Image](http://i.imgur.com/fsqOqZo.png)
-
-# Default Clueboard Layout
+# Default Clueboard 66% Layout
 
 This is the default layout that comes flashed on every Clueboard. For the most
 part it's a straightforward and easy to follow layout. The only unusual key is 
index 4999e4ff6c0e61a6bfdc19be031a82543361bd22..979cbf57687dba78e0b239eed3872edbd021e71d 100644 (file)
@@ -1,3 +1,3 @@
-#include "../config.h"
+#pragma once
 
-#define TAPPING_TERM 600 // ms 
+#define TAPPING_TERM 600 // ms
index e3f413b49015cc819967a2f40e5f5c668cd2acf7..916a448e26caff7f5b7f0b5b99e3de42927250fb 100644 (file)
@@ -1,7 +1,7 @@
 // Xyverz' keymap.
 // It's based on the default keymap, but Dvorak!
 
-#include "66.h"
+#include QMK_KEYBOARD_H
 #include "action_layer.h"
 #include "eeconfig.h"
 
index b7ca6cb567539f5b939d10d307549813e25db22d..094cc219e9c5138aaad6f1bce6465994b9fb1e13 100644 (file)
@@ -1,6 +1,6 @@
 # Clueboard 66%
 
-![Clueboard](https://static1.squarespace.com/static/55c13bdee4b099be5dcb82eb/t/5867eeaad2b857fd0d196f4b/1494021396651/IMGP4201.jpg?format=1500w)
+![Clueboard](https://i.imgur.com/hLePwJu.jpg)
 
 A fully customizable 66% keyboard.
 
@@ -8,7 +8,7 @@ A fully customizable 66% keyboard.
 * Hardware Supported: Clueboard 66% PCB
   * rev1 (PCB Version 1.0)
   * rev2 (PCB Versions 2.0, 2.0.1, 2.1, 2.5, 2.5.1, 2.6)
-  * rev3 (PCB Versions 2.7, 2.8)
+  * rev3 (PCB Versions 2.7, 2.8, 2.9)
 * Hardware Availability: [clueboard.co](https://clueboard.co/)
 
 Make example for this keyboard (after setting up your build environment):
index 210718d560343f70595b15a5875c45528cd9ab86..a35c0d0f65dc6ea74818c18b1ab87cae512fa3b2 100644 (file)
@@ -1,28 +1,60 @@
-#ifndef CLUEBOARD_66_REV1_CONFIG_H
-#define CLUEBOARD_66_REV1_CONFIG_H
+#pragma once
 
 #include "config_common.h"
 
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xC1ED
 #define PRODUCT_ID      0x2301
 #define DEVICE_VER      0x0003
+#define MANUFACTURER    Clueboard
+#define PRODUCT         Clueboard
+#define DESCRIPTION     QMK keyboard firmware for Clueboard
 
-/* key matrix size */
+/* key matrix size
+ */
 #define MATRIX_ROWS 5
 #define MATRIX_COLS 16
 
-// ROWS: Top to bottom, COLS: Left to right
-/* Column pin configuration
-* col: 0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
-* pin: B3 F1 F4 F5 F6 C7 C6 B6 B5 B4 D7 D6 D4 F7 B0 B1
-*/
+/* ROWS: Top to bottom, COLS: Left to right
+ */
 #define MATRIX_COL_PINS { B3, F1, F4, F5, F6, C7, C6, B6, B5, B4, D7, D6, D4, F7, B0, B1 }
-/* Row pin configuration
-* row: 0  1  2  3  4
-* pin: D1 D0 D2 D5 D3
-*/
 #define MATRIX_ROW_PINS { D1, D0, D2, D5, D3 }
 #define UNUSED_PINS
 
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* 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
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
 /* Underlight configuration
  */
 #define RGB_DI_PIN B2
@@ -31,6 +63,3 @@
 #define RGBLIGHT_HUE_STEP 10
 #define RGBLIGHT_SAT_STEP 17
 #define RGBLIGHT_VAL_STEP 17
-
-
-#endif
index 58694fcb973d714168451e59e6c20034ddbb3b72..8a5e9bf6809107fa534983a2e050adccb0fe6d7f 100644 (file)
@@ -1,7 +1,6 @@
-#ifndef REV1_H
-#define REV1_H
+#pragma once
 
-#include "../66.h"
+#include "quantum.h"
 
 /* Clueboard matrix layout
  * ,-----------------------------------------------------------.  ,---.
@@ -43,7 +42,6 @@
     { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3A, k3B, k3C, k3D, k3E }, \
     { k40, k41, k42, k43, KC_NO,    k45, k46, KC_NO,    KC_NO,    k49, k4A, k4B, k4C, k4D, k4E, k4F }  \
 }
-#define KEYMAP LAYOUT
 
 #define LAYOUT_66_ansi( \
     k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0A, k0B, k0C,    k0E,   k0F, \
@@ -73,4 +71,4 @@
     { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO, KC_NO, KC_NO, k4A, k4B, k4C, k4D, k4E, k4F }  \
 }
 
-#endif
+#define KEYMAP LAYOUT
index f845616741c20fcb5871515df81dc74fd351d20f..96d4125ac4cb25b73c0456bb01f6c429505cbadd 100644 (file)
@@ -1 +1,23 @@
-BACKLIGHT_ENABLE = no
\ No newline at end of file
+LAYOUTS = 66_ansi 66_iso
+MCU = atmega32u4
+F_CPU = 16000000
+ARCH = AVR8
+F_USB = $(F_CPU)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Build Options
+#   comment out to disable the options.
+#
+BACKLIGHT_ENABLE = no
+BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes   # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
+CONSOLE_ENABLE = yes   # Console for debug(+400)
+COMMAND_ENABLE = no     # Commands for debug and configuration
+NKRO_ENABLE = yes                  # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = no    # Enable keyboard underlight functionality
+MIDI_ENABLE = no                   # MIDI controls
+UNICODE_ENABLE = no            # Unicode
+BLUETOOTH_ENABLE = no   # Enable Bluetooth with the Adafruit EZ-Key HID
index 6ab2b1127db29cd37f2553d85de274edbc0e731a..0216b5e1fef53e7697bbad7cd27d647c4f9f5469 100644 (file)
@@ -1,28 +1,59 @@
-#ifndef CLUEBOARD_66_REV2_CONFIG_H
-#define CLUEBOARD_66_REV2_CONFIG_H
+#pragma once
 
 #include "config_common.h"
 
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xC1ED
 #define PRODUCT_ID      0x2320
 #define DEVICE_VER      0x0001
+#define MANUFACTURER    Clueboard
+#define PRODUCT         Clueboard
+#define DESCRIPTION     QMK keyboard firmware for Clueboard
 
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 8
 
-// ROWS: Top to bottom, COLS: Left to right
-/* Row pin configuration
-* row: 0  1  2  3  4  5  6  7  8  9
-* pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2
+/* ROWS: Top to bottom, COLS: Left to right
 */
 #define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 }
-/* Column pin configuration
- * col: 0  1  2  3  4  5  6  7
- * pin: F0 F1 F4 F5 F6 F7 E6 B1
- */
 #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 }
 #define UNUSED_PINS
 
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* 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
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
  /* Backlight configuration
  */
 #define BACKLIGHT_LEVELS 1
@@ -44,5 +75,3 @@
 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 1   // The led to start at
 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 5  // How many LEDs to travel
 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4    // How many LEDs wide to light up
-
-#endif
index bac608df979a7c5832bf9a2ce7a34852ed3d7efd..267e6795e7a7fc9062bfe7460f2cca6c4386dcb2 100644 (file)
@@ -1,7 +1,6 @@
-#ifndef REV2_H
-#define REV2_H
+#pragma once
 
-#include "66.h"
+#include "quantum.h"
 
 /* Clueboard matrix layout
  * ,-----------------------------------------------------------.  ,---.
@@ -48,7 +47,6 @@
     { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
     { k90, KC_NO, k92, k93, k94, k95, k96, k97 }  \
 }
-#define KEYMAP LAYOUT
 
 /* LAYOUT_66_ansi, standard 66 key ANSI layout
  */
@@ -92,4 +90,4 @@
     { KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 }  \
 }
 
-#endif
+#define KEYMAP LAYOUT
index 54a2685bf634e9ff1dfafd06deb12d0e2568dc9b..4987ac1378dff1d7d1068894249d8029e5749454 100644 (file)
@@ -1 +1,22 @@
-BACKLIGHT_ENABLE = yes
\ No newline at end of file
+LAYOUTS = 66_ansi 66_iso
+MCU = atmega32u4
+F_CPU = 16000000
+ARCH = AVR8
+F_USB = $(F_CPU)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+
+# Build Options
+BACKLIGHT_ENABLE = yes
+BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes   # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
+CONSOLE_ENABLE = yes   # Console for debug(+400)
+COMMAND_ENABLE = no     # Commands for debug and configuration
+NKRO_ENABLE = yes                  # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = yes   # Enable keyboard underlight functionality
+MIDI_ENABLE = no                   # MIDI controls
+UNICODE_ENABLE = no            # Unicode
+BLUETOOTH_ENABLE = no   # Enable Bluetooth with the Adafruit EZ-Key HID
index 218736a889d5cb6b7de809fcc267389d77496970..e7cda4ccf0250254a793182664d6eeac0109a653 100644 (file)
@@ -1,28 +1,59 @@
-#ifndef CLUEBOARD_66_REV3_CONFIG_H
-#define CLUEBOARD_66_REV3_CONFIG_H
+#pragma once
 
 #include "config_common.h"
 
+/* USB Device descriptor parameter */
+#define VENDOR_ID       0xC1ED
 #define PRODUCT_ID      0x2370
 #define DEVICE_VER      0x0001
+#define MANUFACTURER    Clueboard
+#define PRODUCT         Clueboard
+#define DESCRIPTION     QMK keyboard firmware for Clueboard
 
 /* key matrix size */
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 8
 
-// ROWS: Top to bottom, COLS: Left to right
-/* Row pin configuration
-* row: 0  1  2  3  4  5  6  7  8  9
-* pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2
+/* ROWS: Top to bottom, COLS: Left to right
 */
 #define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 }
-/* Column pin configuration
- * col: 0  1  2  3  4  5  6  7
- * pin: F0 F1 F4 F5 F6 F7 E6 B1
- */
 #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 }
 #define UNUSED_PINS
 
+/* COL2ROW or ROW2COL */
+#define DIODE_DIRECTION COL2ROW
+
+/* Set 0 if debouncing isn't needed */
+#define DEBOUNCING_DELAY 5
+
+/* 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
+
+/* key combination for command */
+#define IS_COMMAND() ( \
+    keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
+)
+
+/*
+ * Feature disable options
+ *  These options are also useful to firmware size reduction.
+ */
+
+/* disable debug print */
+//#define NO_DEBUG
+
+/* disable print */
+//#define NO_PRINT
+
+/* disable action features */
+//#define NO_ACTION_LAYER
+//#define NO_ACTION_TAPPING
+//#define NO_ACTION_ONESHOT
+//#define NO_ACTION_MACRO
+//#define NO_ACTION_FUNCTION
+
  /* Backlight configuration
  */
 #define BACKLIGHT_LEVELS 1
@@ -44,5 +75,3 @@
 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 2   // The led to start at
 #define RGBLIGHT_EFFECT_KNIGHT_LED_NUM 5  // How many LEDs to travel
 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 4    // How many LEDs wide to light up
-
-#endif
index 713d998e6d1a6b29ecaef83c8991c7e545f4fbcc..195a21a9e88887da0901d287b6770ff588e925cd 100644 (file)
@@ -8,10 +8,6 @@ void matrix_init_kb(void) {
     // runs once when the firmware starts up
     matrix_init_user();
     led_init_ports();
-
-    // JTAG disable for PORT F. write JTD bit twice within four cycles.
-    MCUCR |= (1<<JTD);
-    MCUCR |= (1<<JTD);
 }
 
 
index 0f322a5c006795a82da202921b4ccfec515745cb..267e6795e7a7fc9062bfe7460f2cca6c4386dcb2 100644 (file)
@@ -1,7 +1,6 @@
-#ifndef REV3_H
-#define REV3_H
+#pragma once
 
-#include "66.h"
+#include "quantum.h"
 
 /* Clueboard matrix layout
  * ,-----------------------------------------------------------.  ,---.
@@ -48,7 +47,6 @@
     { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
     { k90, KC_NO, k92, k93, k94, k95, k96, k97 }  \
 }
-#define KEYMAP LAYOUT
 
 /* LAYOUT_66_ansi, standard 66 key ANSI layout
  */
@@ -92,4 +90,4 @@
     { KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 }  \
 }
 
-#endif
+#define KEYMAP LAYOUT
index 54a2685bf634e9ff1dfafd06deb12d0e2568dc9b..8c1836351f9d37d06802fe3bb28f2185c4c2e89d 100644 (file)
@@ -1 +1,23 @@
-BACKLIGHT_ENABLE = yes
\ No newline at end of file
+LAYOUTS = 66_ansi 66_iso
+MCU = atmega32u4
+F_CPU = 16000000
+ARCH = AVR8
+F_USB = $(F_CPU)
+OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
+OPT_DEFS += -DBOOTLOADER_SIZE=4096
+
+# Build Options
+#   comment out to disable the options.
+#
+BACKLIGHT_ENABLE = yes
+BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration(+1000)
+MOUSEKEY_ENABLE = yes   # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
+CONSOLE_ENABLE = yes   # Console for debug(+400)
+COMMAND_ENABLE = no     # Commands for debug and configuration
+NKRO_ENABLE = yes                  # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
+AUDIO_ENABLE = no
+RGBLIGHT_ENABLE = yes   # Enable keyboard underlight functionality
+MIDI_ENABLE = no                   # MIDI controls
+UNICODE_ENABLE = no            # Unicode
+BLUETOOTH_ENABLE = no   # Enable Bluetooth with the Adafruit EZ-Key HID
diff --git a/keyboards/clueboard/66/rules.mk b/keyboards/clueboard/66/rules.mk
deleted file mode 100644 (file)
index c5f8b5c..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-DEFAULT_FOLDER = clueboard/66/rev2
-LAYOUTS = 66_ansi 66_iso
-MCU = atmega32u4
-F_CPU = 16000000
-ARCH = AVR8
-F_USB = $(F_CPU)
-OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-OPT_DEFS += -DBOOTLOADER_SIZE=4096
-
-# Build Options
-#   comment out to disable the options.
-#
-BOOTMAGIC_ENABLE = no  # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no   # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes  # Audio control and System control(+450)
-CONSOLE_ENABLE = yes   # Console for debug(+400)
-COMMAND_ENABLE = yes   # Commands for debug and configuration
-NKRO_ENABLE = yes              # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-AUDIO_ENABLE = no
-RGBLIGHT_ENABLE = yes  # Enable keyboard underlight functionality
-MIDI_ENABLE = no               # MIDI controls
-UNICODE_ENABLE = no            # Unicode
-BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
-
-LAYOUTS = 66_ansi
index 97da92cfd4d92640ee81739cc9dee6b597698b18..d676af0ca86b5d0ad0798862e546edd493b6e91d 100644 (file)
@@ -16,6 +16,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
 #pragma once
+
 #include "config_common.h"
 
 /* USB Device descriptor parameter */
index 14188634b373083ef0a51ff31afc0a0b853ca3d5..d5d36d4a1c2e02b8c7eca4e01e5ca5a511bf202d 100644 (file)
@@ -1,4 +1,5 @@
 #pragma once
+
 #include "config_common.h"
 
 #define PRODUCT_ID      0x2390
@@ -8,17 +9,9 @@
 #define MATRIX_ROWS 10
 #define MATRIX_COLS 8
 
-// ROWS: Top to bottom, COLS: Left to right
-/* Row pin configuration
-* row: 0  1  2  3  4  5  6  7  8  9
-* pin: B2 C7 C6 B6 B5 B0 B3 D5 D3 D2
+/* ROWS: Top to bottom, COLS: Left to right
 */
-
 #define MATRIX_ROW_PINS { B2, C7, C6, B6, B5, B0, B3, D5, D3, D2 }
-/* Column pin configuration
- * col: 0  1  2  3  4  5  6  7
- * pin: F0 F1 F4 F5 F6 F7 E6 B1
- */
 #define MATRIX_COL_PINS { F0, F1, F4, F5, F6, F7, E6, B1 }
 #define UNUSED_PINS
 
index 2d0a9d3977e958649975cef2b0fabee463e295c7..e71994f9c0dc5054b037a67a969820bd7e739fdb 100644 (file)
@@ -3,65 +3,65 @@
 
 /* Clueboard matrix layout
  * ,-----------------------------------------------------------.  ,---.
- * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54|   56  |  | 57|
+ * | 00| 01| 02| 03| 04| 05| 06| 07| 50| 51| 52| 53| 54|     56|  | 57|
  * |-----------------------------------------------------------|  |---|
  * |   10| 11| 12| 13| 14| 15| 16| 17| 60| 61| 62| 63| 64|   65|  | 67|
  * |-----------------------------------------------------------|  `---'
- * |    20| 21| 22| 23| 24| 25| 26| 27| 70| 71| 72| 73| 74|  75|
- * |------------------------------------------------------------.
- * |  30| 31| 32| 33| 34| 35| 36| 37| 80| 81| 82| 83| 84|  85|86|
- * |------------------------------------------------------------------.
- * |  40| 41|  42|  43|   45|       46|   90|  92|  93| 94| 95| 96| 97|
- * `------------------------------------------------------------------'
+ * |    20| 21| 22| 23| 24| 25| 26| 27| 70| 71| 72| 73|      75|
+ * |-------------------------------------------------------------.
+ * |      30| 32| 33| 34| 35| 36| 37| 80| 81| 82| 83|      85| 86|
+ * |-----------------------------------------------------------------.
+ * |  40|  41|  42|        45|      46|  90|  92| 93|  94| 95| 96| 97|
+ * `-----------------------------------------------------------------'
  * ,-----------------------------------------------------------.  ,---.
  * |  `|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|Backsp |  |Ins|
  * |-----------------------------------------------------------|  |---|
  * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|    \|  |Del|
  * |-----------------------------------------------------------|  `---'
  * |Caps  |  A|  S|  D|  F|  G|  H|  J|  k|  L|  ;|  '|Enter   |
- * |--------------------------------------------------------------.
- * |Shift| \|  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|  \|Shift| Up|
- * |------------------------------------------------------------------.
- * |Ctrl|Alt|Gui |     Space|  Space|Gui |Alt |Fn  |Ctrl|Left|Down|Rgt|
- * `------------------------------------------------------------------'
+ * |-------------------------------------------------------------.
+ * |Shift   |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|  /|Shift   |Up |
+ * |-----------------------------------------------------------------.
+ * |Ctrl|Alt |Gui |     Space|   Space|Gui |Alt |Fn |Ctrl|Lft|Dwn|Rgt|
+ * `-----------------------------------------------------------------'
  */
 // The first section contains all of the arguments
 // The second converts the arguments into a two-dimensional array
 
 #define LAYOUT( \
     k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54,    k56,   k57, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65,      k67, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73,    k75, \
-    k30, k31, k32, k33, k34, k35, k36, k37, k80, k81, k82, k83, k84, k85, k86, \
-    k40, k41, k42,           k45, k46,      k90,      k92, k93, k94, k95, k96, k97 \
+    k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64,    k65,   k67, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73,         k75,        \
+    k30,      k32, k33, k34, k35, k36, k37, k80, k81, k82, k83,      k85, k86,      \
+    k40, k41, k42,           k45, k46,      k90,      k92, k93, k94, k95, k96, k97  \
 ) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07 }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17 }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27 }, \
-    { k30, k31, k32, k33, k34, k35, k36, k37 }, \
-    { k40, k41, k42, KC_NO, KC_NO, k45, k46, KC_NO }, \
-    { k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \
-    { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
-    { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \
-    { k80, k81, k82, k83, k84, k85, k86, KC_NO }, \
-    { k90, KC_NO, k92, k93, k94, k95, k96, k97 }  \
+    { k00,    k01,    k02,    k03,    k04,    k05,    k06,    k07   }, \
+    { k10,    k11,    k12,    k13,    k14,    k15,    k16,    k17   }, \
+    { k20,    k21,    k22,    k23,    k24,    k25,    k26,    k27   }, \
+    { k30,    KC_NO,  k32,    k33,    k34,    k35,    k36,    k37   }, \
+    { k40,    k41,    k42,    KC_NO,  KC_NO,  k45,    k46,    KC_NO }, \
+    { k50,    k51,    k52,    k53,    k54,    KC_NO,  k56,    k57   }, \
+    { k60,    k61,    k62,    k63,    k64,    k65,    KC_NO,  k67   }, \
+    { k70,    k71,    k72,    k73,    KC_NO,  k75,    KC_NO,  KC_NO }, \
+    { k80,    k81,    k82,    k83,    KC_NO,  k85,    k86,    KC_NO }, \
+    { k90,    KC_NO,  k92,    k93,    k94,    k95,    k96,    k97   }  \
 }
 
 #define LAYOUT_66_ansi( \
     k00, k01, k02, k03, k04, k05, k06, k07, k50, k51, k52, k53, k54,    k56,   k57, \
-    k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64, k65,      k67, \
-    k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73,    k75, \
-    k30,      k32, k33, k34, k35, k36, k37, k80, k81, k82, k83,    k85,   k86, \
-    k40, k41, k42,                k46,                k92, k93, k94, k95, k96, k97 \
+    k10, k11, k12, k13, k14, k15, k16, k17, k60, k61, k62, k63, k64,    k65,   k67, \
+    k20, k21, k22, k23, k24, k25, k26, k27, k70, k71, k72, k73,         k75,        \
+    k30,      k32, k33, k34, k35, k36, k37, k80, k81, k82, k83,      k85, k86,      \
+    k40, k41, k42,                k46,                k92, k93, k94, k95, k96, k97  \
 ) { \
-    { k00, k01, k02, k03, k04, k05, k06, k07 }, \
-    { k10, k11, k12, k13, k14, k15, k16, k17 }, \
-    { k20, k21, k22, k23, k24, k25, k26, k27 }, \
-    { k30, KC_NO, k32, k33, k34, k35, k36, k37 }, \
-    { k40, k41, k42, KC_NO, KC_NO, KC_NO, k46, KC_NO }, \
-    { k50, k51, k52, k53, k54, KC_NO, k56, k57 }, \
-    { k60, k61, k62, k63, k64, k65, KC_NO, k67 }, \
-    { k70, k71, k72, k73, KC_NO, k75, KC_NO, KC_NO }, \
-    { k80, k81, k82, k83, KC_NO, k85, k86, KC_NO }, \
-    { KC_NO, KC_NO, k92, k93, k94, k95, k96, k97 }  \
+    { k00,    k01,    k02,    k03,    k04,    k05,    k06,    k07   }, \
+    { k10,    k11,    k12,    k13,    k14,    k15,    k16,    k17   }, \
+    { k20,    k21,    k22,    k23,    k24,    k25,    k26,    k27   }, \
+    { k30,    KC_NO,  k32,    k33,    k34,    k35,    k36,    k37   }, \
+    { k40,    k41,    k42,    KC_NO,  KC_NO,  KC_NO,  k46,    KC_NO }, \
+    { k50,    k51,    k52,    k53,    k54,    KC_NO,  k56,    k57   }, \
+    { k60,    k61,    k62,    k63,    k64,    k65,    KC_NO,  k67   }, \
+    { k70,    k71,    k72,    k73,    KC_NO,  k75,    KC_NO,  KC_NO }, \
+    { k80,    k81,    k82,    k83,    KC_NO,  k85,    k86,    KC_NO }, \
+    { KC_NO,  KC_NO,  k92,    k93,    k94,    k95,    k96,    k97   }  \
 }
index 42fbecedddb5d53fdfa50def859e4380983c3387..04a748764c4f35491127fcb264e261664c8b770f 100644 (file)
@@ -4,11 +4,22 @@
   "height": 5,
   "layouts": {
     "LAYOUT": {
-      "layout": [{"x": 0, "y": 0, "w": 1, "label": "GRAVE"}, {"x": 1, "y": 0, "w": 1, "label": "1"}, {"x": 2, "y": 0, "w": 1, "label": "2"}, {"x": 3, "y": 0, "w": 1, "label": "3"}, {"x": 4, "y": 0, "w": 1, "label": "4"}, {"x": 5, "y": 0, "w": 1, "label": "5"}, {"x": 6, "y": 0, "w": 1, "label": "6"}, {"x": 7, "y": 0, "w": 1, "label": "7"}, {"x": 8, "y": 0, "w": 1, "label": "8"}, {"x": 9, "y": 0, "w": 1, "label": "9"}, {"x": 10, "y": 0, "w": 1, "label": "0"}, {"x": 11, "y": 0, "w": 1, "label": "DASH"}, {"x": 12, "y": 0, "w": 1, "label": "EQUALSIGN"}, {"x": 13, "y": 0, "w": 1, "label": "YEN"}, {"x": 14, "y": 0, "w": 1, "label": "BACKSPACE"}, {"x": 15.5, "y": 0, "w": 1, "label": "PAGEUP"}, {"x": 0, "y": 1, "w": 1.5, "label": "TAB"}, {"x": 1.5, "y": 1, "w": 1, "label": "Q"}, {"x": 2.5, "y": 1, "w": 1, "label": "W"}, {"x": 3.5, "y": 1, "w": 1, "label": "E"}, {"x": 4.5, "y": 1, "w": 1, "label": "R"}, {"x": 5.5, "y": 1, "w": 1, "label": "T"}, {"x": 6.5, "y": 1, "w": 1, "label": "Y"}, {"x": 7.5, "y": 1, "w": 1, "label": "U"}, {"x": 8.5, "y": 1, "w": 1, "label": "I"}, {"x": 9.5, "y": 1, "w": 1, "label": "O"}, {"x": 10.5, "y": 1, "w": 1, "label": "P"}, {"x": 11.5, "y": 1, "w": 1, "label": "LBRACKET"}, {"x": 12.5, "y": 1, "w": 1, "label": "RBRACKET"}, {"x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH"}, {"x": 15.5, "y": 1, "w": 1, "label": "PAGEDOWN"}, {"x": 0, "y": 2, "w": 1.75, "label": "CAPSLOCK"}, {"x": 1.75, "y": 2, "w": 1, "label": "A"}, {"x": 2.75, "y": 2, "w": 1, "label": "S"}, {"x": 3.75, "y": 2, "w": 1, "label": "D"}, {"x": 4.75, "y": 2, "w": 1, "label": "F"}, {"x": 5.75, "y": 2, "w": 1, "label": "G"}, {"x": 6.75, "y": 2, "w": 1, "label": "H"}, {"x": 7.75, "y": 2, "w": 1, "label": "J"}, {"x": 8.75, "y": 2, "w": 1, "label": "K"}, {"x": 9.75, "y": 2, "w": 1, "label": "L"}, {"x": 10.75, "y": 2, "w": 1, "label": "SEMICOLON"}, {"x": 11.75, "y": 2, "w": 1, "label": "QUOTE"}, {"x": 12.75, "y": 2, "w": 1, "label": "ISOHASH"}, {"x": 13.75, "y": 2, "w": 1.25, "label": "ENTER"}, {"x": 0, "y": 3, "w": 1.25, "label": "LSHIFT"}, {"x": 1.25, "y": 3, "w": 1, "label": "ISOBACKSLASH"}, {"x": 2.25, "y": 3, "w": 1, "label": "Z"}, {"x": 3.25, "y": 3, "w": 1, "label": "X"}, {"x": 4.25, "y": 3, "w": 1, "label": "C"}, {"x": 5.25, "y": 3, "w": 1, "label": "V"}, {"x": 6.25, "y": 3, "w": 1, "label": "B"}, {"x": 7.25, "y": 3, "w": 1, "label": "N"}, {"x": 8.25, "y": 3, "w": 1, "label": "M"}, {"x": 9.25, "y": 3, "w": 1, "label": "COMMA"}, {"x": 10.25, "y": 3, "w": 1, "label": "PERIOD"}, {"x": 11.25, "y": 3, "w": 1, "label": "SLASH"}, {"x": 12.25, "y": 3, "w": 1, "label": "JPBACKSLASH"}, {"x": 13.25, "y": 3, "w": 1.25, "label": "RSHIFT"}, {"x": 14.5, "y": 3, "w": 1, "label": "UP"}, {"x": 0, "y": 4, "w": 1.25, "label": "LCTRL"}, {"x": 1.25, "y": 4, "w": 1, "label": "LALT"}, {"x": 2.25, "y": 4, "w": 1.25, "label": "LCMD"}, {"x": 3.5, "y": 4, "w": 1.25, "label": "MUHENKAN"}, {"x": 4.75, "y": 4, "w": 2, "label": "SPACE1"}, {"x": 6.75, "y": 4, "w": 2, "label": "SPACE2"}, {"x": 8.75, "y": 4, "w": 1.25, "label": "HENKAN"}, {"x": 10, "y": 4, "w": 1.25, "label": "RCMD"}, {"x": 11.25, "y": 4, "w": 1, "label": "RCTRL"}, {"x": 12.25, "y": 4, "w": 1.25, "label": "FN"}, {"x": 13.5, "y": 4, "w": 1, "label": "LEFT"}, {"x": 14.5, "y": 4, "w": 1, "label": "DOWN"}, {"x": 15.5, "y": 4, "w": 1, "label": "RIGHT"}]
+      "layout": [
+        {"x": 0, "y": 0, "label": "GRAVE"}, {"x": 1, "y": 0, "label": "1"}, {"x": 2, "y": 0, "label": "2"}, {"x": 3, "y": 0, "label": "3"}, {"x": 4, "y": 0, "label": "4"}, {"x": 5, "y": 0, "label": "5"}, {"x": 6, "y": 0, "label": "6"}, {"x": 7, "y": 0, "label": "7"}, {"x": 8, "y": 0, "label": "8"}, {"x": 9, "y": 0, "label": "9"}, {"x": 10, "y": 0, "label": "0"}, {"x": 11, "y": 0, "label": "DASH"}, {"x": 12, "y": 0, "label": "EQUALSIGN"}, {"x": 13, "y": 0, "w": 2, "label": "BACKSPACE"}, {"x": 15.5, "y": 0, "label": "PAGEUP"},
+        {"x": 0, "y": 1, "w": 1.5, "label": "TAB"}, {"x": 1.5, "y": 1, "label": "Q"}, {"x": 2.5, "y": 1, "label": "W"}, {"x": 3.5, "y": 1, "label": "E"}, {"x": 4.5, "y": 1, "label": "R"}, {"x": 5.5, "y": 1, "label": "T"}, {"x": 6.5, "y": 1, "label": "Y"}, {"x": 7.5, "y": 1, "label": "U"}, {"x": 8.5, "y": 1, "label": "I"}, {"x": 9.5, "y": 1, "label": "O"}, {"x": 10.5, "y": 1, "label": "P"}, {"x": 11.5, "y": 1, "label": "LBRACKET"}, {"x": 12.5, "y": 1, "label": "RBRACKET"}, {"x": 13.5, "y": 1, "w": 1.5, "label": "BACKSLASH"}, {"x": 15.5, "y": 1, "label": "PAGEDOWN"},
+        {"x": 0, "y": 2, "w": 1.75, "label": "CAPS LOCK"}, {"x": 1.75, "y": 2, "label": "A"}, {"x": 2.75, "y": 2, "label": "S"}, {"x": 3.75, "y": 2, "label": "D"}, {"x": 4.75, "y": 2, "label": "F"}, {"x": 5.75, "y": 2, "label": "G"}, {"x": 6.75, "y": 2, "label": "H"}, {"x": 7.75, "y": 2, "label": "J"}, {"x": 8.75, "y": 2, "label": "K"}, {"x": 9.75, "y": 2, "label": "L"}, {"x": 10.75, "y": 2, "label": "SEMICOLON"}, {"x": 11.75, "y": 2, "label": "QUOTE"}, {"x": 12.75, "y": 2, "w": 2.25, "label": "ENTER"},
+        {"x": 0, "y": 3, "w": 2.25, "label": "LSHIFT"}, {"x": 2.25, "y": 3, "label": "Z"}, {"x": 3.25, "y": 3, "label": "X"}, {"x": 4.25, "y": 3, "label": "C"}, {"x": 5.25, "y": 3, "label": "V"}, {"x": 6.25, "y": 3, "label": "B"}, {"x": 7.25, "y": 3, "label": "N"}, {"x": 8.25, "y": 3, "label": "M"}, {"x": 9.25, "y": 3, "label": "COMMA"}, {"x": 10.25, "y": 3, "label": "PERIOD"}, {"x": 11.25, "y": 3, "label": "SLASH"}, {"x": 12.25, "y": 3, "w": 2.25, "label": "RSHIFT"}, {"x": 14.5, "y": 3, "label": "UP"},
+        {"x": 0, "y": 4, "w": 1.25, "label": "LCTRL"}, {"x": 1.25, "y": 4, "w": 1.25, "label": "LGUI"}, {"x": 2.5, "y": 4, "w": 1.25, "label": "LALT"}, {"x": 3.75, "y": 4, "w": 2.75, "label": "SPACE1"}, {"x": 6.5, "y": 4, "w": 2.25, "label": "SPACE2"}, {"x": 8.75, "y": 4, "w": 1.25, "label": "RGUI"}, {"x": 10, "y": 4, "w": 1.25, "label": "RALT"}, {"x": 11.25, "y": 4, "label": "FN"}, {"x": 12.25, "y": 4, "w": 1.25, "label": "RCTRL"}, {"x": 13.5, "y": 4, "label": "LEFT"}, {"x": 14.5, "y": 4, "label": "DOWN"}, {"x": 15.5, "y": 4, "label": "RIGHT"}
+      ]
     },
-
     "LAYOUT_66_ansi": {
-      "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}, {"x":15.5, "y":0}, {"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}, {"x":15.5, "y":1}, {"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.25}, {"x":14.5, "y":3}, {"label":"Ctrl", "x":0, "y":4, "w":1.25}, {"label":"Win", "x":1.25, "y":4, "w":1.25}, {"label":"Alt", "x":2.5, "y":4, "w":1.25}, {"x":3.75, "y":4, "w":6.25}, {"label":"Alt", "x":10, "y":4, "w":1.25}, {"label":"Win", "x":11.25, "y":4}, {"label":"Menu", "x":12.25, "y":4, "w":1.25}, {"x":13.5, "y":4}, {"x":14.5, "y":4}, {"x":15.5, "y":4}]
+      "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": "PAGEUP", "x": 15.5, "y": 0},
+        {"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": "PAGEDOWN", "x": 15.5, "y": 1},
+        {"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": "SEMICOLON", "x": 10.75, "y": 2}, {"label": "QUOTE", "x": 11.75, "y": 2}, {"label": "ENTER", "x": 12.75, "y": 2, "w": 2.25},
+        {"label": "LSHIFT", "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": "COMMA", "x": 9.25, "y": 3}, {"label": "PERIOD", "x": 10.25, "y": 3}, {"label": "SLASH", "x": 11.25, "y": 3}, {"label": "RSHIFT", "x": 12.25, "y": 3, "w": 2.25}, {"label": "UP", "x": 14.5, "y": 3},
+        {"label": "LCTRL", "x": 0, "y": 4, "w": 1.25}, {"label": "LGUI", "x": 1.25, "y": 4, "w": 1.25}, {"label": "LALT", "x": 2.5, "y": 4, "w": 1.25}, {"label": "SPACE", "x": 3.75, "y": 4, "w": 6.25}, {"label": "RALT", "x": 10, "y": 4, "w": 1.25}, {"label": "RGUI", "x": 11.25, "y": 4}, {"label": "FN", "x": 12.25, "y": 4, "w": 1.25}, {"label": "LEFT", "x": 13.5, "y": 4}, {"label": "DOWN", "x": 14.5, "y": 4}, {"label": "RIGHT", "x": 15.5, "y": 4}
+      ]
     }
   }
 }
index 977a3501b13989f4724b80e26b85dd8f05bde161..224362fe549ee9249aff7102cd2a1f61ff3255fc 100644 (file)
@@ -1,4 +1,4 @@
-#include "66_hotswap.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
index 240eb0e970481f60409bfde8d272ee0345210865..94f2ec0c400a9eaa263fe83dba5d22e5b28d5044 100644 (file)
@@ -1,4 +1,4 @@
-#include "66_hotswap.h"
+#include QMK_KEYBOARD_H
 
 // Each layer gets a name for readability, which is then used in the keymap matrix below.
 // The underscores don't mean anything - you can have a layer called STUFF or any other name.
@@ -13,7 +13,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_GESC,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_PGUP, \
   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_PGDN, \
   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,                            \
-  KC_LSFT,MO(_FL),KC_Z,   KC_X,   KC_C,   KC_V,   KC_B,   KC_N,   KC_M,   KC_COMM,KC_DOT, KC_SLSH,MO(_FL),  KC_RSFT,        KC_UP,           \
+  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,           \
   KC_LCTL,KC_LGUI,KC_LALT,                KC_SPC, KC_SPC,                         KC_RGUI,KC_RALT,MO(_FL),KC_RCTL,KC_LEFT,KC_DOWN,KC_RGHT),
 
   /* Keymap _FL: Function Layer
@@ -22,7 +22,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   KC_GRV, KC_F1,  KC_F2,  KC_F3,  KC_F4,  KC_F5,  KC_F6,  KC_F7,  KC_F8,  KC_F9,  KC_F10, KC_F11, KC_F12,      KC_DEL,            KC_VOLU, \
   _______,_______,_______,_______,_______,_______,_______,_______,_______,KC_MPRV,KC_MPLY,KC_MNXT,_______,KC_MUTE,                KC_VOLD, \
   _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,    _______,                             \
-  _______,MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,MO(_FL),_______,        KC_PGUP,         \
+  _______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,        KC_PGUP,         \
   _______,_______,_______,                _______,_______,                        _______,_______,MO(_FL),_______,KC_HOME,KC_PGDN,KC_END),
 
   /* Keymap _CL: Control layer
@@ -31,6 +31,6 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
   BL_STEP,RGB_M_P,RGB_M_B,RGB_M_R,RGB_M_SW,RGB_M_SN,RGB_M_K,RGB_M_X,RGB_M_G,_______,_______,_______,_______,   RGB_TOG,           RGB_VAI, \
   _______,_______,_______,_______,RESET,  _______,_______,_______,_______,_______,_______,_______,_______,_______,                RGB_VAD, \
   _______,_______,MO(_CL),_______,_______,_______,_______,_______,_______,_______,_______,_______,    _______,                             \
-  _______,MO(_FL),_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,MO(_FL),_______,        RGB_SAI,         \
+  _______,        _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,        _______,        RGB_SAI,         \
   _______,_______,_______,                RGB_MOD,RGB_MOD,                        _______,_______,MO(_FL),_______,RGB_HUD,RGB_SAD,RGB_HUI),
 };
index 8ece12e8886b6595cd6bc292d0027978a72cfd94..036df01c644587f1fb50a2e588aa8219a3edcd1c 100644 (file)
@@ -1,16 +1,16 @@
 # Clueboard 66% HotSwap
 
-![Clueboard](https://static1.squarespace.com/static/55c13bdee4b099be5dcb82eb/t/5867eeaad2b857fd0d196f4b/1494021396651/IMGP4201.jpg?format=1500w)
+![Clueboard](https://i.imgur.com/8UmBoNx.jpg)
 
 A fully customizable 66% keyboard with Hot Swap sockets.
 
 * Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
 * Hardware Supported: Clueboard 66% HotSwap PCB
-  * 2.9
+  * 2.9 (gen1)
 * Hardware Availability: [clueboard.co](https://clueboard.co/)
 
 Make example for this keyboard (after setting up your build environment):
 
-    make clueboard/66_hotswap:default
+    make clueboard/66_hotswap/gen1:default
 
-See [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.
+See 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).
index 3342a082335519bcab122e4a67e52b3ef9c5c90e..a09285eb04f6a61a912bfc18a20e1500f49a4b68 100644 (file)
@@ -1,22 +1,19 @@
-#ifndef CLUECARD_H
-#define CLUECARD_H
+#pragma once
 
 #include "quantum.h"
 
 // This a shortcut to help you visually see your layout.
 // The first section contains all of the arguements
 // The second converts the arguments into a two-dimensional array
-#define KEYMAP( \
-       k00, k01, k02, \
-       k10, k12, \
-       k20, k21, k22, \
-       k11, \
-       k30, k31, k32 \
+#define LAYOUT( \
+       k00,      k01,      k02, \
+            k10,      k12,      \
+       k20,      k21,      k22, \
+            k11,                \
+                 k30, k31, k32  \
 ) { \
        { k00, k01, k02, }, \
        { k10, k11, k12, }, \
        { k20, k21, k22, }, \
        { k30, k31, k32, } \
 }
-
-#endif
index 6520eb5574a7b0976f6f320ca1519b91ac167f2b..8059821213e591e2dd64b89990ea6d5a71a305e1 100644 (file)
@@ -15,8 +15,7 @@ You should have received a copy of the GNU General Public License
 along with this program.  If not, see <http://www.gnu.org/licenses/>.
 */
 
-#ifndef CONFIG_H
-#define CONFIG_H
+#pragma once
 
 #include "config_common.h"
 
@@ -32,15 +31,7 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 #define MATRIX_ROWS 4
 #define MATRIX_COLS 3
 
-/*
- * Keyboard Matrix Assignments
- *
- * Change this to how you wired your keyboard
- * COLS: AVR pins used for columns, left to right
- * ROWS: AVR pins used for rows, top to bottom
- * DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
- *                  ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
- *
+/* Keyboard Matrix Assignments
 */
 #define MATRIX_ROW_PINS { F0, F5, F4, B4 }
 #define MATRIX_COL_PINS { F1, F7, F6 }
@@ -163,5 +154,3 @@ along with this program.  If not, see <http://www.gnu.org/licenses/>.
 //#define NO_ACTION_ONESHOT
 //#define NO_ACTION_MACRO
 //#define NO_ACTION_FUNCTION
-
-#endif
diff --git a/keyboards/clueboard/card/info.json b/keyboards/clueboard/card/info.json
new file mode 100644 (file)
index 0000000..86dbb4f
--- /dev/null
@@ -0,0 +1,20 @@
+{
+  "keyboard_name": "Cluecard",
+  "keyboard_folder": "clueboard/card",
+  "url": "",
+  "maintainer": "skullydazed",
+  "width": 10,
+  "height": 7,
+  "layouts": {
+    "LAYOUT": {
+      "layout": [
+        {"label":"ON/OFF", "x":0, "y":0}, {"label":"SAT+", "x":4, "y":0}, {"label":"BRIGHT+", "x":8, "y":0},
+        {"label":"HUE-", "x":2, "y":1}, {"label":"HUE+", "x":6, "y":1},
+        {"label":"MODE", "x":0, "y":2}, {"label":"SAT-", "x":4, "y":2}, {"label":"BRIGHT-", "x":8, "y":2},
+        {"label":"LAYER", "x":2, "y":4},
+
+        {"label":"MX1", "x":4, "y":6, "w":2, "h":2}, {"label":"MX2", "x":6, "y":6, "w":2, "h":2}, {"label":"MX3", "x":8, "y":6, "w":2, "h":2}
+      ]
+    }
+  }
+}
index 8893d122e04be2b5675204802a059c4321f8fc73..271f48d0011b39a116e9f36fe8a1c0ca0717af42 100644 (file)
@@ -1,8 +1,3 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
+#pragma once
 
 // place overrides here
-
-#endif
index 5fa6ae20a9335644fab13d0e18824cbc237bef55..687343e1b7acc25f18bbaec14f4b0538a91e356c 100644 (file)
@@ -1,10 +1,7 @@
-#include "card.h"
-#ifdef AUDIO_ENABLE
-       #include "audio.h"
-#endif
+#include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-       [0] = KEYMAP(
+       [0] = LAYOUT(
                RGB_TOG,        RGB_SAI,        RGB_VAI, \
                        RGB_HUD,        RGB_HUI,         \
                RGB_MOD,        RGB_SAD,        RGB_VAD, \
index ed7eceea0907282cf59e08da420f24dad5cb7e23..3b11f550f957b38bb48e2167d9eb3517d03a4251 100644 (file)
@@ -3,16 +3,15 @@
 #   the appropriate keymap folder that will get included automatically
 #
 BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no       # Audio control and System control(+450)
-CONSOLE_ENABLE = yes         # Console for debug(+400)
+MOUSEKEY_ENABLE = no        # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no        # Audio control and System control(+450)
+CONSOLE_ENABLE = yes        # Console for debug(+400)
 COMMAND_ENABLE = yes        # Commands for debug and configuration
 NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
 MIDI_ENABLE = no            # MIDI controls
-AUDIO_ENABLE = yes           # Audio output on port C6
+AUDIO_ENABLE = yes          # Audio output on port C6
 UNICODE_ENABLE = no         # Unicode
 BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes        # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight.
 SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
-
index c6c9342c8188779d295e24d5b225e89df3608171..0b2a68f544f44323adad8bcebeca5fbe03427e35 100644 (file)
@@ -1,12 +1,7 @@
-#ifndef CONFIG_USER_H
-#define CONFIG_USER_H
-
-#include "../../config.h"
+#pragma once
 
 // place overrides here
 #define RGBLIGHT_ANIMATIONS
 #define RGBLIGHT_EFFECT_SNAKE_LENGTH 3
 #define RGBLIGHT_EFFECT_KNIGHT_LENGTH 2
 #define RGBLIGHT_EFFECT_KNIGHT_OFFSET 2
-
-#endif
index 15cf5325d0343fd063cda481c39bac2fe745014f..92d39aef5b620e6241fa08f5251f9dd8eb9976a9 100644 (file)
@@ -1,12 +1,12 @@
-#include "card.h"
+#include QMK_KEYBOARD_H
 
 const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
-       [0] = KEYMAP(
+       [0] = LAYOUT(
                RGB_TOG,        RGB_SAI,        RGB_VAI, \
                        RGB_HUD,        RGB_HUI,         \
                RGB_MOD,        RGB_SAD,        RGB_VAD, \
                BL_STEP,                                 \
-               KC_NO,   KC_NO,   KC_NO                  \
+               KC_NO,  KC_NO,  KC_NO                    \
        )
 };
 
index 1418ba1bf4fd89a3313d9e78b952ae04188d2ed5..54d74abbe53a3c2375c782f5d7546db44964c6c2 100644 (file)
@@ -3,16 +3,15 @@
 #   the appropriate keymap folder that will get included automatically
 #
 BOOTMAGIC_ENABLE = no       # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = no       # Mouse keys(+4700)
-EXTRAKEY_ENABLE = no       # Audio control and System control(+450)
-CONSOLE_ENABLE = yes         # Console for debug(+400)
+MOUSEKEY_ENABLE = no        # Mouse keys(+4700)
+EXTRAKEY_ENABLE = no        # Audio control and System control(+450)
+CONSOLE_ENABLE = yes        # Console for debug(+400)
 COMMAND_ENABLE = yes        # Commands for debug and configuration
 NKRO_ENABLE = yes           # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality
+BACKLIGHT_ENABLE = yes      # Enable keyboard backlight functionality
 MIDI_ENABLE = no            # MIDI controls
 AUDIO_ENABLE = no           # Audio output on port C6
 UNICODE_ENABLE = no         # Unicode
 BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-RGBLIGHT_ENABLE = yes        # Enable WS2812 RGB underlight.
+RGBLIGHT_ENABLE = yes       # Enable WS2812 RGB underlight.
 SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
-
index 00d7d285b117f458a04e413b84b1c59df060c253..20272d236c42e571c35f1d87239a7eb22eed3be0 100644 (file)
@@ -1,5 +1,7 @@
 # Cluecard
 
+![Cluecard](https://i.imgur.com/dTu0Pzx.jpg)
+
 A simple QMK dev kit.
 
 * Keyboard Maintainer: [Zach White](https://github.com/skullydazed)
@@ -10,4 +12,4 @@ Make example for this keyboard (after setting up your build environment):
 
     make clueboard/card:default
 
-See [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.
+See 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).
index 2117c8127287d3f53afca4ff0a01ab146ed35c58..37b439e75a7a18d1bf8ee0e13adcebf79e243c97 100644 (file)
@@ -1,70 +1,21 @@
-
-
-# MCU name
-#MCU = at90usb1287
 MCU = atmega32u4
-
-# Processor frequency.
-#     This will define a symbol, F_CPU, in all source code files equal to the
-#     processor frequency in Hz. You can then use this symbol in your source code to
-#     calculate timings. Do NOT tack on a 'UL' at the end, this will be done
-#     automatically to create a 32-bit value in your source code.
-#
-#     This will be an integer division of F_USB below, as it is sourced by
-#     F_USB after it has run through any CPU prescalers. Note that this value
-#     does not *change* the processor frequency - it should merely be updated to
-#     reflect the processor speed set externally so that the code can use accurate
-#     software delays.
 F_CPU = 16000000
-
-
-#
-# LUFA specific
-#
-# Target architecture (see library "Board Types" documentation).
 ARCH = AVR8
-
-# Input clock frequency.
-#     This will define a symbol, F_USB, in all source code files equal to the
-#     input clock frequency (before any prescaling is performed) in Hz. This value may
-#     differ from F_CPU if prescaling is used on the latter, and is required as the
-#     raw input clock is fed directly to the PLL sections of the AVR for high speed
-#     clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
-#     at the end, this will be done automatically to create a 32-bit value in your
-#     source code.
-#
-#     If no clock division is performed on the input clock inside the AVR (via the
-#     CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
 F_USB = $(F_CPU)
-
-# Interrupt driven control endpoint task(+60)
 OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
-
-
-# Boot Section Size in *bytes*
-#   Teensy halfKay   512
-#   Teensy++ halfKay 1024
-#   Atmel DFU loader 4096
-#   LUFA bootloader  4096
-#   USBaspLoader     2048
 OPT_DEFS += -DBOOTLOADER_SIZE=4096
 
 
 # Build Options
-#   change yes to no to disable
-#
 BOOTMAGIC_ENABLE = no      # Virtual DIP switch configuration(+1000)
-MOUSEKEY_ENABLE = yes       # Mouse keys(+4700)
-EXTRAKEY_ENABLE = yes       # Audio control and System control(+450)
-CONSOLE_ENABLE = yes        # Console for debug(+400)
-COMMAND_ENABLE = yes        # Commands for debug and configuration
-# Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
-SLEEP_LED_ENABLE = no       # Breathing sleep LED during USB suspend
-# if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
-NKRO_ENABLE = no            # USB Nkey Rollover
-RGBLIGHT_ENABLE = yes       # Enable keyboard underlight functionality (+4870)
-BACKLIGHT_ENABLE = yes       # Enable keyboard backlight functionality by default
-MIDI_ENABLE = no            # MIDI controls
-UNICODE_ENABLE = no         # Unicode
-BLUETOOTH_ENABLE = no       # Enable Bluetooth with the Adafruit EZ-Key HID
-AUDIO_ENABLE = yes           # Audio output on port C6
+MOUSEKEY_ENABLE = yes      # Mouse keys(+4700)
+EXTRAKEY_ENABLE = yes      # Audio control and System control(+450)
+CONSOLE_ENABLE = yes       # Console for debug(+400)
+COMMAND_ENABLE = yes       # Commands for debug and configuration
+NKRO_ENABLE = no           # USB Nkey Rollover
+RGBLIGHT_ENABLE = yes      # Enable keyboard underlight functionality (+4870)
+BACKLIGHT_ENABLE = yes     # Enable keyboard backlight functionality by default
+MIDI_ENABLE = no           # MIDI controls
+UNICODE_ENABLE = no        # Unicode
+BLUETOOTH_ENABLE = no      # Enable Bluetooth with the Adafruit EZ-Key HID
+AUDIO_ENABLE = yes         # Audio output on port C6
index 226bc079c65f79aa40320ade9b053acfab9fbdd5..451db3307b90faea34b6a62e4cc02c1e85cb498d 100644 (file)
@@ -1,12 +1,13 @@
-![Clueboard Logo](https://static1.squarespace.com/static/55c13bdee4b099be5dcb82eb/t/59c9703318b27d1ab34f40df/1508257572555/)
+![Clueboard Logo](https://i.imgur.com/220uMry.png)
 
-Clueboard makes fully customizable custom keyboards in a variety of formfactors. Inside this directory you'll find support for the entire line of Clueboard products.
+Clueboard makes fully customizable custom keyboards in a variety of form-factors. Inside this directory you'll find support for the entire line of Clueboard products.
 
 * Maintainer: [Zach White](https://github.com/skullydazed)
 * Hardware Supported:
   * [`17`](17/): Clueboard "Cluepad" PCB
+  * [`2x1800`](2x1800/): Clueboard 2x1800 PCB
   * [`60`](60/): Clueboard 60% PCB
   * [`66`](66/): Clueboard 66% PCB
-  * [`2x1800`](2x1800/): Clueboard 2x1800 PCB
+  * [`66_hotswap`](66/): Clueboard 66% USB-C Hotswappable PCB
   * [`card`](card/): Special Cluecard PCB
 * Hardware Availability: [clueboard.co](https://clueboard.co/)