~ruther/qmk_firmware

c8b721d7c6cf683473bcf3d0af6ec561471b1dcc — Danilo de Klerk 5 years ago 60d8d86
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
M keyboards/centromere/centromere.h => keyboards/centromere/centromere.h +24 -8
@@ 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

M keyboards/centromere/info.json => keyboards/centromere/info.json +41 -1
@@ 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}
            ]
        }
    }
}

M keyboards/centromere/keymaps/default/keymap.c => keyboards/centromere/keymaps/default/keymap.c +3 -3
@@ 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,\
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|

M keyboards/centromere/keymaps/default_u2/keymap.c => keyboards/centromere/keymaps/default_u2/keymap.c +3 -3
@@ 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,\
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|

M keyboards/centromere/keymaps/mini/keymap.c => keyboards/centromere/keymaps/mini/keymap.c +16 -16
@@ 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,   _______, _______, _______, _______,      _______, _______, _______, _______,  _______,
                    _______, _______, _______,      _______,  _______, _______
)
};

M keyboards/centromere/rules.mk => keyboards/centromere/rules.mk +1 -1
@@ 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

M keyboards/crkbd/info.json => keyboards/crkbd/info.json +48 -1
@@ 5,7 5,7 @@
  "width": 15,
  "height": 4.7,
  "layouts": {
    "LAYOUT": {
    "LAYOUT_split_3x6_3": {
      "layout": [
        {"label":"Esc", "x":0, "y":0.3},
        {"label":"Q", "x":1, "y":0.3},


@@ 57,6 57,53 @@
        {"label":"Raise", "x":9, "y":3.7},
        {"label":"Alt / KC_HAEN", "x":10, "y":3.7}
      ]
    },
    "LAYOUT_split_3x5_3": {
      "layout": [
        {"label":"Q", "x":0, "y":0.3},
        {"label":"W", "x":1, "y":0.1},
        {"label":"E", "x":2, "y":0},
        {"label":"R", "x":3, "y":0.1},
        {"label":"T", "x":4, "y":0.2},

        {"label":"Y", "x":8, "y":0.2},
        {"label":"U", "x":9, "y":0.1},
        {"label":"I", "x":10, "y":0},
        {"label":"O", "x":11, "y":0.1},
        {"label":"P", "x":12, "y":0.3},

        {"label":"A", "x":0, "y":1.3},
        {"label":"S", "x":1, "y":1.1},
        {"label":"D", "x":2, "y":1},
        {"label":"F", "x":3, "y":1.1},
        {"label":"G", "x":4, "y":1.2},

        {"label":"H", "x":8, "y":1.2},
        {"label":"J", "x":9, "y":1.1},
        {"label":"K", "x":10, "y":1},
        {"label":"L", "x":11, "y":1.1},
        {"label":";", "x":12, "y":1.3},

        {"label":"Z", "x":0, "y":2.3},
        {"label":"X", "x":1, "y":2.1},
        {"label":"C", "x":2, "y":2},
        {"label":"V", "x":3, "y":2.1},
        {"label":"B", "x":4, "y":2.2},

        {"label":"N", "x":8, "y":2.2},
        {"label":"M", "x":9, "y":2.1},
        {"label":",", "x":10, "y":2},
        {"label":".", "x":11, "y":2.1},
        {"label":"/", "x":12, "y":2.3},

        {"label":"GUI / KC_HANJ", "x":3, "y":3.7},
        {"label":"Lower", "x":4, "y":3.7},
        {"label":"Space", "x":5, "y":3.2, "h":1.5},

        {"label":"Enter", "x":7, "y":3.2, "h":1.5},
        {"label":"Raise", "x":8, "y":3.7},
        {"label":"Alt / KC_HAEN", "x":9, "y":3.7}
      ]
    }
  }
}

