~ruther/qmk_firmware

91efcfb43a6ec2d6f79c3d1386ba8379ed4e3041 — Danilo de Klerk 5 years ago 24f59c2
Add layouts for split 3x5 and 3x6 keyboards (#9562)

Co-authored-by: Ryan <fauxpark@gmail.com>
A layouts/default/split_3x5_3/default_split_3x5_3/keymap.c => layouts/default/split_3x5_3/default_split_3x5_3/keymap.c +24 -0
@@ 0,0 1,24 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /*
      * ┌───┬───┬───┬───┬───┐       ┌───┬───┬───┬───┬───┐
      * │ Q │ W │ E │ R │ T │       │ Y │ U │ I │ O │ P │
      * ├───┼───┼───┼───┼───┤       ├───┼───┼───┼───┼───┤
      * │ A │ S │ D │ F │ G │       │ H │ J │ K │ L │ ; │
      * ├───┼───┼───┼───┼───┤       ├───┼───┼───┼───┼───┤
      * │ Z │ X │ C │ V │ B │       │ N │ M │ , │ . │ / │
      * └───┴───┴───┴───┴───┘       └───┴───┴───┴───┴───┘
      *           ┌───┐                   ┌───┐
      *           │GUI├───┐           ┌───┤Alt│
      *           └───┤Bsp├───┐   ┌───┤Ent├───┘
      *               └───┤   │   │   ├───┘
      *                   └───┘   └───┘
      */
    [0] = 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_LGUI, KC_BSPC, KC_SPC,           KC_SPC,  KC_ENT,  KC_RALT
    )
};

