From dccafb64e65bfe2516eba422609750e9c27775e7 Mon Sep 17 00:00:00 2001 From: noroadsleft <18669334+noroadsleft@users.noreply.github.com> Date: Wed, 25 Sep 2019 13:17:29 -0700 Subject: [PATCH] [Keyboard] Subatomic refactor (#3194) * Refactor: matrix * New readme file * Configurator support * change info.json to debug linting * use an enum to manage the layers * readme cleanup file header, docs links * use #pragma once in keyboard header file * use new-style OLKB layout macro naming scheme * fix layout macro references in keymap.c * correct Keyboard Maintainer --- keyboards/subatomic/info.json | 233 +++++++++++++++++ keyboards/subatomic/keymaps/default/keymap.c | 255 ++++++++++--------- keyboards/subatomic/readme.md | 15 ++ keyboards/subatomic/subatomic.h | 89 ++++++- 4 files changed, 462 insertions(+), 130 deletions(-) create mode 100644 keyboards/subatomic/info.json create mode 100644 keyboards/subatomic/readme.md diff --git a/keyboards/subatomic/info.json b/keyboards/subatomic/info.json new file mode 100644 index 000000000..7c09d9600 --- /dev/null +++ b/keyboards/subatomic/info.json @@ -0,0 +1,233 @@ +{ + "keyboard_name": "Subatomic", + "url": "", + "maintainer": "qmk", + "width": 14, + "height": 5, + "layouts": { + "LAYOUT_ortho_5x14": { + "key_count": 70, + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k10", "x":0, "y":1}, + {"label":"k11", "x":1, "y":1}, + {"label":"k12", "x":2, "y":1}, + {"label":"k13", "x":3, "y":1}, + {"label":"k14", "x":4, "y":1}, + {"label":"k15", "x":5, "y":1}, + {"label":"k16", "x":6, "y":1}, + {"label":"k17", "x":7, "y":1}, + {"label":"k18", "x":8, "y":1}, + {"label":"k19", "x":9, "y":1}, + {"label":"k1a", "x":10, "y":1}, + {"label":"k1b", "x":11, "y":1}, + {"label":"k1c", "x":12, "y":1}, + {"label":"k1d", "x":13, "y":1}, + {"label":"k20", "x":0, "y":2}, + {"label":"k21", "x":1, "y":2}, + {"label":"k22", "x":2, "y":2}, + {"label":"k23", "x":3, "y":2}, + {"label":"k24", "x":4, "y":2}, + {"label":"k25", "x":5, "y":2}, + {"label":"k26", "x":6, "y":2}, + {"label":"k27", "x":7, "y":2}, + {"label":"k28", "x":8, "y":2}, + {"label":"k29", "x":9, "y":2}, + {"label":"k2a", "x":10, "y":2}, + {"label":"k2b", "x":11, "y":2}, + {"label":"k2c", "x":12, "y":2}, + {"label":"k2d", "x":13, "y":2}, + {"label":"k30", "x":0, "y":3}, + {"label":"k31", "x":1, "y":3}, + {"label":"k32", "x":2, "y":3}, + {"label":"k33", "x":3, "y":3}, + {"label":"k34", "x":4, "y":3}, + {"label":"k35", "x":5, "y":3}, + {"label":"k36", "x":6, "y":3}, + {"label":"k37", "x":7, "y":3}, + {"label":"k38", "x":8, "y":3}, + {"label":"k39", "x":9, "y":3}, + {"label":"k3a", "x":10, "y":3}, + {"label":"k3b", "x":11, "y":3}, + {"label":"k3c", "x":12, "y":3}, + {"label":"k3d", "x":13, "y":3}, + {"label":"k40", "x":0, "y":4}, + {"label":"k41", "x":1, "y":4}, + {"label":"k42", "x":2, "y":4}, + {"label":"k43", "x":3, "y":4}, + {"label":"k44", "x":4, "y":4}, + {"label":"k45", "x":5, "y":4}, + {"label":"k46", "x":6, "y":4}, + {"label":"k47", "x":7, "y":4}, + {"label":"k48", "x":8, "y":4}, + {"label":"k49", "x":9, "y":4}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k4c", "x":12, "y":4}, + {"label":"k4d", "x":13, "y":4} + ] + }, + + "LAYOUT_ortho_5x14_1x2uC": { + "key_count": 69, + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k10", "x":0, "y":1}, + {"label":"k11", "x":1, "y":1}, + {"label":"k12", "x":2, "y":1}, + {"label":"k13", "x":3, "y":1}, + {"label":"k14", "x":4, "y":1}, + {"label":"k15", "x":5, "y":1}, + {"label":"k16", "x":6, "y":1}, + {"label":"k17", "x":7, "y":1}, + {"label":"k18", "x":8, "y":1}, + {"label":"k19", "x":9, "y":1}, + {"label":"k1a", "x":10, "y":1}, + {"label":"k1b", "x":11, "y":1}, + {"label":"k1c", "x":12, "y":1}, + {"label":"k1d", "x":13, "y":1}, + {"label":"k20", "x":0, "y":2}, + {"label":"k21", "x":1, "y":2}, + {"label":"k22", "x":2, "y":2}, + {"label":"k23", "x":3, "y":2}, + {"label":"k24", "x":4, "y":2}, + {"label":"k25", "x":5, "y":2}, + {"label":"k26", "x":6, "y":2}, + {"label":"k27", "x":7, "y":2}, + {"label":"k28", "x":8, "y":2}, + {"label":"k29", "x":9, "y":2}, + {"label":"k2a", "x":10, "y":2}, + {"label":"k2b", "x":11, "y":2}, + {"label":"k2c", "x":12, "y":2}, + {"label":"k2d", "x":13, "y":2}, + {"label":"k30", "x":0, "y":3}, + {"label":"k31", "x":1, "y":3}, + {"label":"k32", "x":2, "y":3}, + {"label":"k33", "x":3, "y":3}, + {"label":"k34", "x":4, "y":3}, + {"label":"k35", "x":5, "y":3}, + {"label":"k36", "x":6, "y":3}, + {"label":"k37", "x":7, "y":3}, + {"label":"k38", "x":8, "y":3}, + {"label":"k39", "x":9, "y":3}, + {"label":"k3a", "x":10, "y":3}, + {"label":"k3b", "x":11, "y":3}, + {"label":"k3c", "x":12, "y":3}, + {"label":"k3d", "x":13, "y":3}, + {"label":"k40", "x":0, "y":4}, + {"label":"k41", "x":1, "y":4}, + {"label":"k42", "x":2, "y":4}, + {"label":"k43", "x":3, "y":4}, + {"label":"k44", "x":4, "y":4}, + {"label":"k45", "x":5, "y":4}, + {"label":"k46", "x":6, "y":4, "w":2}, + {"label":"k48", "x":8, "y":4}, + {"label":"k49", "x":9, "y":4}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k4c", "x":12, "y":4}, + {"label":"k4d", "x":13, "y":4} + ] + }, + + "LAYOUT_ortho_5x14_2x2u": { + "key_count": 68, + "layout": [ + {"label":"k00", "x":0, "y":0}, + {"label":"k01", "x":1, "y":0}, + {"label":"k02", "x":2, "y":0}, + {"label":"k03", "x":3, "y":0}, + {"label":"k04", "x":4, "y":0}, + {"label":"k05", "x":5, "y":0}, + {"label":"k06", "x":6, "y":0}, + {"label":"k07", "x":7, "y":0}, + {"label":"k08", "x":8, "y":0}, + {"label":"k09", "x":9, "y":0}, + {"label":"k0a", "x":10, "y":0}, + {"label":"k0b", "x":11, "y":0}, + {"label":"k0c", "x":12, "y":0}, + {"label":"k0d", "x":13, "y":0}, + {"label":"k10", "x":0, "y":1}, + {"label":"k11", "x":1, "y":1}, + {"label":"k12", "x":2, "y":1}, + {"label":"k13", "x":3, "y":1}, + {"label":"k14", "x":4, "y":1}, + {"label":"k15", "x":5, "y":1}, + {"label":"k16", "x":6, "y":1}, + {"label":"k17", "x":7, "y":1}, + {"label":"k18", "x":8, "y":1}, + {"label":"k19", "x":9, "y":1}, + {"label":"k1a", "x":10, "y":1}, + {"label":"k1b", "x":11, "y":1}, + {"label":"k1c", "x":12, "y":1}, + {"label":"k1d", "x":13, "y":1}, + {"label":"k20", "x":0, "y":2}, + {"label":"k21", "x":1, "y":2}, + {"label":"k22", "x":2, "y":2}, + {"label":"k23", "x":3, "y":2}, + {"label":"k24", "x":4, "y":2}, + {"label":"k25", "x":5, "y":2}, + {"label":"k26", "x":6, "y":2}, + {"label":"k27", "x":7, "y":2}, + {"label":"k28", "x":8, "y":2}, + {"label":"k29", "x":9, "y":2}, + {"label":"k2a", "x":10, "y":2}, + {"label":"k2b", "x":11, "y":2}, + {"label":"k2c", "x":12, "y":2}, + {"label":"k2d", "x":13, "y":2}, + {"label":"k30", "x":0, "y":3}, + {"label":"k31", "x":1, "y":3}, + {"label":"k32", "x":2, "y":3}, + {"label":"k33", "x":3, "y":3}, + {"label":"k34", "x":4, "y":3}, + {"label":"k35", "x":5, "y":3}, + {"label":"k36", "x":6, "y":3}, + {"label":"k37", "x":7, "y":3}, + {"label":"k38", "x":8, "y":3}, + {"label":"k39", "x":9, "y":3}, + {"label":"k3a", "x":10, "y":3}, + {"label":"k3b", "x":11, "y":3}, + {"label":"k3c", "x":12, "y":3}, + {"label":"k3d", "x":13, "y":3}, + {"label":"k40", "x":0, "y":4}, + {"label":"k41", "x":1, "y":4}, + {"label":"k42", "x":2, "y":4}, + {"label":"k43", "x":3, "y":4}, + {"label":"k44", "x":4, "y":4}, + {"label":"k45", "x":5, "y":4, "w":2}, + {"label":"k47", "x":7, "y":4, "w":2}, + {"label":"k49", "x":9, "y":4}, + {"label":"k4a", "x":10, "y":4}, + {"label":"k4b", "x":11, "y":4}, + {"label":"k4c", "x":12, "y":4}, + {"label":"k4d", "x":13, "y":4} + ] + } + } +} diff --git a/keyboards/subatomic/keymaps/default/keymap.c b/keyboards/subatomic/keymaps/default/keymap.c index 8def46961..e0fc52b70 100644 --- a/keyboards/subatomic/keymaps/default/keymap.c +++ b/keyboards/subatomic/keymaps/default/keymap.c @@ -4,12 +4,14 @@ // The underscores don't mean anything - you can have a layer called STUFF or any other name. // Layer names don't all need to be of the same length, obviously, and you can also skip them // entirely and just use numbers. -#define _QWERTY 0 -#define _COLEMAK 1 -#define _DVORAK 2 -#define _LOWER 3 -#define _RAISE 4 -#define _ADJUST 16 +enum layer_names { + _QWERTY, + _COLEMAK, + _DVORAK, + _LOWER, + _RAISE, + _ADJUST, +}; enum subatomic_keycodes { QWERTY = SAFE_RANGE, @@ -22,132 +24,131 @@ enum subatomic_keycodes { const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* Qwerty - * ,-------------------------------------------------------------------------------------------------. - * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | = | Esc | A | S | D | F | G | H | J | K | L | ; | " |Enter | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Pg Up| Shift| Z | X | C | V | B | N | M | , | . | / | Home | End | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ | - * `-------------------------------------------------------------------------------------------------' - */ -[_QWERTY] = { - {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS}, - {KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_TRNS}, - {KC_TRNS, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS}, - {KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_TRNS}, - {KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS} -}, + /* Qwerty + * ,-------------------------------------------------------------------------------------------------. + * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | - | Tab | Q | W | E | R | T | Y | U | I | O | P | [ | ] | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | = | Esc | A | S | D | F | G | H | J | K | L | ; | " |Enter | + * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| + * | Pg Up| Shift| Z | X | C | V | B | N | M | , | . | / | Home | End | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ | + * `-------------------------------------------------------------------------------------------------' + */ + [_QWERTY] = LAYOUT_ortho_5x14_1x2uC( + KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS, + KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_DEL, KC_TRNS, + KC_TRNS, KC_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_TRNS, + KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_TRNS, + KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS + ), -/* Colemak - * ,-------------------------------------------------------------------------------------------------. - * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | - | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | = | Esc | A | R | S | T | D | H | N | E | I | O | " |Enter | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Pg Up| Shift| Z | X | C | V | B | K | M | , | . | / | Home | End | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ | - * `-------------------------------------------------------------------------------------------------' - */ -[_COLEMAK] = { - {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS}, - {KC_TRNS, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_TRNS}, - {KC_TRNS, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_TRNS}, - {KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_TRNS}, - {KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS} -}, + /* Colemak + * ,-------------------------------------------------------------------------------------------------. + * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | - | Tab | Q | W | F | P | G | J | L | U | Y | ; | [ | ] | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | = | Esc | A | R | S | T | D | H | N | E | I | O | " |Enter | + * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| + * | Pg Up| Shift| Z | X | C | V | B | K | M | , | . | / | Home | End | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ | + * `-------------------------------------------------------------------------------------------------' + */ + [_COLEMAK] = LAYOUT_ortho_5x14_1x2uC( + KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS, + KC_TRNS, KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_G, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_DEL, KC_TRNS, + KC_TRNS, KC_ESC, KC_A, KC_R, KC_S, KC_T, KC_D, KC_H, KC_N, KC_E, KC_I, KC_O, KC_QUOT, KC_TRNS, + KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_K, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_ENT, KC_TRNS, + KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS + ), -/* Dvorak - * ,-------------------------------------------------------------------------------------------------. - * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | [ | Tab | " | , | . | P | Y | F | G | C | R | L | / | = | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | ] | Esc | A | O | E | U | I | D | H | T | N | S | - |Enter | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | Pg Up| Shift| ; | Q | J | K | X | B | M | W | V | Z | Home | End | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ | - * `-------------------------------------------------------------------------------------------------' - */ -[_DVORAK] = { - {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS}, - {KC_TRNS, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, KC_TRNS}, - {KC_TRNS, KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_TRNS}, - {KC_TRNS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, KC_TRNS}, - {KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS} -}, + /* Dvorak + * ,-------------------------------------------------------------------------------------------------. + * | Ins | ` | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | Bksp | Del | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | [ | Tab | " | , | . | P | Y | F | G | C | R | L | / | = | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | ] | Esc | A | O | E | U | I | D | H | T | N | S | - |Enter | + * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| + * | Pg Up| Shift| ; | Q | J | K | X | B | M | W | V | Z | Home | End | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | Pg Dn| Brite| Ctrl | Alt | GUI |Lower | Space |Raise | Left | Down | Up | Right| \ | + * `-------------------------------------------------------------------------------------------------' + */ + [_DVORAK] = LAYOUT_ortho_5x14_1x2uC( + KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS, + KC_TRNS, KC_TAB, KC_QUOT, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_DEL, KC_TRNS, + KC_TRNS, KC_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, KC_SLSH, KC_TRNS, + KC_TRNS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_ENT, KC_TRNS, + KC_TRNS, BACKLIT, KC_LCTL, KC_LALT, KC_LGUI, LOWER, KC_SPC, RAISE, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_TRNS + ), -/* Lower - * ,-------------------------------------------------------------------------------------------------. - * | | ~ | F1 | F3 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | _ | Tab | ! | @ | # | $ | % | ^ | & | * | ( | ) | { | } | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | + | Esc | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | Shift| F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | Next | Vol- | Vol+ | Play | | - * `-------------------------------------------------------------------------------------------------' - */ -[_LOWER] = { - {KC_TRNS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TRNS}, - {KC_TRNS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS}, - {KC_TRNS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS}, - {KC_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,KC_TRNS}, - {KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS} -}, + /* Lower + * ,-------------------------------------------------------------------------------------------------. + * | | ~ | F1 | F3 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | _ | Tab | ! | @ | # | $ | % | ^ | & | * | ( | ) | { | } | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | + | Esc | F1 | F2 | F3 | F4 | F5 | F6 | _ | + | { | } | | | + * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| + * | | Shift| F7 | F8 | F9 | F10 | F11 | F12 |ISO ~ |ISO | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | Next | Vol- | Vol+ | Play | | + * `-------------------------------------------------------------------------------------------------' + */ + [_LOWER] = LAYOUT_ortho_5x14_1x2uC( + KC_TRNS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_BSPC, KC_TRNS, + KC_TRNS, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_DEL, KC_TRNS, + KC_TRNS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_UNDS, KC_PLUS, KC_LCBR, KC_RCBR, KC_PIPE, KC_TRNS, + KC_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,S(KC_NUHS),S(KC_NUBS),_______, _______, _______,KC_TRNS, + KC_TRNS, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS + ), -/* Raise - * ,-------------------------------------------------------------------------------------------------. - * | | ~ | F1 | F3 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | _ | Tab | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | { | } | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | + | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | Shift| F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | Next | Vol- | Vol+ | | Play | - * `-------------------------------------------------------------------------------------------------' - */ -[_RAISE] = { - {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS}, - {KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS}, - {KC_TRNS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS}, - {KC_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, KC_TRNS}, - {KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS} -}, - -/* Adjust (Lower + Raise) - * ,-------------------------------------------------------------------------------------------------. - * | | | | | | | | | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | Reset| | | | | | | | | | | | - * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| - * | | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | | - * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| - * | | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | | | - * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| - * | | | | | | | | | | | | | | - * `-------------------------------------------------------------------------------------------------' - */ -[_ADJUST] = { - {KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS}, - {KC_TRNS, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_TRNS}, - {KC_TRNS, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, KC_TRNS}, - {KC_TRNS, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, KC_TRNS}, - {KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS} -} + /* Raise + * ,-------------------------------------------------------------------------------------------------. + * | | ~ | F1 | F3 | F3 | F4 | F5 | F6 | F7 | F8 | F9 | F10 | F11 | F12 | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | _ | Tab | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 | { | } | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | + | Esc | F1 | F2 | F3 | F4 | F5 | F6 | - | = | [ | ] | | | + * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| + * | | Shift| F7 | F8 | F9 | F10 | F11 | F12 |ISO # |ISO / | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | Next | Vol- | Vol+ | | Play | + * `-------------------------------------------------------------------------------------------------' + */ + [_RAISE] = LAYOUT_ortho_5x14_1x2uC( + KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_BSPC, KC_TRNS, + KC_TRNS, KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_DEL, KC_TRNS, + KC_TRNS, KC_DEL, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_MINS, KC_EQL, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS, + KC_TRNS, _______, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_NUHS, KC_NUBS, _______, _______, _______, KC_TRNS, + KC_TRNS, _______, _______, _______, _______, _______, _______, _______, KC_MNXT, KC_VOLD, KC_VOLU, KC_MPLY, KC_TRNS + ), + /* Adjust (Lower + Raise) + * ,-------------------------------------------------------------------------------------------------. + * | | | | | | | | | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | | Reset| | | | | | | | | | | | + * |------+------+------+------+------+------+-------------+------+------+------+------+------+------| + * | | | | |Aud on|AudOff|AGnorm|AGswap|Qwerty|Colemk|Dvorak| | | | + * |------+------+------+------+------+------+------|------+------+------+------+------+------+------| + * | | |Voice-|Voice+|Mus on|MusOff|MidiOn|MidOff| | | | | | | + * |------+------+------+------+------+------+------+------+------+------+------+------+------+------| + * | | | | | | | | | | | | | | + * `-------------------------------------------------------------------------------------------------' + */ + [_ADJUST] = LAYOUT_ortho_5x14_1x2uC( + KC_TRNS, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_TRNS, + KC_TRNS, _______, RESET, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_DEL, KC_TRNS, + KC_TRNS, _______, _______, _______, AU_ON, AU_OFF, AG_NORM, AG_SWAP, QWERTY, COLEMAK, DVORAK, _______, _______, KC_TRNS, + KC_TRNS, _______, MUV_DE, MUV_IN, MU_ON, MU_OFF, MI_ON, MI_OFF, _______, _______, _______, _______, _______, KC_TRNS, + KC_TRNS, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_TRNS + ) }; diff --git a/keyboards/subatomic/readme.md b/keyboards/subatomic/readme.md new file mode 100644 index 000000000..ca065b29a --- /dev/null +++ b/keyboards/subatomic/readme.md @@ -0,0 +1,15 @@ +# Subatomic + +![Subatomic](https://i.imgur.com/EWrY7Bel.png) + +A compact 70% (15x4) ortholinear keyboard kit made and sold by OLKB. [More info on qmk.fm](http://qmk.fm/subatomic/) + +Keyboard Maintainer: [Jack Humbert](https://github.com/jackhumbert) +Hardware Supported: Subatomic PCB +Hardware Availability: TBD + +Make example for this keyboard (after setting up your build environment): + + make subatomic:default + +See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs). diff --git a/keyboards/subatomic/subatomic.h b/keyboards/subatomic/subatomic.h index b23cb8eb1..5fbc599f8 100644 --- a/keyboards/subatomic/subatomic.h +++ b/keyboards/subatomic/subatomic.h @@ -1,6 +1,89 @@ -#ifndef SUBATOMIC_H -#define SUBATOMIC_H +#pragma once #include "quantum.h" -#endif \ No newline at end of file +#define XXX KC_NO + + +/* Subatomic Grid layout + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ • │ │ │ • │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ │ │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ + * └───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┴───┘ + */ +#define LAYOUT_ortho_5x14( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d \ + ) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, k43, k44, k45, k46, k47, k48, k49, k4a, k4b, k4c, k4d } \ +} + + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ • │ │ │ • │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┴───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ + * └───┴───┴───┴───┴───┴───┴───────┴───┴───┴───┴───┴───┴───┘ + */ +#define LAYOUT_ortho_5x14_1x2uC( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k43, k44, k45, k46, k48, k49, k4a, k4b, k4c, k4d \ + ) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, k43, k44, k45, k46, XXX, k48, k49, k4a, k4b, k4c, k4d } \ +} + + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ • │ │ │ • │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│ │ │ │ │ │ │ │ │ │ │▓▓▓│▓▓▓│ + * ├───┼───┼───┼───┼───┼───┴───┼───┴───┼───┼───┼───┼───┼───┤ + * │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ │ │▓▓▓│▓▓▓│▓▓▓│▓▓▓│▓▓▓│ + * └───┴───┴───┴───┴───┴───────┴───────┴───┴───┴───┴───┴───┘ + */ +#define LAYOUT_ortho_5x14_2x2u( \ + k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, \ + k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d, \ + k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d, \ + k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \ + k40, k41, k42, k43, k44, k45, k47, k49, k4a, k4b, k4c, k4d \ + ) { \ + { k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d }, \ + { k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1d }, \ + { k20, k21, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2d }, \ + { k30, k31, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d }, \ + { k40, k41, k42, k43, k44, k45, XXX, k47, XXX, k49, k4a, k4b, k4c, k4d } \ +}