M keyboards/crkbd/keymaps/default/keymap.c => keyboards/crkbd/keymaps/default/keymap.c +4 -4
@@ 31,7 31,7 @@ enum macro_keycodes {
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [_QWERTY] = LAYOUT( \
  [_QWERTY] = 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,\
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|


@@ 44,7 44,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

  ),

  [_LOWER] = LAYOUT( \
  [_LOWER] = 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,\
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|


@@ 56,7 56,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                      //`--------------------------'  `--------------------------'
    ),

  [_RAISE] = LAYOUT( \
  [_RAISE] = 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,\
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|


@@ 68,7 68,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
                                      //`--------------------------'  `--------------------------'
  ),

  [_ADJUST] = LAYOUT( \
  [_ADJUST] = LAYOUT_split_3x6_3( \
  //,-----------------------------------------------------.                    ,-----------------------------------------------------.
        RESET,  RGBRST, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,                      XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,\
  //|--------+--------+--------+--------+--------+--------|                    |--------+--------+--------+--------+--------+--------|

M keyboards/crkbd/rev1/rev1.h => keyboards/crkbd/rev1/rev1.h +19 -2
@@ 22,7 22,7 @@
#endif

// clang-format off
#define LAYOUT( \
#define LAYOUT_split_3x6_3( \
  L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
  L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \
  L20, L21, L22, L23, L24, L25,           R20, R21, R22, R23, R24, R25, \


@@ 39,6 39,23 @@
    { KC_NO, KC_NO, KC_NO, R32, R31, R30 } \
  }

#define LAYOUT_split_3x5_3( \
  L00, L01, L02, L03, L04,           R00, R01, R02, R03, R04, \
  L10, L11, L12, L13, L14,           R10, R11, R12, R13, R14, \
  L20, L21, L22, L23, L24,           R20, R21, R22, R23, R24, \
                 L30, L31, L32, R30, R31, R32 \
  ) \
  { \
    { KC_NO, L00, L01, L02, L03, L04 }, \
    { KC_NO, L10, L11, L12, L13, L14 }, \
    { KC_NO, L20, L21, L22, L23, L24 }, \
    { KC_NO, KC_NO, KC_NO, L30, L31, L32 }, \
    { KC_NO, R04, R03, R02, R01, R00 }, \
    { KC_NO, R14, R13, R12, R11, R10 }, \
    { KC_NO, R24, R23, R22, R21, R20 }, \
    { KC_NO, KC_NO, KC_NO, R32, R31, R30 } \
  }

#define LAYOUT_kc( \
  L00, L01, L02, L03, L04, L05,           R00, R01, R02, R03, R04, R05, \
  L10, L11, L12, L13, L14, L15,           R10, R11, R12, R13, R14, R15, \


@@ 53,4 70,4 @@
  )
// clang-format on

#define LAYOUT_split_3x6_3 LAYOUT
#define LAYOUT LAYOUT_split_3x6_3

M keyboards/crkbd/rev1/rules.mk => keyboards/crkbd/rev1/rules.mk +1 -1
@@ 2,4 2,4 @@ SRC += 	matrix.c \
		split_util.c \
		split_scomm.c

LAYOUTS = split_3x6_3
LAYOUTS = split_3x5_3 split_3x6_3