A layouts/default/split_3x5_3/info.json => layouts/default/split_3x5_3/info.json +56 -0
@@ 0,0 1,56 @@
{
    "keyboard_name": "3x5+3 split layout",
    "url": "",
    "maintainer": "qmk",
    "width": 12,
    "height": 4.75,
    "layouts": {
        "LAYOUT_split_3x5_3": {
            "layout": [
                {"x":0, "y":0.25},
                {"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.25},

                {"x":0, "y":1.25},
                {"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.25},

                {"x":0, "y":2.25},
                {"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.25},

                {"x":2.5, "y":3.25},
                {"x":3.5, "y":3.5},
                {"x":4.5, "y":3.75},

                {"x":6.5, "y":3.75},
                {"x":7.5, "y":3.5},
                {"x":8.5, "y":3.25}
            ]
        }
    }
}

A layouts/default/split_3x5_3/layout.json => layouts/default/split_3x5_3/layout.json +12 -0
@@ 0,0 1,12 @@
[{x:2,a:7},"",{x:6},""],
[{y:-0.875,x:1},"",{x:1},"",{x:4},"",{x:1},""],
[{y:-0.875},"",{x:3},"",{x:2},"",{x:3},""],
[{y:-0.25,x:2},"",{x:6},""],
[{y:-0.875,x:1},"",{x:1},"",{x:4},"",{x:1},""],
[{y:-0.875},"",{x:3},"",{x:2},"",{x:3},""],
[{y:-0.25,x:2},"",{x:6},""],
[{y:-0.875,x:1},"",{x:1},"",{x:4},"",{x:1},""],
[{y:-0.875},"",{x:3},"",{x:2},"",{x:3},""],
[{x:2.5},"",{x:5},""],
[{y:-0.75,x:3.5},"",{x:3},""],
[{y:-0.75,x:4.5},"",{x:1},""]

A layouts/default/split_3x5_3/readme.md => layouts/default/split_3x5_3/readme.md +5 -0
@@ 0,0 1,5 @@
# split_3x5_3

    LAYOUT_split_3x5_3

Layout for split keyboards with 3x5 keys and three thumb keys per hand. Examples include the Minidox, Centromere Mini, and Gergoplex.

A layouts/default/split_3x6_3/default_split_3x6_3/keymap.c => layouts/default/split_3x6_3/default_split_3x6_3/keymap.c +24 -0
@@ 0,0 1,24 @@
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
     /*
      * ┌───┬───┬───┬───┬───┬───┐       ┌───┬───┬───┬───┬───┬───┐
      * │Tab│ Q │ W │ E │ R │ T │       │ Y │ U │ I │ O │ P │Bsp│
      * ├───┼───┼───┼───┼───┼───┤       ├───┼───┼───┼───┼───┼───┤
      * │Ctl│ A │ S │ D │ F │ G │       │ H │ J │ K │ L │ ; │ ' │
      * ├───┼───┼───┼───┼───┼───┤       ├───┼───┼───┼───┼───┼───┤
      * │Sft│ Z │ X │ C │ V │ B │       │ N │ M │ , │ . │ / │Sft│
      * └───┴───┴───┴───┴───┴───┘       └───┴───┴───┴───┴───┴───┘
      *               ┌───┐                   ┌───┐
      *               │GUI├───┐           ┌───┤Alt│
      *               └───┤Bsp├───┐   ┌───┤Ent├───┘
      *                   └───┤   │   │   ├───┘
      *                       └───┘   └───┘
      */
    [0] = 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,
        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_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT,
                                            KC_LGUI, KC_BSPC, KC_SPC,           KC_SPC,  KC_ENT,  KC_RALT
    )
};

A layouts/default/split_3x6_3/info.json => layouts/default/split_3x6_3/info.json +62 -0
@@ 0,0 1,62 @@
{
    "keyboard_name": "3x6+3 split layout",
    "url": "",
    "maintainer": "qmk",
    "width": 14,
    "height": 4.75,
    "layouts": {
        "LAYOUT_split_3x6_3": {
            "layout": [
                {"x":0, "y":0.25},
                {"x":1, "y":0.25},
                {"x":2, "y":0.125},
                {"x":3, "y":0},
                {"x":4, "y":0.125},
                {"x":5, "y":0.25},

                {"x":8, "y":0.25},
                {"x":9, "y":0.125},
                {"x":10, "y":0},
                {"x":11, "y":0.125},
                {"x":12, "y":0.25},
                {"x":13, "y":0.25},

                {"x":0, "y":1.25},
                {"x":1, "y":1.25},
                {"x":2, "y":1.125},
                {"x":3, "y":1},
                {"x":4, "y":1.125},
                {"x":5, "y":1.25},

                {"x":8, "y":1.25},
                {"x":9, "y":1.125},
                {"x":10, "y":1},
                {"x":11, "y":1.125},
                {"x":12, "y":1.25},
                {"x":13, "y":1.25},

                {"x":0, "y":2.25},
                {"x":1, "y":2.25},
                {"x":2, "y":2.125},
                {"x":3, "y":2},
                {"x":4, "y":2.125},
                {"x":5, "y":2.25},

                {"x":8, "y":2.25},
                {"x":9, "y":2.125},
                {"x":10, "y":2},
                {"x":11, "y":2.125},
                {"x":12, "y":2.25},
                {"x":13, "y":2.25},

                {"x":3.5, "y":3.25},
                {"x":4.5, "y":3.5},
                {"x":5.5, "y":3.75},

                {"x":7.5, "y":3.75},
                {"x":8.5, "y":3.5},
                {"x":9.5, "y":3.25}
            ]
        }
    }
}

A layouts/default/split_3x6_3/layout.json => layouts/default/split_3x6_3/layout.json +12 -0
@@ 0,0 1,12 @@
[{x:3,a:7},"",{x:6},""],
[{y:-0.875,x:2},"",{x:1},"",{x:4},"",{x:1},""],
[{y:-0.875},"","",{x:3},"",{x:2},"",{x:3},"",""],
[{y:-0.25,x:3},"",{x:6},""],
[{y:-0.875,x:2},"",{x:1},"",{x:4},"",{x:1},""],
[{y:-0.875},"","",{x:3},"",{x:2},"",{x:3},"",""],
[{y:-0.25,x:3},"",{x:6},""],
[{y:-0.875,x:2},"",{x:1},"",{x:4},"",{x:1},""],
[{y:-0.875},"","",{x:3},"",{x:2},"",{x:3},"",""],
[{x:3.5},"",{x:5},""],
[{y:-0.75,x:4.5},"",{x:3},""],
[{y:-0.75,x:5.5},"",{x:1},""]

A layouts/default/split_3x6_3/readme.md => layouts/default/split_3x6_3/readme.md +5 -0
@@ 0,0 1,5 @@
# split_3x6_3

    LAYOUT_split_3x6_3

Layout for split keyboards with 3x6 keys and three thumb keys per hand. Examples include the Crkbd and Centromere.