From 91efcfb43a6ec2d6f79c3d1386ba8379ed4e3041 Mon Sep 17 00:00:00 2001 From: Danilo de Klerk Date: Tue, 30 Jun 2020 19:14:42 +0200 Subject: [PATCH] Add layouts for split 3x5 and 3x6 keyboards (#9562) Co-authored-by: Ryan --- .../split_3x5_3/default_split_3x5_3/keymap.c | 24 +++++++ layouts/default/split_3x5_3/info.json | 56 +++++++++++++++++ layouts/default/split_3x5_3/layout.json | 12 ++++ layouts/default/split_3x5_3/readme.md | 5 ++ .../split_3x6_3/default_split_3x6_3/keymap.c | 24 +++++++ layouts/default/split_3x6_3/info.json | 62 +++++++++++++++++++ layouts/default/split_3x6_3/layout.json | 12 ++++ layouts/default/split_3x6_3/readme.md | 5 ++ 8 files changed, 200 insertions(+) create mode 100644 layouts/default/split_3x5_3/default_split_3x5_3/keymap.c create mode 100644 layouts/default/split_3x5_3/info.json create mode 100644 layouts/default/split_3x5_3/layout.json create mode 100644 layouts/default/split_3x5_3/readme.md create mode 100644 layouts/default/split_3x6_3/default_split_3x6_3/keymap.c create mode 100644 layouts/default/split_3x6_3/info.json create mode 100644 layouts/default/split_3x6_3/layout.json create mode 100644 layouts/default/split_3x6_3/readme.md diff --git a/layouts/default/split_3x5_3/default_split_3x5_3/keymap.c b/layouts/default/split_3x5_3/default_split_3x5_3/keymap.c new file mode 100644 index 0000000000..8dca359be9 --- /dev/null +++ b/layouts/default/split_3x5_3/default_split_3x5_3/keymap.c @@ -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 + ) +}; diff --git a/layouts/default/split_3x5_3/info.json b/layouts/default/split_3x5_3/info.json new file mode 100644 index 0000000000..87e5c170d1 --- /dev/null +++ b/layouts/default/split_3x5_3/info.json @@ -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} + ] + } + } +} diff --git a/layouts/default/split_3x5_3/layout.json b/layouts/default/split_3x5_3/layout.json new file mode 100644 index 0000000000..42bf03fd7a --- /dev/null +++ b/layouts/default/split_3x5_3/layout.json @@ -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},""] diff --git a/layouts/default/split_3x5_3/readme.md b/layouts/default/split_3x5_3/readme.md new file mode 100644 index 0000000000..dd73c69867 --- /dev/null +++ b/layouts/default/split_3x5_3/readme.md @@ -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. diff --git a/layouts/default/split_3x6_3/default_split_3x6_3/keymap.c b/layouts/default/split_3x6_3/default_split_3x6_3/keymap.c new file mode 100644 index 0000000000..f014d88eb3 --- /dev/null +++ b/layouts/default/split_3x6_3/default_split_3x6_3/keymap.c @@ -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 + ) +}; diff --git a/layouts/default/split_3x6_3/info.json b/layouts/default/split_3x6_3/info.json new file mode 100644 index 0000000000..b1ca28168b --- /dev/null +++ b/layouts/default/split_3x6_3/info.json @@ -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} + ] + } + } +} diff --git a/layouts/default/split_3x6_3/layout.json b/layouts/default/split_3x6_3/layout.json new file mode 100644 index 0000000000..c1256eed98 --- /dev/null +++ b/layouts/default/split_3x6_3/layout.json @@ -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},""] diff --git a/layouts/default/split_3x6_3/readme.md b/layouts/default/split_3x6_3/readme.md new file mode 100644 index 0000000000..07d302da8d --- /dev/null +++ b/layouts/default/split_3x6_3/readme.md @@ -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.