M keyboards/miniaxe/info.json => keyboards/miniaxe/info.json +1 -1
@@ 5,7 5,7 @@
    "width": 11,
    "height": 4,
    "layouts": {
        "LAYOUT": {
        "LAYOUT_split_3x5_3": {
            "layout": [{"label":"Q", "x":0, "y":0}, {"label":"W", "x":1, "y":0}, {"label":"E", "x":2, "y":0}, {"label":"R", "x":3, "y":0}, {"label":"T", "x":4, "y":0}, {"label":"Y", "x":6, "y":0}, {"label":"U", "x":7, "y":0}, {"label":"I", "x":8, "y":0}, {"label":"O", "x":9, "y":0}, {"label":"P", "x":10, "y":0}, {"label":"A", "x":0, "y":1}, {"label":"S", "x":1, "y":1}, {"label":"D", "x":2, "y":1}, {"label":"F", "x":3, "y":1}, {"label":"G", "x":4, "y":1}, {"label":"J", "x":6, "y":1}, {"label":"J", "x":7, "y":1}, {"label":"K", "x":8, "y":1}, {"label":"L", "x":9, "y":1}, {"label":";", "x":10, "y":1}, {"label":"Z", "x":0, "y":2}, {"label":"X", "x":1, "y":2}, {"label":"C", "x":2, "y":2}, {"label":"V", "x":3, "y":2}, {"label":"B", "x":4, "y":2}, {"label":"N", "x":6, "y":2}, {"label":"M", "x":7, "y":2}, {"label":",", "x":8, "y":2}, {"label":".", "x":9, "y":2}, {"label":"/", "x":10, "y":2}, {"label":"Cmd", "x":2, "y":3}, {"label":"⇓", "x":3, "y":3}, {"label":"Ctrl", "x":4, "y":3}, {"x":6, "y":3}, {"label":"⇑", "x":7, "y":3}, {"label":"Opt", "x":8, "y":3}]
        }
    }

M keyboards/miniaxe/keymaps/default/keymap.c => keyboards/miniaxe/keymaps/default/keymap.c +4 -4
@@ 42,7 42,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *               | GUI  | LOWER|Ctrl/Esc|          |Spc/Sft| RAISE|Alt/BkSp |
 *               `--------------------'           `--------------------'
 */
[_QWERTY] = LAYOUT( \
[_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, \


@@ 61,7 61,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *               |      | LOWER|      |           |  Esc | RAISE|      |
 *               `--------------------'           `--------------------'
 */
[_RAISE] = LAYOUT( \
[_RAISE] = 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_TAB,  KC_UNDS, KC_PLUS, KC_PIPE, KC_TILD,      KC_COLN, KC_DQUO, KC_GT,   KC_LCBR, KC_RCBR, \
  KC_CAPS, KC_MINS, KC_EQL,  KC_BSLS, KC_GRV,       KC_SCLN, KC_QUOT, KC_LT,   KC_LBRC, KC_RBRC, \


@@ 80,7 80,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *               |      | LOWER|      |           |      | RAISE|      |
 *               `--------------------'           `--------------------'
 */
[_LOWER] = LAYOUT( \
[_LOWER] = 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_ENT, \
  KC_LCTL, KC_GRV,  KC_LGUI, KC_LALT, KC_DEL,      KC_BSPC, KC_PGUP, KC_PGDN, KC_BSLS, KC_QUOT, \


@@ 100,7 100,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *               |      | LOWER|      |           |      | RAISE|      |
 *               `--------------------'           `--------------------'
 */
[_ADJUST] =  LAYOUT( \
[_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,  _______, _______, _______,      _______, _______, _______, _______, _______, \
  RESET,   _______, _______, _______, _______,      KC_MPRV, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, \

M keyboards/miniaxe/miniaxe.h => keyboards/miniaxe/miniaxe.h +3 -1
@@ 30,7 30,7 @@
// readability
#define ___ KC_NO

#define LAYOUT( \
#define LAYOUT_split_3x5_3( \
        L01, L02, L03, L04, L05, R01, R02, R03, R04, R05, \
        L06, L07, L08, L09, L10, R06, R07, R08, R09, R10, \
        L11, L12, L13, L14, L15, R11, R12, R13, R14, R15, \


@@ 48,3 48,5 @@
    }

#endif

#define LAYOUT LAYOUT_split_3x5_3

M keyboards/miniaxe/rules.mk => keyboards/miniaxe/rules.mk +2 -0
@@ 35,3 35,5 @@ HD44780_ENABLE = no 		# Enable support for HD44780 based LCDs
DEBUG_ENABLE = no
CUSTOM_MATRIX = no         # Use custom matrix code
SPLIT_KEYBOARD = yes        # Use shared split_common code

LAYOUTS = split_3x5_3

M keyboards/minidox/keymaps/default/keymap.c => keyboards/minidox/keymaps/default/keymap.c +4 -4
@@ 38,7 38,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                |      |    |      |
 *                                `------'    `------'
 */
[_QWERTY] = LAYOUT( \
[_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, \


@@ 60,7 60,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                |      |    |      |
 *                                `------'    `------'
 */
[_RAISE] = LAYOUT( \
[_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,7 82,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                |      |    |      |
 *                                `------'    `------'
 */
[_LOWER] = LAYOUT( \
[_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, \


@@ 104,7 104,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
 *                                |      |    |      |
 *                                `------'    `------'
 */
[_ADJUST] =  LAYOUT( \
[_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,   _______, _______, _______, _______,      _______, _______, _______, _______,  _______, \

M keyboards/minidox/rev1/info.json => keyboards/minidox/rev1/info.json +1 -1
@@ 5,7 5,7 @@
  "width": 12,
  "height": 5.75,
  "layouts": {
    "LAYOUT": {
    "LAYOUT_split_3x5_3": {
      "key_count": 36,
      "layout": [{"x":0, "y":0.375}, {"x":1, "y":0.125}, {"x":2, "y":0}, {"x":3, "y":0.125}, {"x":4, "y":0.25}, {"x":7, "y":0.25}, {"x":8, "y":0.125}, {"x":9, "y":0}, {"x":10, "y":0.125}, {"x":11, "y":0.375}, {"x":0, "y":1.375}, {"x":1, "y":1.125}, {"x":2, "y":1}, {"x":3, "y":1.125}, {"x":4, "y":1.25}, {"x":7, "y":1.25}, {"x":8, "y":1.125}, {"x":9, "y":1}, {"x":10, "y":1.125}, {"x":11, "y":1.375}, {"x":0, "y":2.375}, {"x":1, "y":2.125}, {"x":2, "y":2}, {"x":3, "y":2.125}, {"x":4, "y":2.25}, {"x":7, "y":2.25}, {"x":8, "y":2.125}, {"x":9, "y":2}, {"x":10, "y":2.125}, {"x":11, "y":2.375}, {"x":2.5, "y":4.75}, {"x":3.5, "y":4.75}, {"x":4.5, "y":3.75, "h":2}, {"x":6.5, "y":3.75, "h":2}, {"x":7.5, "y":4.75}, {"x":8.5, "y":4.75}]
    }

M keyboards/minidox/rev1/rev1.h => keyboards/minidox/rev1/rev1.h +3 -1
@@ 5,7 5,7 @@
// readability
#define ___ KC_NO

#define LAYOUT( \
#define LAYOUT_split_3x5_3( \
  k01, k02, k03, k04, k05,    k45, k44, k43, k42, k41, \
  k11, k12, k13, k14, k15,    k55, k54, k53, k52, k51, \
  k21, k22, k23, k24, k25,    k65, k64, k63, k62, k61, \


@@ 21,3 21,5 @@
    { k61, k62, k63, k64, k65 }, \
    { ___, ___, k73, k74, k75 } \
  }

#define LAYOUT LAYOUT_split_3x5_3

M keyboards/minidox/rev1/rules.mk => keyboards/minidox/rev1/rules.mk +2 -0
@@ 1,1 1,3 @@
BACKLIGHT_ENABLE = no

LAYOUTS = split_3x5_3

M keyboards/suihankey/split/alpha/alpha.h => keyboards/suihankey/split/alpha/alpha.h +2 -1
@@ 25,7 25,7 @@
 * The second converts the arguments into a two-dimensional array which
 * represents the switch matrix.
 */
#define LAYOUT( \
#define LAYOUT_split_3x5_3( \
    L00, L01, L02, L03, L04,            R04, R03, R02, R01, R00, \
    L10, L11, L12, L13, L14,            R14, R13, R12, R11, R10, \
    L20, L21, L22, L23, L24,            R24, R23, R22, R21, R20, \


@@ 42,3 42,4 @@
    { R30, R31, R32  }, \
}

#define LAYOUT LAYOUT_split_3x5_3

M keyboards/suihankey/split/info.json => keyboards/suihankey/split/info.json +1 -1
@@ 5,7 5,7 @@
    "width": 13.2,
    "height": 4.85,
    "layouts": {
        "LAYOUT": {
        "LAYOUT_split_3x5_3": {
            "layout": [
                {"x": 0, "y": 0.375},
                {"x": 1, "y": 0.125},

M keyboards/suihankey/split/keymaps/default/keymap.c => keyboards/suihankey/split/keymaps/default/keymap.c +4 -4
@@ 29,25 29,25 @@ enum layers{
#define KC_SET_CTRL  LT(SETTING,KC_LCTRL)

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [BASE] = LAYOUT( /* Base */
  [BASE] = LAYOUT_split_3x5_3( /* Base */
          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_COMMA, KC_DOT, KC_SLASH,
       KC_SET_CTRL,  KC_NUM_ALT,  KC_CMD_SP,                 KC_CMD_ET,  KC_BSPC,  KC_LSFT
  ),
  [COMMAND] = LAYOUT( /* Base */
  [COMMAND] = LAYOUT_split_3x5_3( /* Base */
          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,
    LCTL(KC_Z),  LCTL(KC_X),  LCTL(KC_C), LCTL(KC_V), LCTL(KC_B),   KC_N,  KC_M,  KC_COMMA, KC_DOT, KC_SLASH,
                   KC_NO,  KC_NO,  KC_NO,                           KC_NO,  KC_NO,  KC_NO
  ),
  [NUMBER] = LAYOUT( /* Base */
  [NUMBER] = LAYOUT_split_3x5_3( /* Base */
          KC_F1,  KC_F2,  KC_F3, KC_F4, KC_F5,                 KC_P7,  KC_P8,  KC_P9, KC_NO, KC_NO,
          KC_F6,  KC_F7,  KC_F8, KC_F9, KC_F10,                KC_P4,  KC_P5,  KC_P6, KC_NO, KC_NO,
          KC_F11, KC_F12, KC_NO, KC_NO, KC_NO,                 KC_P1,  KC_P2,  KC_P3, KC_NO, KC_NO,
                        KC_NO,  KC_NO,  KC_NO,                 KC_P0,  KC_PDOT,  KC_NO
  ),
  [SETTING] = LAYOUT( /* Base */
  [SETTING] = LAYOUT_split_3x5_3( /* Base */
          KC_NO,  KC_NO,  KC_NO, KC_NO, KC_NO,                 KC_NO,  KC_NO,  KC_NO, KC_NO, KC_NO,
          KC_NO,  KC_NO,  KC_NO, KC_NO, KC_NO,                 KC_NO,  KC_NO,  KC_NO, KC_NO, KC_NO,
          KC_NO,  KC_NO,  KC_NO, KC_NO, RGB_MOD,                 KC_NO,  KC_NO,  KC_NO, KC_NO, KC_NO,

M keyboards/suihankey/split/rev1/rev1.h => keyboards/suihankey/split/rev1/rev1.h +3 -1
@@ 25,7 25,7 @@
 * The second converts the arguments into a two-dimensional array which
 * represents the switch matrix.
 */
#define LAYOUT( \
#define LAYOUT_split_3x5_3( \
    L00, L01, L02, L03, L04,            R04, R03, R02, R01, R00, \
    L10, L11, L12, L13, L14,            R14, R13, R12, R11, R10, \
    L20, L21, L22, L23, L24,            R24, R23, R22, R21, R20, \


@@ 43,3 43,5 @@
    { R03, R13, R23, KC_NO }, \
    { R04, R14, R24, KC_NO }, \
}

#define LAYOUT LAYOUT_split_3x5_3

M keyboards/suihankey/split/rev1/rules.mk => keyboards/suihankey/split/rev1/rules.mk +1 -0
@@ 1,1 1,2 @@
RGBLIGHT_ENABLE = yes
LAYOUTS = split_3x5_3