From c8b721d7c6cf683473bcf3d0af6ec561471b1dcc Mon Sep 17 00:00:00 2001 From: Danilo de Klerk Date: Thu, 6 Aug 2020 19:36:26 +0200 Subject: split_3x5_3 layout support (#9624) * Add split_3x5_3 support to Minidox * Add split_3x5_3 support to Miniaxe * Add LAYOUT_mini to Centromere This layout macro removes the need or KC_NO keycodes in the keymap. * Add split_3x5_3 support to Centromere * Add split_3x5_3 support to suihankey split * Add LAYOUT_mini to centromere/info.json * Add LAYOUT_mini to crkbd * Add split_3x5_3 support to crkbd * Change mini layout names * Rename main layouts for split_3x6_3 keyboards * Use split_3x5_3 macro for remaining keyboards * Update relevant info.json files * Fix suihankey/split/alpha macro * Add layout aliases for suihankey --- keyboards/centromere/centromere.h | 32 +++++++++++++----- keyboards/centromere/info.json | 42 +++++++++++++++++++++++- keyboards/centromere/keymaps/default/keymap.c | 6 ++-- keyboards/centromere/keymaps/default_u2/keymap.c | 6 ++-- keyboards/centromere/keymaps/mini/keymap.c | 32 +++++++++--------- keyboards/centromere/rules.mk | 2 +- 6 files changed, 88 insertions(+), 32 deletions(-) (limited to 'keyboards/centromere') diff --git a/keyboards/centromere/centromere.h b/keyboards/centromere/centromere.h index d07a53b1a..bf13aa7b0 100644 --- a/keyboards/centromere/centromere.h +++ b/keyboards/centromere/centromere.h @@ -28,22 +28,38 @@ #define set_led_cyan red_led_off; grn_led_on; blu_led_on #define set_led_white red_led_on; grn_led_on; blu_led_on +// For readability +#define ___ KC_NO // 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_split_3x6_3( \ k0a, k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0b, \ k1a, k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1b,\ k2a, k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2b,\ k32, k33, k34, k35, k36, k37 \ ) \ - { \ - { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ - { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \ - { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ - { KC_NO, KC_NO, k32, k33, k34, k35, k36, k37, KC_NO, KC_NO }, \ - { KC_NO, KC_NO, k2a, k1a, k0a, k0b, k1b, k2b, KC_NO, KC_NO } \ + { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ + { ___, ___, k32, k33, k34, k35, k36, k37, ___, ___ }, \ + { ___, ___, k2a, k1a, k0a, k0b, k1b, k2b, ___, ___ } \ } -#define LAYOUT_split_3x6_3 LAYOUT +#define LAYOUT_split_3x5_3( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19,\ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29,\ + k32, k33, k34, k35, k36, k37 \ +) \ + { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09 }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19 }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29 }, \ + { ___, ___, k32, k33, k34, k35, k36, k37, ___, ___ }, \ + { ___, ___, ___, ___, ___, ___, ___, ___, ___, ___ } \ + } + +#define LAYOUT LAYOUT_split_3x6_3 diff --git a/keyboards/centromere/info.json b/keyboards/centromere/info.json index aa9bcdce1..8fb421313 100644 --- a/keyboards/centromere/info.json +++ b/keyboards/centromere/info.json @@ -5,7 +5,7 @@ "width": 14, "height": 4, "layouts": { - "LAYOUT": { + "LAYOUT_split_3x6_3": { "layout": [ {"label":"Tab", "x":0, "y":0.25}, {"label":"Q", "x":1, "y":0.25}, @@ -50,6 +50,46 @@ {"label":"MO(_NUM)", "x":8.5, "y":3.25}, {"label":"RAlt", "x":9.5, "y":3.125} ] + }, + "LAYOUT_split_3x5_3": { + "layout": [ + {"label":"Q", "x":0, "y":0.25}, + {"label":"W", "x":1, "y":0.125}, + {"label":"E", "x":2, "y":0}, + {"label":"R", "x":3, "y":0.125}, + {"label":"T", "x":4, "y":0.25}, + {"label":"Y", "x":7, "y":0.25}, + {"label":"U", "x":8, "y":0.125}, + {"label":"I", "x":9, "y":0}, + {"label":"O", "x":10, "y":0.125}, + {"label":"P", "x":11, "y":0.25}, + {"label":"A", "x":0, "y":1.25}, + {"label":"S", "x":1, "y":1.125}, + {"label":"D", "x":2, "y":1}, + {"label":"F", "x":3, "y":1.125}, + {"label":"G", "x":4, "y":1.25}, + {"label":"H", "x":7, "y":1.25}, + {"label":"J", "x":8, "y":1.125}, + {"label":"K", "x":9, "y":1}, + {"label":"L", "x":10, "y":1.125}, + {"label":";", "x":11, "y":1.25}, + {"label":"Z", "x":0, "y":2.25}, + {"label":"X", "x":1, "y":2.125}, + {"label":"C", "x":2, "y":2}, + {"label":"V", "x":3, "y":2.125}, + {"label":"B", "x":4, "y":2.25}, + {"label":"N", "x":7, "y":2.25}, + {"label":"M", "x":8, "y":2.125}, + {"label":",", "x":9, "y":2}, + {"label":".", "x":10, "y":2.125}, + {"label":"/", "x":11, "y":2.25}, + {"label":"LGUI", "x":2.5, "y":3.125}, + {"label":"MO(_FN)", "x":3.5, "y":3.25}, + {"label":"Space", "x":4.5, "y":3.375}, + {"label":"Space", "x":6.5, "y":3.375}, + {"label":"MO(_NUM)", "x":7.5, "y":3.25}, + {"label":"RAlt", "x":8.5, "y":3.125} + ] } } } diff --git a/keyboards/centromere/keymaps/default/keymap.c b/keyboards/centromere/keymaps/default/keymap.c index ca235f61f..6c830ec2c 100644 --- a/keyboards/centromere/keymaps/default/keymap.c +++ b/keyboards/centromere/keymaps/default/keymap.c @@ -10,7 +10,7 @@ enum centromere_layers const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_STD] = LAYOUT( \ + [_STD] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -24,7 +24,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [_NUM] = LAYOUT( \ + [_NUM] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -36,7 +36,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_FN] = LAYOUT( \ + [_FN] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/centromere/keymaps/default_u2/keymap.c b/keyboards/centromere/keymaps/default_u2/keymap.c index c704adc58..3a3707a47 100644 --- a/keyboards/centromere/keymaps/default_u2/keymap.c +++ b/keyboards/centromere/keymaps/default_u2/keymap.c @@ -9,7 +9,7 @@ enum centromere_layers const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { - [_STD] = LAYOUT( \ + [_STD] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -23,7 +23,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { ), - [_NUM] = LAYOUT( \ + [_NUM] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| @@ -35,7 +35,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { //`--------------------------' `--------------------------' ), - [_FN] = LAYOUT( \ + [_FN] = LAYOUT_split_3x6_3( \ //,-----------------------------------------------------. ,-----------------------------------------------------. KC_ESC, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC,\ //|--------+--------+--------+--------+--------+--------| |--------+--------+--------+--------+--------+--------| diff --git a/keyboards/centromere/keymaps/mini/keymap.c b/keyboards/centromere/keymaps/mini/keymap.c index 3d6de56f2..4241e28a3 100644 --- a/keyboards/centromere/keymaps/mini/keymap.c +++ b/keyboards/centromere/keymaps/mini/keymap.c @@ -38,10 +38,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | * `------' `------' */ -[_QWERTY] = LAYOUT( - KC_NO, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_NO, - KC_NO, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_NO, - KC_NO, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_NO, +[_QWERTY] = LAYOUT_split_3x5_3( + KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, + KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, + KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LCTL, LOWER, KC_SPC, KC_BSPC, RAISE, OSM(MOD_LSFT) ), @@ -60,10 +60,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | * `------' `------' */ -[_RAISE] = LAYOUT( - KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_NO, - KC_NO, KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_NO, - KC_NO, KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, _______, _______, _______, _______, KC_BSLS, KC_QUOT, KC_NO, +[_RAISE] = LAYOUT_split_3x5_3( + KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, + KC_TAB, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, + KC_LCTL, KC_GRV, KC_LGUI, KC_LALT, _______, _______, _______, _______, KC_BSLS, KC_QUOT, _______, _______, _______, _______, _______, _______ ), @@ -82,10 +82,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | * `------' `------' */ -[_LOWER] = LAYOUT( - KC_NO, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_NO, - KC_NO, KC_ESC, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_NO, - KC_NO, KC_CAPS, KC_TILD, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, KC_NO, +[_LOWER] = LAYOUT_split_3x5_3( + KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, + KC_ESC, _______, _______, _______, _______, _______, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, + KC_CAPS, KC_TILD, _______, _______, _______, _______, _______, _______, KC_PIPE, KC_DQT, _______, _______, _______, KC_ENT, _______, KC_DEL ), @@ -104,10 +104,10 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { * | | | | * `------' `------' */ -[_ADJUST] = LAYOUT( - KC_NO, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_NO, - KC_NO, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL, KC_NO, - KC_NO, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_NO, +[_ADJUST] = LAYOUT_split_3x5_3( + KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, + KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, TSKMGR, CALTDEL, + RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ ) }; diff --git a/keyboards/centromere/rules.mk b/keyboards/centromere/rules.mk index 866c33138..f08f6e6eb 100644 --- a/keyboards/centromere/rules.mk +++ b/keyboards/centromere/rules.mk @@ -41,4 +41,4 @@ OPT_DEFS += -DCENTROMERE_PROMICRO # # project specific files SRC = matrix.c -LAYOUTS = split_3x6_3 +LAYOUTS = split_3x5_3 split_3x6_3 -- cgit v1.2.3