From 8b05d30cd1ffb6890c201095715df9dfb671e9bf Mon Sep 17 00:00:00 2001 From: James Young <18669334+noroadsleft@users.noreply.github.com> Date: Tue, 23 Nov 2021 19:02:38 +0000 Subject: [PATCH] Pluckey: Fix QMK Configurator Implementation (#15254) * rename LAYOUT to LAYOUT_all * pluckey.h: add matrix diagram * pluckey.h: use XXX for KC_NO * add LAYOUT_ergo macro with keymap `info.json` had layout data for this macro, but the macro was not present in the source code. * info.json: correct key sequence Fixes incorrect key assignments in QMK Configurator. --- keyboards/pluckey/info.json | 281 +++++++++--------- keyboards/pluckey/keymaps/default/keymap.c | 8 +- .../pluckey/keymaps/default_ergo/keymap.c | 77 +++++ keyboards/pluckey/pluckey.h | 57 +++- 4 files changed, 273 insertions(+), 150 deletions(-) create mode 100644 keyboards/pluckey/keymaps/default_ergo/keymap.c diff --git a/keyboards/pluckey/info.json b/keyboards/pluckey/info.json index 0a6bd1832d..de58bee802 100644 --- a/keyboards/pluckey/info.json +++ b/keyboards/pluckey/info.json @@ -2,147 +2,158 @@ "keyboard_name": "pluckey", "url": "https://github.com/floookay/pluckey", "maintainer": "floookay", + "layout_aliases": { + "LAYOUT": "LAYOUT_all" + }, "layouts": { - "LAYOUT": { + "LAYOUT_all": { "layout": [ - {"x":3.5, "y":0}, - {"x":15, "y":0}, - {"x":2.5, "y":0.125}, - {"x":4.5, "y":0.125}, - {"x":14, "y":0.125}, - {"x":16, "y":0.125}, - {"x":5.5, "y":0.25}, - {"x":6.5, "y":0.25}, - {"x":12, "y":0.25}, - {"x":13, "y":0.25}, - {"x":0, "y":0.625, "w":1.5}, - {"x":1.5, "y":0.625}, - {"x":17, "y":0.625}, - {"x":18, "y":0.625, "w":1.5}, - {"x":3.5, "y":1.0}, - {"x":15, "y":1.0}, - {"x":2.5, "y":1.125}, - {"x":4.5, "y":1.125}, - {"x":14, "y":1.125}, - {"x":16, "y":1.125}, - {"x":5.5, "y":1.25}, - {"x":6.5, "y":1.25}, - {"x":12, "y":1.25}, - {"x":13, "y":1.25}, - {"x":0, "y":1.625, "w":1.5}, - {"x":1.5, "y":1.625}, - {"x":17, "y":1.625}, - {"x":18, "y":1.625, "w":1.5}, - {"x":3.5, "y":2}, - {"x":15, "y":2}, - {"x":2.5, "y":2.125}, - {"x":4.5, "y":2.125}, - {"x":14, "y":2.125}, - {"x":16, "y":2.125}, - {"x":5.5, "y":2.25}, - {"x":6.5, "y":2.25}, - {"x":12, "y":2.25}, - {"x":13, "y":2.25}, - {"x":0, "y":2.625, "w":1.5}, - {"x":1.5, "y":2.625}, - {"x":17, "y":2.625}, - {"x":18, "y":2.625, "w":1.5}, - {"x":6.5, "y":3.25}, - {"x":12, "y":3.25}, - {"x":3.5, "y":3}, - {"x":15, "y":3}, - {"x":2.5, "y":3.125}, - {"x":4.5, "y":3.125}, - {"x":14, "y":3.125}, - {"x":16, "y":3.125}, - {"x":5.5, "y":3.25}, - {"x":13, "y":3.25}, - {"x":0, "y":3.625, "w":1.5}, - {"x":1.5, "y":3.625}, - {"x":17, "y":3.625}, - {"x":18, "y":3.625, "w":1.5}, - {"x":7.5, "y":3.75}, - {"x":11, "y":3.75}, - {"x":3.5, "y":4}, - {"x":15, "y":4}, - {"x":2.5, "y":4.125}, - {"x":4.5, "y":4.125}, - {"x":14, "y":4.125}, - {"x":16, "y":4.125}, - {"x":5.75, "y":4.5, "w":1.5}, - {"x":12.25, "y":4.5, "w":1.5}, - {"x":7.25, "y":4.75}, - {"x":11.25, "y":4.75} + {"label":"Esc", "x":0, "y":0.625, "w":1.5}, + {"label":"1!", "x":1.5, "y":0.625}, + {"label":"2@", "x":2.5, "y":0.125}, + {"label":"3#", "x":3.5, "y":0}, + {"label":"4$", "x":4.5, "y":0.125}, + {"label":"5%", "x":5.5, "y":0.25}, + {"label":"-_", "x":6.5, "y":0.25}, + {"label":"=+", "x":12, "y":0.25}, + {"label":"6^", "x":13, "y":0.25}, + {"label":"7&", "x":14, "y":0.125}, + {"label":"8*", "x":15, "y":0}, + {"label":"9(", "x":16, "y":0.125}, + {"label":"0)", "x":17, "y":0.625}, + {"label":"`~", "x":18, "y":0.625, "w":1.5}, + + {"label":"Tab", "x":0, "y":1.625, "w":1.5}, + {"label":"Q", "x":1.5, "y":1.625}, + {"label":"W", "x":2.5, "y":1.125}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1.125}, + {"label":"T", "x":5.5, "y":1.25}, + {"label":"[{", "x":6.5, "y":1.25}, + {"label":"]}", "x":12, "y":1.25}, + {"label":"Y", "x":13, "y":1.25}, + {"label":"U", "x":14, "y":1.125}, + {"label":"I", "x":16, "y":1.125}, + {"label":"O", "x":15, "y":1}, + {"label":"P", "x":17, "y":1.625}, + {"label":"\\|", "x":18, "y":1.625, "w":1.5}, + + {"label":"Ctrl", "x":0, "y":2.625, "w":1.5}, + {"label":"A", "x":1.5, "y":2.625}, + {"label":"S", "x":2.5, "y":2.125}, + {"label":"D", "x":3.5, "y":2}, + {"label":"F", "x":4.5, "y":2.125}, + {"label":"G", "x":5.5, "y":2.25}, + {"label":"(", "x":6.5, "y":2.25}, + {"label":")", "x":12, "y":2.25}, + {"label":"H", "x":13, "y":2.25}, + {"label":"J", "x":14, "y":2.125}, + {"label":"K", "x":16, "y":2.125}, + {"label":"L", "x":15, "y":2}, + {"label":";:", "x":17, "y":2.625}, + {"label":"'\"", "x":18, "y":2.625, "w":1.5}, + + {"label":"Shift", "x":0, "y":3.625, "w":1.5}, + {"label":"Z", "x":1.5, "y":3.625}, + {"label":"X", "x":2.5, "y":3.125}, + {"label":"C", "x":3.5, "y":3}, + {"label":"V", "x":4.5, "y":3.125}, + {"label":"B", "x":5.5, "y":3.25}, + {"label":"{", "x":6.5, "y":3.25}, + {"label":"Home", "x":7.5, "y":3.75}, + {"label":"End", "x":11, "y":3.75}, + {"label":"}", "x":12, "y":3.25}, + {"label":"N", "x":13, "y":3.25}, + {"label":"M", "x":14, "y":3.125}, + {"label":",<", "x":15, "y":3}, + {"label":".>", "x":16, "y":3.125}, + {"label":"/?", "x":17, "y":3.625}, + {"label":"Shift", "x":18, "y":3.625, "w":1.5}, + + {"label":"GUI", "x":2.5, "y":4.125}, + {"label":"Alt", "x":3.5, "y":4}, + {"label":"Lower", "x":4.5, "y":4.125}, + {"label":"Space", "x":5.75, "y":4.5, "w":1.5}, + {"label":"Backspace", "x":7.25, "y":4.75}, + {"label":"Enter", "x":11.25, "y":4.75}, + {"label":"Space", "x":12.25, "y":4.5, "w":1.5}, + {"label":"Raise", "x":14, "y":4.125}, + {"label":"Alt", "x":15, "y":4}, + {"label":"MEH", "x":16, "y":4.125} ] }, "LAYOUT_ergo": { "layout": [ - {"x":3.5, "y":0}, - {"x":15, "y":0}, - {"x":2.5, "y":0.125}, - {"x":4.5, "y":0.125}, - {"x":14, "y":0.125}, - {"x":16, "y":0.125}, - {"x":5.5, "y":0.25}, - {"x":6.5, "y":0.25}, - {"x":12, "y":0.25}, - {"x":13, "y":0.25}, - {"x":0, "y":0.625, "w":1.5}, - {"x":1.5, "y":0.625}, - {"x":17, "y":0.625}, - {"x":18, "y":0.625, "w":1.5}, - {"x":3.5, "y":1.0}, - {"x":15, "y":1.0}, - {"x":2.5, "y":1.125}, - {"x":4.5, "y":1.125}, - {"x":14, "y":1.125}, - {"x":16, "y":1.125}, - {"x":5.5, "y":1.25}, - {"x":6.5, "y":1.25, "h":1.5}, - {"x":12, "y":1.25, "h":1.5}, - {"x":13, "y":1.25}, - {"x":0, "y":1.625, "w":1.5}, - {"x":1.5, "y":1.625}, - {"x":17, "y":1.625}, - {"x":18, "y":1.625, "w":1.5}, - {"x":3.5, "y":2}, - {"x":15, "y":2}, - {"x":2.5, "y":2.125}, - {"x":4.5, "y":2.125}, - {"x":14, "y":2.125}, - {"x":16, "y":2.125}, - {"x":5.5, "y":2.25}, - {"x":13, "y":2.25}, - {"x":0, "y":2.625, "w":1.5}, - {"x":1.5, "y":2.625}, - {"x":17, "y":2.625}, - {"x":18, "y":2.625, "w":1.5}, - {"x":6.5, "y":2.75, "h":1.5}, - {"x":12, "y":2.75, "h":1.5}, - {"x":3.5, "y":3}, - {"x":15, "y":3}, - {"x":2.5, "y":3.125}, - {"x":4.5, "y":3.125}, - {"x":14, "y":3.125}, - {"x":16, "y":3.125}, - {"x":5.5, "y":3.25}, - {"x":13, "y":3.25}, - {"x":0, "y":3.625, "w":1.5}, - {"x":1.5, "y":3.625}, - {"x":17, "y":3.625}, - {"x":18, "y":3.625, "w":1.5}, - {"x":7.5, "y":3.75}, - {"x":11, "y":3.75}, - {"x":3.5, "y":4}, - {"x":15, "y":4}, - {"x":2.5, "y":4.125}, - {"x":4.5, "y":4.125}, - {"x":14, "y":4.125}, - {"x":16, "y":4.125}, - {"x":5.75, "y":4.5, "w":1.5}, - {"x":12.25, "y":4.5, "w":1.5}, - {"x":7.25, "y":4.75}, - {"x":11.25, "y":4.75} + {"label":"Esc", "x":0, "y":0.625, "w":1.5}, + {"label":"1!", "x":1.5, "y":0.625}, + {"label":"2@", "x":2.5, "y":0.125}, + {"label":"3#", "x":3.5, "y":0}, + {"label":"4$", "x":4.5, "y":0.125}, + {"label":"5%", "x":5.5, "y":0.25}, + {"label":"-_", "x":6.5, "y":0.25}, + {"label":"=+", "x":12, "y":0.25}, + {"label":"6^", "x":13, "y":0.25}, + {"label":"7&", "x":14, "y":0.125}, + {"label":"8*", "x":15, "y":0}, + {"label":"9(", "x":16, "y":0.125}, + {"label":"0)", "x":17, "y":0.625}, + {"label":"`~", "x":18, "y":0.625, "w":1.5}, + + {"label":"Tab", "x":0, "y":1.625, "w":1.5}, + {"label":"Q", "x":1.5, "y":1.625}, + {"label":"W", "x":2.5, "y":1.125}, + {"label":"E", "x":3.5, "y":1}, + {"label":"R", "x":4.5, "y":1.125}, + {"label":"T", "x":5.5, "y":1.25}, + {"label":"[{", "x":6.5, "y":1.25, "h":1.5}, + {"label":"]}", "x":12, "y":1.25, "h":1.5}, + {"label":"Y", "x":13, "y":1.25}, + {"label":"U", "x":14, "y":1.125}, + {"label":"I", "x":16, "y":1.125}, + {"label":"O", "x":15, "y":1}, + {"label":"P", "x":17, "y":1.625}, + {"label":"\\|", "x":18, "y":1.625, "w":1.5}, + + {"label":"Ctrl", "x":0, "y":2.625, "w":1.5}, + {"label":"A", "x":1.5, "y":2.625}, + {"label":"S", "x":2.5, "y":2.125}, + {"label":"D", "x":3.5, "y":2}, + {"label":"F", "x":4.5, "y":2.125}, + {"label":"G", "x":5.5, "y":2.25}, + {"label":"H", "x":13, "y":2.25}, + {"label":"J", "x":14, "y":2.125}, + {"label":"K", "x":16, "y":2.125}, + {"label":"L", "x":15, "y":2}, + {"label":";:", "x":17, "y":2.625}, + {"label":"'\"", "x":18, "y":2.625, "w":1.5}, + + {"label":"Shift", "x":0, "y":3.625, "w":1.5}, + {"label":"Z", "x":1.5, "y":3.625}, + {"label":"X", "x":2.5, "y":3.125}, + {"label":"C", "x":3.5, "y":3}, + {"label":"V", "x":4.5, "y":3.125}, + {"label":"B", "x":5.5, "y":3.25}, + {"label":"(", "x":6.5, "y":2.75, "h":1.5}, + {"label":"Home", "x":7.5, "y":3.75}, + {"label":"End", "x":11, "y":3.75}, + {"label":")", "x":12, "y":2.75, "h":1.5}, + {"label":"N", "x":13, "y":3.25}, + {"label":"M", "x":14, "y":3.125}, + {"label":",<", "x":15, "y":3}, + {"label":".>", "x":16, "y":3.125}, + {"label":"/?", "x":17, "y":3.625}, + {"label":"Shift", "x":18, "y":3.625, "w":1.5}, + + {"label":"GUI", "x":2.5, "y":4.125}, + {"label":"Alt", "x":3.5, "y":4}, + {"label":"Lower", "x":4.5, "y":4.125}, + {"label":"Space", "x":5.75, "y":4.5, "w":1.5}, + {"label":"Backspace", "x":7.25, "y":4.75}, + {"label":"Enter", "x":11.25, "y":4.75}, + {"label":"Space", "x":12.25, "y":4.5, "w":1.5}, + {"label":"Raise", "x":14, "y":4.125}, + {"label":"Alt", "x":15, "y":4}, + {"label":"MEH", "x":16, "y":4.125} ] } } diff --git a/keyboards/pluckey/keymaps/default/keymap.c b/keyboards/pluckey/keymaps/default/keymap.c index 31042fc692..787bb192b2 100644 --- a/keyboards/pluckey/keymaps/default/keymap.c +++ b/keyboards/pluckey/keymaps/default/keymap.c @@ -35,28 +35,28 @@ enum custom_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* Base */ - [_BASE] = LAYOUT( + [_BASE] = LAYOUT_all( KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_LPRN, KC_RPRN, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LCBR, KC_HOME, KC_END, KC_RCBR, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, KC_LGUI, KC_LALT, MO_LOW, KC_SPC, KC_BSPC, KC_ENT, KC_SPC, MO_RAIS, KC_RALT, KC_MEH ), - [_LOWER] = LAYOUT( + [_LOWER] = LAYOUT_all( _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR, _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_LPRN, KC_RPRN, KC_PLUS, KC_PIPE, _______, _______, _______, _______, _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_LPRN, KC_RPRN, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, _______, _______, _______, _______, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, _______, _______, MO_CURR, _______, KC_DEL, _______, _______, MO_ADJU, _______, _______ ), - [_RAISE] = LAYOUT( + [_RAISE] = LAYOUT_all( _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, _______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, KC_BTN4, KC_UP, KC_BTN5, _______, _______, _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_LPRN, KC_RPRN, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, _______, _______, _______, KC_VOLD, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, KC_PGDN, _______, _______, _______, _______, _______, MO_ADJU, _______, KC_DEL, _______, _______, MO_CURR, _______, _______ ), - [_ADJUST] = LAYOUT( + [_ADJUST] = LAYOUT_all( KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, _______, diff --git a/keyboards/pluckey/keymaps/default_ergo/keymap.c b/keyboards/pluckey/keymaps/default_ergo/keymap.c new file mode 100644 index 0000000000..313b118b8a --- /dev/null +++ b/keyboards/pluckey/keymaps/default_ergo/keymap.c @@ -0,0 +1,77 @@ +/* Copyright 2021 floookay + * + * 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 . + */ +#include QMK_KEYBOARD_H + +// Defines names for use in layer keycodes and the keymap +enum layer_names { + _BASE, + _LOWER, + _RAISE, + _ADJUST +}; + +// Defines the keycodes used by our macros in process_record_user +enum custom_keycodes { + M_ARROW +}; + +#define MO_LOW MO(_LOWER) +#define MO_RAIS MO(_RAISE) +#define MO_ADJU MO(_ADJUST) +#define MO_CURR _______ + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* Base */ + [_BASE] = LAYOUT_ergo( + KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_MINS, KC_EQL, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV, + KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_LBRC, KC_RBRC, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_LCTL, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LPRN, KC_HOME, KC_END, KC_RPRN, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, + KC_LGUI, KC_LALT, MO_LOW, KC_SPC, KC_BSPC, KC_ENT, KC_SPC, MO_RAIS, KC_RALT, KC_MEH + ), + [_LOWER] = LAYOUT_ergo( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F11, KC_F12, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PSCR, + _______, _______, _______, _______, KC_PIPE, KC_UNDS, KC_LPRN, KC_RPRN, KC_PLUS, KC_PIPE, _______, _______, _______, _______, + _______, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, _______, + _______, _______, _______, _______, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, _______, _______, _______, _______, + _______, _______, MO_CURR, _______, KC_DEL, _______, _______, MO_ADJU, _______, _______ + ), + [_RAISE] = LAYOUT_ergo( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, _______, _______, _______, + _______, _______, _______, KC_VOLU, _______, _______, KC_LPRN, KC_RPRN, _______, KC_BTN4, KC_UP, KC_BTN5, _______, _______, + _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, _______, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, _______, + _______, _______, _______, KC_VOLD, _______, _______, M_ARROW, KC_PGUP, KC_PGDN, _______, _______, _______, KC_PGDN, _______, _______, _______, + _______, _______, MO_ADJU, _______, KC_DEL, _______, _______, MO_CURR, _______, _______ + ), + [_ADJUST] = LAYOUT_ergo( + KC_SLEP, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_WH_U, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, KC_WH_L, KC_WH_D, KC_WH_R, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, KC_CLR, _______, _______, _______, _______, _______ + ) +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch (keycode) { + case M_ARROW: + if (record->event.pressed) { + SEND_STRING("->"); + } + break; + } + return true; +} diff --git a/keyboards/pluckey/pluckey.h b/keyboards/pluckey/pluckey.h index 628a89baa9..d7d6dc4d3a 100644 --- a/keyboards/pluckey/pluckey.h +++ b/keyboards/pluckey/pluckey.h @@ -18,6 +18,22 @@ #include "quantum.h" +#define XXX KC_NO + +/* + * ┌───┬───┬───┬───┬───┐ ┌───┬───┬───┬───┬───┐ + * ┌─────┬───┤L02│L03│L04│L05│L06│ │R00│R01│R02│R03│R04├───┬─────┐ + * │L00 │L01├───┼───┼───┼───┼───┤ ┌───┐ ┌───┐ ├───┼───┼───┼───┼───┤R05│R06 │ + * ├─────┼───┤L12│L13│L14│L15│L16│ │L16│ │R10│ │R10│R11│R12│R13│R14├───┼─────┤ + * │L10 │L11├───┼───┼───┼───┼───┤ │ │ │ │ ├───┼───┼───┼───┼───┤R15│R16 │ + * ├─────┼───┤L22│L23│L24│L25│L26│ ├───┤ ├───┤ │R20│R21│R22│R23│R24├───┼─────┤ + * │L20 │L21├───┼───┼───┼───┼───┼───┐ │L36├───┐ ┌───┤R30│ ┌───┼───┼───┼───┼───┼───┤R25│R26 │ + * ├─────┼───┤L32│L33│L34│L35│L36│L41│ │ │ │ │ │ │ │R45│R30│R31│R32│R33│R34├───┼─────┤ + * │L30 │L31├───┼───┼───┼┬──┴──┬┴──┬┘ └──┬┘ ┌┘ └┐ └┬──┘ └┬──┴┬──┴──┬┼───┼───┼───┤R35│R36 │ + * └─────┴───┤L42│L43│L44││L45 │L46│ │L46│ │R40│ │R40│R41 ││R42│R43│R44├───┴─────┘ + * └───┴───┴───┘└─────┴───┘ └───┘ └───┘ └───┴─────┘└───┴───┴───┘ + */ + /* This is a shortcut to help you visually see your layout. * * The first section contains all of the arguments representing the physical @@ -26,21 +42,40 @@ * The second converts the arguments into a two-dimensional array which * represents the switch matrix. */ -#define LAYOUT( \ +#define LAYOUT_all( \ l00, l01, l02, l03, l04, l05, l06, r00, r01, r02, r03, r04, r05, r06, \ l10, l11, l12, l13, l14, l15, l16, r10, r11, r12, r13, r14, r15, r16, \ l20, l21, l22, l23, l24, l25, l26, r20, r21, r22, r23, r24, r25, r26, \ l30, l31, l32, l33, l34, l35, l36, l41, r45, r30, r31, r32, r33, r34, r35, r36, \ l42, l43, l44, l45, l46, r40, r41, r42, r43, r44 \ ){ \ - { l00, l01, l02, l03, l04, l05, l06 }, \ - { l10, l11, l12, l13, l14, l15, l16 }, \ - { l20, l21, l22, l23, l24, l25, l26 }, \ - { l30, l31, l32, l33, l34, l35, l36 }, \ - { KC_NO, l41, l42, l43, l44, l45, l46 }, \ - { r06, r05, r04, r03, r02, r01, r00 }, \ - { r16, r15, r14, r13, r12, r11, r10 }, \ - { r26, r25, r24, r23, r22, r21, r20 }, \ - { r36, r35, r34, r33, r32, r31, r30 }, \ - { KC_NO, r45, r44, r43, r42, r41, r40 } \ + { l00, l01, l02, l03, l04, l05, l06 }, \ + { l10, l11, l12, l13, l14, l15, l16 }, \ + { l20, l21, l22, l23, l24, l25, l26 }, \ + { l30, l31, l32, l33, l34, l35, l36 }, \ + { XXX, l41, l42, l43, l44, l45, l46 }, \ + { r06, r05, r04, r03, r02, r01, r00 }, \ + { r16, r15, r14, r13, r12, r11, r10 }, \ + { r26, r25, r24, r23, r22, r21, r20 }, \ + { r36, r35, r34, r33, r32, r31, r30 }, \ + { XXX, r45, r44, r43, r42, r41, r40 } \ +} + +#define LAYOUT_ergo( \ + l00, l01, l02, l03, l04, l05, l06, r00, r01, r02, r03, r04, r05, r06, \ + l10, l11, l12, l13, l14, l15, l16, r10, r11, r12, r13, r14, r15, r16, \ + l20, l21, l22, l23, l24, l25, r21, r22, r23, r24, r25, r26, \ + l30, l31, l32, l33, l34, l35, l36, l41, r45, r30, r31, r32, r33, r34, r35, r36, \ + l42, l43, l44, l45, l46, r40, r41, r42, r43, r44 \ +){ \ + { l00, l01, l02, l03, l04, l05, l06 }, \ + { l10, l11, l12, l13, l14, l15, l16 }, \ + { l20, l21, l22, l23, l24, l25, XXX }, \ + { l30, l31, l32, l33, l34, l35, l36 }, \ + { XXX, l41, l42, l43, l44, l45, l46 }, \ + { r06, r05, r04, r03, r02, r01, r00 }, \ + { r16, r15, r14, r13, r12, r11, r10 }, \ + { r26, r25, r24, r23, r22, r21, XXX }, \ + { r36, r35, r34, r33, r32, r31, r30 }, \ + { XXX, r45, r44, r43, r42, r41, r40 } \ }