diff options
-rw-r--r-- | keyboards/kyria/keymaps/default/keymap.c | 220 | ||||
-rw-r--r-- | keyboards/kyria/keymaps/default/rules.mk | 3 | ||||
-rw-r--r-- | keyboards/kyria/rev1/rev1.c | 17 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/.noci (renamed from keyboards/kyria/.noci) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/config.h (renamed from keyboards/kyria/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/info.json (renamed from keyboards/kyria/info.json) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/asapjockey/config.h (renamed from keyboards/kyria/keymaps/asapjockey/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c (renamed from keyboards/kyria/keymaps/asapjockey/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk (renamed from keyboards/kyria/keymaps/asapjockey/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/benji/config.h (renamed from keyboards/kyria/keymaps/benji/config.h) | 2 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/benji/glcdfont.c (renamed from keyboards/kyria/keymaps/benji/glcdfont.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/benji/keymap.c (renamed from keyboards/kyria/keymaps/benji/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/benji/readme.md | 246 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/benji/rules.mk (renamed from keyboards/kyria/keymaps/benji/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/cjuniet/config.h (renamed from keyboards/kyria/keymaps/cjuniet/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/cjuniet/default.json (renamed from keyboards/kyria/keymaps/cjuniet/default.json) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c (renamed from keyboards/kyria/keymaps/cjuniet/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk (renamed from keyboards/kyria/keymaps/cjuniet/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/corodiak/config.h (renamed from keyboards/kyria/keymaps/corodiak/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/corodiak/keymap.c (renamed from keyboards/kyria/keymaps/corodiak/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/corodiak/rules.mk (renamed from keyboards/kyria/keymaps/corodiak/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/cwebster2/config.h (renamed from keyboards/kyria/keymaps/cwebster2/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c (renamed from keyboards/kyria/keymaps/cwebster2/keymap.c) | 8 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk (renamed from keyboards/kyria/keymaps/cwebster2/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/default/config.h (renamed from keyboards/kyria/keymaps/default/config.h) | 17 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/default/keymap.c | 172 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/default/rules.mk (renamed from keyboards/kyria/keymaps/shinze/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/drashna/config.h (renamed from keyboards/kyria/keymaps/drashna/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/drashna/keymap.c (renamed from keyboards/kyria/keymaps/drashna/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/drashna/rules.mk (renamed from keyboards/kyria/keymaps/drashna/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h (renamed from keyboards/kyria/keymaps/ghidalgo93/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c (renamed from keyboards/kyria/keymaps/ghidalgo93/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk (renamed from keyboards/kyria/keymaps/ghidalgo93/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/README.md (renamed from keyboards/kyria/keymaps/gotham/README.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/config.h (renamed from keyboards/kyria/keymaps/gotham/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c (renamed from keyboards/kyria/keymaps/gotham/encoder_utils.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h (renamed from keyboards/kyria/keymaps/gotham/encoder_utils.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/keycodes.h (renamed from keyboards/kyria/keymaps/gotham/keycodes.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/keymap.c (renamed from keyboards/kyria/keymaps/gotham/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c (renamed from keyboards/kyria/keymaps/gotham/oled_utils.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h (renamed from keyboards/kyria/keymaps/gotham/oled_utils.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/rules.mk (renamed from keyboards/kyria/keymaps/gotham/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c (renamed from keyboards/kyria/keymaps/gotham/thumbstick.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h (renamed from keyboards/kyria/keymaps/gotham/thumbstick.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/j-inc/config.h (renamed from keyboards/kyria/keymaps/j-inc/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/j-inc/keymap.c (renamed from keyboards/kyria/keymaps/j-inc/keymap.c) | 7 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/j-inc/rules.mk (renamed from keyboards/kyria/keymaps/j-inc/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/jhelvy/config.h (renamed from keyboards/kyria/keymaps/jhelvy/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c (renamed from keyboards/kyria/keymaps/jhelvy/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk (renamed from keyboards/kyria/keymaps/jhelvy/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/kejadlen/config.h (renamed from keyboards/kyria/keymaps/kejadlen/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c (renamed from keyboards/kyria/keymaps/kejadlen/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk (renamed from keyboards/kyria/keymaps/kejadlen/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h (renamed from keyboards/kyria/keymaps/manna-harbour_miryoku/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c (renamed from keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir/config.h (renamed from keyboards/kyria/keymaps/mattir/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir/keymap.c (renamed from keyboards/kyria/keymaps/mattir/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir/readme.md (renamed from keyboards/kyria/keymaps/mattir/readme.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir/rules.mk (renamed from keyboards/kyria/keymaps/mattir/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir2/config.h (renamed from keyboards/kyria/keymaps/mattir2/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir2/keymap.c (renamed from keyboards/kyria/keymaps/mattir2/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir2/readme.md (renamed from keyboards/kyria/keymaps/mattir2/readme.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/mattir2/rules.mk (renamed from keyboards/kyria/keymaps/mattir2/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ninjonas/README.md (renamed from keyboards/kyria/keymaps/ninjonas/README.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ninjonas/config.h (renamed from keyboards/kyria/keymaps/ninjonas/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c (renamed from keyboards/kyria/keymaps/ninjonas/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ninjonas/oled.c (renamed from keyboards/kyria/keymaps/ninjonas/oled.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk (renamed from keyboards/kyria/keymaps/ninjonas/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/pierrec83/config.h (renamed from keyboards/kyria/keymaps/pierrec83/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c (renamed from keyboards/kyria/keymaps/pierrec83/encoders.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c (renamed from keyboards/kyria/keymaps/pierrec83/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json (renamed from keyboards/kyria/keymaps/pierrec83/keymap.json) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/pierrec83/layers.h (renamed from keyboards/kyria/keymaps/pierrec83/layers.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/pierrec83/readme.md (renamed from keyboards/kyria/keymaps/pierrec83/readme.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk (renamed from keyboards/kyria/keymaps/pierrec83/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/plattfot/README.md (renamed from keyboards/kyria/keymaps/plattfot/README.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/plattfot/config.h (renamed from keyboards/kyria/keymaps/plattfot/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/plattfot/keymap.c (renamed from keyboards/kyria/keymaps/plattfot/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/plattfot/rules.mk (renamed from keyboards/kyria/keymaps/plattfot/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/rmw/config.h (renamed from keyboards/kyria/keymaps/rmw/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/rmw/keymap.c (renamed from keyboards/kyria/keymaps/rmw/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/rmw/readme.md (renamed from keyboards/kyria/keymaps/rmw/readme.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/rmw/rules.mk (renamed from keyboards/kyria/keymaps/rmw/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/shinze/config.h (renamed from keyboards/kyria/keymaps/shinze/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/shinze/keymap.c (renamed from keyboards/kyria/keymaps/shinze/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/shinze/rules.mk | 3 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/tessachka/config.h (renamed from keyboards/kyria/keymaps/tessachka/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/tessachka/keymap.c (renamed from keyboards/kyria/keymaps/tessachka/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/tessachka/rules.mk (renamed from keyboards/kyria/keymaps/tessachka/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/thomasbaart/config.h (renamed from keyboards/kyria/keymaps/thomasbaart/config.h) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c (renamed from keyboards/kyria/keymaps/thomasbaart/keymap.c) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk (renamed from keyboards/kyria/keymaps/thomasbaart/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/via/config.h | 40 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/via/keymap.c | 248 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/keymaps/via/rules.mk | 9 | ||||
-rwxr-xr-x | keyboards/splitkb/kyria/keymaps/winternebs/config.h (renamed from keyboards/kyria/keymaps/winternebs/config.h) | 2 | ||||
-rwxr-xr-x | keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c (renamed from keyboards/kyria/keymaps/winternebs/glcdfont.c) | 0 | ||||
-rwxr-xr-x | keyboards/splitkb/kyria/keymaps/winternebs/keymap.c (renamed from keyboards/kyria/keymaps/winternebs/keymap.c) | 12 | ||||
-rwxr-xr-x | keyboards/splitkb/kyria/keymaps/winternebs/rules.mk (renamed from keyboards/kyria/keymaps/winternebs/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/kyria.c (renamed from keyboards/kyria/kyria.c) | 1 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/kyria.h (renamed from keyboards/kyria/kyria.h) | 2 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/readme.md (renamed from keyboards/kyria/readme.md) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/config.h (renamed from keyboards/kyria/rev1/config.h) | 44 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/rev1.c | 123 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/rev1.h (renamed from keyboards/kyria/rev1/rev1.h) | 17 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rev1/rules.mk (renamed from keyboards/kyria/rev1/rules.mk) | 0 | ||||
-rw-r--r-- | keyboards/splitkb/kyria/rules.mk (renamed from keyboards/kyria/rules.mk) | 2 | ||||
-rw-r--r-- | keyboards/splitkb/zima/config.h | 41 | ||||
-rw-r--r-- | keyboards/splitkb/zima/keymaps/via/config.h | 20 | ||||
-rw-r--r-- | keyboards/splitkb/zima/keymaps/via/keymap.c | 68 | ||||
-rw-r--r-- | keyboards/splitkb/zima/keymaps/via/rules.mk | 2 |
111 files changed, 1012 insertions, 314 deletions
diff --git a/keyboards/kyria/keymaps/default/keymap.c b/keyboards/kyria/keymaps/default/keymap.c deleted file mode 100644 index c6254c1a52..0000000000 --- a/keyboards/kyria/keymaps/default/keymap.c +++ /dev/null @@ -1,220 +0,0 @@ -/* Copyright 2019 Thomas Baart <thomas@splitkb.com> - * - * This program is free software: you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation, either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program. If not, see <http://www.gnu.org/licenses/>. - */ -#include QMK_KEYBOARD_H - -enum layers { - _QWERTY = 0, - _LOWER, - _RAISE, - _ADJUST -}; - -const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -/* - * Base Layer: QWERTY - * - * ,-------------------------------------------. ,-------------------------------------------. - * |RAIS/ESC| Q | W | E | R | T | | Y | U | I | O | P | | \ | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * |Ctrl/BS | A | S | D | F | G | | H | J | K | L | ; : | ' " | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | LShift | Z | X | C | V | B |LShift|LShift| |LShift|LShift| N | M | , < | . > | / ? | - _ | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | GUI | Del | Enter| Space| Esc | | Enter| Space| Tab | Bksp | AltGr| - * | | | Alt | Lower| Raise| | Lower| Raise| | | | - * `----------------------------------' `----------------------------------' - */ - [_QWERTY] = LAYOUT( - LT(_RAISE, KC_ESC), KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_PIPE, - MT(MOD_LCTL, KC_BSPC), 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_LSFT, KC_LSFT, KC_LSFT, KC_LSFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, - KC_LGUI, KC_DEL, MT(MOD_LALT, KC_ENT), LT(_LOWER, KC_SPC), LT(_RAISE, KC_ESC), LT(_LOWER, KC_ENT), LT(_RAISE, KC_SPC), KC_TAB, KC_BSPC, KC_RALT - ), -/* - * Lower Layer: Symbols - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | ! | @ | { | } | | | | | | | | | | \ | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | # | $ | ( | ) | ` | | + | - | / | * | % | ' " | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | | % | ^ | [ | ] | ~ | | | | | | & | = | , | . | / ? | - _ | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | ; | = | | = | ; | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_LOWER] = LAYOUT( - _______, KC_EXLM, KC_AT, KC_LCBR, KC_RCBR, KC_PIPE, _______, _______, _______, _______, _______, KC_BSLS, - _______, KC_HASH, KC_DLR, KC_LPRN, KC_RPRN, KC_GRV, KC_PLUS, KC_MINS, KC_SLSH, KC_ASTR, KC_PERC, KC_QUOT, - _______, KC_PERC, KC_CIRC, KC_LBRC, KC_RBRC, KC_TILD, _______, _______, _______, _______, KC_AMPR, KC_EQL, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, - _______, _______, _______, KC_SCLN, KC_EQL, KC_EQL, KC_SCLN, _______, _______, _______ - ), -/* - * Raise Layer: Number keys, media, navigation - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | | Prev | Play | Next | VolUp| | Left | Down | Up | Right| | | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | | | | | Mute | VolDn| | | | | | MLeft| Mdown| MUp |MRight| | | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_RAISE] = LAYOUT( - _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, - _______, _______, KC_MPRV, KC_MPLY, KC_MNXT, KC_VOLU, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, _______, _______, - _______, _______, _______, _______, KC_MUTE, KC_VOLD, _______, _______, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -/* - * Adjust Layer: Function keys, RGB - * - * ,-------------------------------------------. ,-------------------------------------------. - * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | | - * |--------+------+------+------+------+------| |------+------+------+------+------+--------| - * | | TOG | SAI | HUI | VAI | MOD | | | | | F11 | F12 | | - * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| - * | | | SAD | HUD | VAD | RMOD | | | | | | | | | | | | - * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' - * | | | | | | | | | | | | - * | | | | | | | | | | | | - * `----------------------------------' `----------------------------------' - */ - [_ADJUST] = LAYOUT( - _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, _______, - _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, KC_F11, KC_F12, _______, - _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD,_______, _______, _______, _______, _______, _______, _______, _______, _______, _______, - _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ - ), -// /* -// * Layer template -// * -// * ,-------------------------------------------. ,-------------------------------------------. -// * | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------| |------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | -// * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| -// * | | | | | | | | | | | | | | | | | | -// * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' -// * | | | | | | | | | | | | -// * | | | | | | | | | | | | -// * `----------------------------------' `----------------------------------' -// */ -// [_LAYERINDEX] = LAYOUT( -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, -// _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ -// ), -}; - -layer_state_t layer_state_set_user(layer_state_t state) { - return update_tri_layer_state(state, _LOWER, _RAISE, _ADJUST); -} - -#ifdef OLED_DRIVER_ENABLE -oled_rotation_t oled_init_user(oled_rotation_t rotation) { - return OLED_ROTATION_180; -} - -static void render_kyria_logo(void) { - static const char PROGMEM kyria_logo[] = { - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0, - 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, - 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 - }; - oled_write_raw_P(kyria_logo, sizeof(kyria_logo)); -} - -static void render_qmk_logo(void) { - static const char PROGMEM qmk_logo[] = { - 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, - 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, - 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; - - oled_write_P(qmk_logo, false); -} - -static void render_status(void) { - // QMK Logo and version information - render_qmk_logo(); - oled_write_P(PSTR("Kyria rev1.0\n\n"), false); - - // Host Keyboard Layer Status - oled_write_P(PSTR("Layer: "), false); - switch (get_highest_layer(layer_state)) { - case _QWERTY: - oled_write_P(PSTR("Default\n"), false); - break; - case _LOWER: - oled_write_P(PSTR("Lower\n"), false); - break; - case _RAISE: - oled_write_P(PSTR("Raise\n"), false); - break; - case _ADJUST: - oled_write_P(PSTR("Adjust\n"), false); - break; - default: - oled_write_P(PSTR("Undefined\n"), false); - } - - // Host Keyboard LED Status - uint8_t led_usb_state = host_keyboard_leds(); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_NUM_LOCK) ? PSTR("NUMLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_CAPS_LOCK) ? PSTR("CAPLCK ") : PSTR(" "), false); - oled_write_P(IS_LED_ON(led_usb_state, USB_LED_SCROLL_LOCK) ? PSTR("SCRLCK ") : PSTR(" "), false); -} - -void oled_task_user(void) { - if (is_keyboard_master()) { - render_status(); // Renders the current keyboard state (layer, lock, caps, scroll, etc) - } else { - render_kyria_logo(); - } -} -#endif - -#ifdef ENCODER_ENABLE -bool encoder_update_user(uint8_t index, bool clockwise) { - if (index == 0) { - // Volume control - if (clockwise) { - tap_code(KC_VOLU); - } else { - tap_code(KC_VOLD); - } - } - else if (index == 1) { - // Page up/Page down - if (clockwise) { - tap_code(KC_PGDN); - } else { - tap_code(KC_PGUP); - } - } - return true; -} -#endif diff --git a/keyboards/kyria/keymaps/default/rules.mk b/keyboards/kyria/keymaps/default/rules.mk deleted file mode 100644 index e3486a8a9f..0000000000 --- a/keyboards/kyria/keymaps/default/rules.mk +++ /dev/null @@ -1,3 +0,0 @@ -OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays -ENCODER_ENABLE = yes # Enables the use of one or more encoders -RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow
\ No newline at end of file diff --git a/keyboards/kyria/rev1/rev1.c b/keyboards/kyria/rev1/rev1.c deleted file mode 100644 index 622ac279bd..0000000000 --- a/keyboards/kyria/rev1/rev1.c +++ /dev/null @@ -1,17 +0,0 @@ -#include "rev1.h" - -#ifdef SWAP_HANDS_ENABLE -__attribute__ ((weak)) - -const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { - {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}}, - {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}}, - {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}}, - {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}}, - {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}}, - {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}}, - {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}}, - {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}} -}; - -#endif diff --git a/keyboards/kyria/.noci b/keyboards/splitkb/kyria/.noci index e69de29bb2..e69de29bb2 100644 --- a/keyboards/kyria/.noci +++ b/keyboards/splitkb/kyria/.noci diff --git a/keyboards/kyria/config.h b/keyboards/splitkb/kyria/config.h index 2e1e190bd7..2e1e190bd7 100644 --- a/keyboards/kyria/config.h +++ b/keyboards/splitkb/kyria/config.h diff --git a/keyboards/kyria/info.json b/keyboards/splitkb/kyria/info.json index a2bfd578ce..a2bfd578ce 100644 --- a/keyboards/kyria/info.json +++ b/keyboards/splitkb/kyria/info.json diff --git a/keyboards/kyria/keymaps/asapjockey/config.h b/keyboards/splitkb/kyria/keymaps/asapjockey/config.h index e878663bfb..e878663bfb 100644 --- a/keyboards/kyria/keymaps/asapjockey/config.h +++ b/keyboards/splitkb/kyria/keymaps/asapjockey/config.h diff --git a/keyboards/kyria/keymaps/asapjockey/keymap.c b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c index 9d0d2955e6..9d0d2955e6 100644 --- a/keyboards/kyria/keymaps/asapjockey/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/asapjockey/keymap.c diff --git a/keyboards/kyria/keymaps/asapjockey/rules.mk b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk index 9b8e294198..9b8e294198 100644 --- a/keyboards/kyria/keymaps/asapjockey/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/asapjockey/rules.mk diff --git a/keyboards/kyria/keymaps/benji/config.h b/keyboards/splitkb/kyria/keymaps/benji/config.h index 442ecc6057..ebbcd1df86 100644 --- a/keyboards/kyria/keymaps/benji/config.h +++ b/keyboards/splitkb/kyria/keymaps/benji/config.h @@ -18,7 +18,7 @@ #ifdef OLED_DRIVER_ENABLE #define OLED_DISPLAY_128X64 - #define OLED_FONT_H "keyboards/kyria/keymaps/benji/glcdfont.c" + #define OLED_FONT_H "keyboards/splitkb/kyria/keymaps/benji/glcdfont.c" #endif #ifdef RGBLIGHT_ENABLE diff --git a/keyboards/kyria/keymaps/benji/glcdfont.c b/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c index bb1cca3384..bb1cca3384 100644 --- a/keyboards/kyria/keymaps/benji/glcdfont.c +++ b/keyboards/splitkb/kyria/keymaps/benji/glcdfont.c diff --git a/keyboards/kyria/keymaps/benji/keymap.c b/keyboards/splitkb/kyria/keymaps/benji/keymap.c index 2e3e2b1cff..2e3e2b1cff 100644 --- a/keyboards/kyria/keymaps/benji/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/benji/keymap.c diff --git a/keyboards/splitkb/kyria/keymaps/benji/readme.md b/keyboards/splitkb/kyria/keymaps/benji/readme.md new file mode 100644 index 0000000000..57ea5e8173 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/benji/readme.md @@ -0,0 +1,246 @@ +# Kyria's Default Keymap + +[insert pretty KLE visualization once the keymap is vetted] + +The default keymap contains 5 layers which allows it to include all keys found on a ISO layout TKL keyboard plus media keys. +Hardware features of the Kyria such as OLEDs, rotary encoders and underglow are also supported. + +The five different layers are the following: +1. Base layer (QWERTY, Colemak-DH or Dvorak) +2. Navigation layer +3. Symbols/Numbers layer +4. Function layer +5. Adjust layer + +## Base layer(s) +``` +Base Layer: - + +,-------------------------------------------. ,-------------------------------------------. +| Tab | - | - | - | - | - | | - | - | - | - | - | Bksp | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +|Ctrl/Esc| - | - | - | - | - | | - | - | - | - | - |Ctrl/ - | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| LShift | - | - | - | - | - | [ { |CapsLk| |F-Keys| ] } | - | - | - | - | - | RShift | +`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + | | | Enter| | | | | | | | | + `----------------------------------' `----------------------------------' +``` +Three different well-known keyboard layouts are provided to fill in the placeholder `-` keys: QWERTY, Colemak-DH, and Dvorak. The default layer can be changed at runtime, more info on that in the section on the [adjust layer](#adjust-layer). + +For the rest of this write-up, the base layer will be assumed to be QWERTY and will be used as a reference to describe physical keys, e.g. “<kbd>B</kbd> key” vs, the much more verbose, “lower inner index key”. + +``` +Base Layer: QWERTY + +,-------------------------------------------. ,-------------------------------------------. +| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | +`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + | | | Enter| | | | | | | | | + `----------------------------------' `----------------------------------' +``` + +Aside from variations in the alpha cluster, the rest of the base keys remain the same and are designed to feel familiar. + +![Step-by-step animation of the transformation of an ortholinear TKL to a Kyria](https://i.imgur.com/uVDCOek.gif) + +<details> +After making transformations to the classic ANSI US QWERTY TKL 60% to arrive to the layout of the Kyria, as illustrated in the animation above, the result looks like this: + +``` +,-------------------------------------------. ,-------------------------------------------. +| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| Cap Lk | A | S | D | F | G | | H | J | K | L | ; : | ' " | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| LShift | Z | X | C | V | B | | | | | | N | M | , < | . > | / ? | RShift | +`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------' + | LCtrl| LGUI | LAlt | Space| | | | Space| AltGr| RGUI | Menu | + | | | | | | | | | | | | + `----------------------------------' '----------------------------------' +``` + +First thing to notice is the presence of blank keys. To fill in the blank keys above the <kbd>Space</kbd> keys, we can take inspiration from other split keyboards featuring an extra inner index column on each half. A common mapping for those kind of keys are the bracket keys that got removed in the fourth step of the animated transformation. The thumb keys besides <kbd>Space</kbd>s is prime real estate for dedicated layer-switching keys. It doesn't matter on which side is assigned the sym-layer-switch key but it helps to keep the nav-layer-switch on the left in order to keep the arrow keys on the right side like on a classic keyboard, so we'll put nav on the left and sym on the right. We'll address the remaining blank thumb keys later. + +The base layer is starting to form but there remains some flaws. One glaring issue is the position of Control. Control is a very commonly used function but the key on which it sits right now is way too tucked in under the hand to be able to press it comfortably with either the thumb or the pinky from resting position. In fact, installing a rotary encoder there is a common move among Kyria users and I guarantee you that activating Control by holding down a rotary encoder does not spark joy. Instead, let's employ a popular trick that involves remapping the current Caps Lock key, which is positioned at a comfortable position on the keyboard, to Control. + +We can go further though; a variant of this trick makes the Control key produce Escape when tapped. This is called a “modtap”. There is no use to tapping Control by itself without chording it with another key and there is no use to holding down the Esc key so why not combine the two into a single key? + +All of this leaves us with three blank keys. + +``` +,-------------------------------------------. ,-------------------------------------------. +| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| LShift | Z | X | C | V | B | [ { | | | | ] } | N | M | , < | . > | / ? | RShift | +`--------+-------------+--------------------+------+------| |------+------+--------------------+------+---------------' + | | LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + | | | | | | | | | | | | + `----------------------------------' '----------------------------------' +``` + +These keys are not easily reachable while touch typing (that is, not reachable without picking up your hand) and should thus be associated with functions that you are not likely to be typed within a stream of text. The idea is that if you have to pick up your hand to hit a key, you want it to be at a time when you are likely to be pausing your interaction with the machine, rather than in the midst of a flurry of typing. They're thus well suited for accessing the adjust layer and the function layer. We can also toss in Caps Lock even though it is an editing-type function that gets used within a stream of text because shouting in ALL-CAPS should be a deliberate action. + +``` +,-------------------------------------------. ,-------------------------------------------. +| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : | ' " | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | +`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + |Adjust| LGUI | LAlt | Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' +``` + +The next glaring issue is the absence of an Enter key on the current base layer this far. Enter is a very frequently used key so it deserves to be placed at a good spot in the keymap. The best way to insert it in the keymap with minimal changes to the current layout is to use modtaps. A tempting solution is to turn the <kbd>RShift</kbd> key into a <kbd>RShift/Enter</kbd> modtap but that can result in chat messages sent too frustratingly early when you're not used to it. Using GUI is also sub-optimal because tapping the GUI modifier actually has a use as opposed to taps of the Control or the Shift key. Pressing and releasing the GUI key by itself opens the App menu in many desktop environments. The natural choice is thus <kbd>LAlt/Enter</kbd>. That way, Enter is 1u away from resting thumb position and is unlikely to get accidentally activated because Alt is very rarely used in the midst of prose. + +Finally, we're one Quality-Of-Life update away from the actual base layer. <kbd>Ctrl/' "</kbd> not only preserves symmetry in the keymap with <kbd>Ctrl/Esc</kbd> but also helps balance the load between your pinkies and invites you to use both hands instead of contortions. Perhaps more importantly, it also frees you from the necessity of picking up your hand, breaking touch typing position and pressing a pinky key with your ring finger in order to execute Ctrl+A or Ctrl+Z. That becomes even more important on a board with such an aggressive pinky columnar stagger like the Kyria. + + +``` +,-------------------------------------------. ,-------------------------------------------. +| Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +|Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | +`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + | | | Enter| | | | | | | | | + `----------------------------------' `----------------------------------' +``` + +</details> + +## Navigation layer + +``` +Nav Layer: Media, navigation + +,-------------------------------------------. ,-------------------------------------------. +| | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | +`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + | | | | | | | | | | | | + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' +``` + +This is where you'll find all the keys that are generally between the main block of a classic keyboard and the numpad in addition to media controls and modifiers on easy access on the home row for fast and comfortable chording with navigation keys. + +Useful mnemonics: +- “GACS” to remember the order of the modifiers on the left-hand home row +- <kbd>Scroll Lock</kbd> is on the same key as <kbd>Caps Lock</kbd> because they're both locks +- <kbd>Delete</kbd> is on the same key as <kbd>Backspace</kbd> because they both erase characters +- <kbd>Home</kbd> is the leftmost position on the current line so it is above <kbd>←</kbd>. Same logic applies for <kbd>End</kbd>. +- <kbd>Media Previous</kbd> = ⏮, <kbd>Media Next</kbd> = ⏭ +- <kbd>Page Up</kbd>, <kbd>Page Down</kbd> and <kbd>Volume Up</kbd>, <kbd>Volume Down</kbd> are positioned like the main <kbd>Up</kbd> and <kbd>Down</kbd> keys. + +## Sym layer +``` +Sym Layer: Numbers, symbols + +,-------------------------------------------. ,-------------------------------------------. +| ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | +|--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------| +| | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? | +`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + | | | | | | | | | | | | + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' +``` +The top row is the unshifted num row, the home row of the layer is the shifted num row and the bottom row contains ISO keys (<kbd>\ |</kbd> and <kbd># ~</kbd>, which are respectively `KC_NUBS` and `KC_NUHS`), the hyphen `-` and the underscore `_` on the best lower row spot because of how frequent they are and redundant symbols that are already present on the base layer but are reproduced here to avoid juggling back and forth between base, shift, and sym when typing a string of symbols. + +The layout of the first two rows needs no introduction, you're already used to them but it's worth looking into the structure of the bottom row. + +The two halves are mirrored in a sense. On the right, you can find <kbd>,</kbd> <kbd>.</kbd> <kbd>/</kbd> at their usual spots with the addition of <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> to the right of the <kbd>/</kbd> key to remove the need to press simultaneously <kbd>Sym</kbd> and a <kbd>Shift</kbd> key to access `?`. + +Now, if you look at the left side, you'll notice that the mirror of <kbd>,</kbd> is <kbd>;</kbd>, the mirror of <kbd>.</kbd> is <kbd>:</kbd> and the mirror of <kbd>/</kbd> is <kbd>\\</kbd>. The same logic used for <kbd>Shift</kbd>+<kbd>/</kbd>=<kbd>?</kbd> also applies to <kbd>Shift</kbd>+<kbd>\\</kbd>=<kbd>|</kbd>. + +As for the ISO keys, they are positioned more or less like they would on a classic keyboard: `KC_NUBS` on the left and `KC_NUHS` on the right. + +## Function layer +``` +Function Layer: Function keys + +,-------------------------------------------. ,-------------------------------------------. +| | F9 | F10 | F11 | F12 | | | | | | | | | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| | F1 | F2 | F3 | F4 | | | | | | | | | | | | | +`--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------' + | | | | | | | | | | | | + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' +``` +In a similar fashion to the nav layer, pressing down `FKEYS` with the right thumb enables a numpad of function keys on the opposite hand and modifiers on the right-hand home row. Once again, mirror symmetry is leveraged in this keymap for the order of the right-hand modifiers. + +Since there are more than 10 function keys, the cluster of F-keys does not follow the usual 3×3+1 numpad arrangement. + + +## Adjust layer +``` +Adjust Layer: Default layer settings, RGB + +,-------------------------------------------. ,-------------------------------------------. +| | | |QWERTY| | | | | | | | | | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | +`----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + | | | | | | | | | | | | + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' +``` + +Default layer settings on the left and various RGB underglow controls on the right. + +The default layer settings are lined up on the middle finger column because the home middle finger key is <kbd>D</kbd> on QWERTY (like the “D” in “Dvorak”) and the lower middle finger key is <kbd>C</kbd> on QWERTY (like the “C” in “Colemak”). I can hear you say that “QWERTY” doesn't start with “E” but Dvorak and Colemak were already aligned in a column so the QWERTY may as well join the formation. + +NOTE: The default layer settings set by those keys are *NOT* stored in EEPROM and thus do not persist through boots. If you wish to change the default layer in a non-volatile manner, either change the order of the layers in the firmware, for example like so if you want to set Dvorak as the new default: +```c +enum layers { + _DVORAK = 0, + _QWERTY, + _COLEMAK_DH, + _NAV, + _SYM, + _FUNCTION, + _ADJUST +}; +``` +or re-define the `QWERTY`, `COLEMAK` and `DVORAK` keys to point to custom keycodes starting on `SAFE_RANGE` and calling the `set_single_persistent_default_layer` function inside of `process_record_user`. + +## Hardware Features + +### Rotary Encoder +The left rotary encoder is programmed to control the volume whereas the right encoder sends <kbd>PgUp</kbd> or <kbd>PgDn</kbd> on every turn. + +### OLEDs +The OLEDs display the current layer at the top of the active layers stack, the Kyria logo and lock status (caps lock, num lock, scroll lock). + +### Underglow +The underglow LEDs should be red. + +## Going further... + +This default keymap can be used as is, unchanged, as a daily driver for your Kyria but you're invited to treat your keymap like a bonsai. At the beginning, it's just like the default keymap but from time to time, you can tweak it a little. Cut a little key here, let another combo grow there. Slowly but surely it will be a unique keymap like no other, that will fit you like a glove. + +Check out the #keymap-ideas channel on the official SplitKB Discord server for inspiration. diff --git a/keyboards/kyria/keymaps/benji/rules.mk b/keyboards/splitkb/kyria/keymaps/benji/rules.mk index e3486a8a9f..e3486a8a9f 100644 --- a/keyboards/kyria/keymaps/benji/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/benji/rules.mk diff --git a/keyboards/kyria/keymaps/cjuniet/config.h b/keyboards/splitkb/kyria/keymaps/cjuniet/config.h index d5d9c23bf3..d5d9c23bf3 100644 --- a/keyboards/kyria/keymaps/cjuniet/config.h +++ b/keyboards/splitkb/kyria/keymaps/cjuniet/config.h diff --git a/keyboards/kyria/keymaps/cjuniet/default.json b/keyboards/splitkb/kyria/keymaps/cjuniet/default.json index d08cabece0..d08cabece0 100644 --- a/keyboards/kyria/keymaps/cjuniet/default.json +++ b/keyboards/splitkb/kyria/keymaps/cjuniet/default.json diff --git a/keyboards/kyria/keymaps/cjuniet/keymap.c b/keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c index d0620309b6..d0620309b6 100644 --- a/keyboards/kyria/keymaps/cjuniet/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/cjuniet/keymap.c diff --git a/keyboards/kyria/keymaps/cjuniet/rules.mk b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk index 9699ed810d..9699ed810d 100644 --- a/keyboards/kyria/keymaps/cjuniet/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/cjuniet/rules.mk diff --git a/keyboards/kyria/keymaps/corodiak/config.h b/keyboards/splitkb/kyria/keymaps/corodiak/config.h index eed94d0558..eed94d0558 100644 --- a/keyboards/kyria/keymaps/corodiak/config.h +++ b/keyboards/splitkb/kyria/keymaps/corodiak/config.h diff --git a/keyboards/kyria/keymaps/corodiak/keymap.c b/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c index 0f7e05991b..0f7e05991b 100644 --- a/keyboards/kyria/keymaps/corodiak/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/corodiak/keymap.c diff --git a/keyboards/kyria/keymaps/corodiak/rules.mk b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk index da64c4ea51..da64c4ea51 100644 --- a/keyboards/kyria/keymaps/corodiak/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/corodiak/rules.mk diff --git a/keyboards/kyria/keymaps/cwebster2/config.h b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h index 6a56d7ee90..6a56d7ee90 100644 --- a/keyboards/kyria/keymaps/cwebster2/config.h +++ b/keyboards/splitkb/kyria/keymaps/cwebster2/config.h diff --git a/keyboards/kyria/keymaps/cwebster2/keymap.c b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c index 311ad167aa..e6d8636e46 100644 --- a/keyboards/kyria/keymaps/cwebster2/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/cwebster2/keymap.c @@ -303,9 +303,13 @@ static void render_logo(void) { #ifdef WPM_ENABLE // Write WPM - sprintf(wpm_str, "WPM: %03d", get_current_wpm()); + uint8_t n = get_current_wpm(); + wpm_str[3] = '\0'; + wpm_str[2] = '0' + n % 10; + wpm_str[1] = '0' + (n /= 10) % 10; + wpm_str[0] = '0' + n / 10 ; //oled_write_P(PSTR("\n"), false); - oled_write_P(PSTR(" "), false); + oled_write_P(PSTR(" WPM: "), false); oled_write(wpm_str, false); #endif } diff --git a/keyboards/kyria/keymaps/cwebster2/rules.mk b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk index fe9ca3c2cc..fe9ca3c2cc 100644 --- a/keyboards/kyria/keymaps/cwebster2/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/cwebster2/rules.mk diff --git a/keyboards/kyria/keymaps/default/config.h b/keyboards/splitkb/kyria/keymaps/default/config.h index 9c2fb52abc..be87e7ac99 100644 --- a/keyboards/kyria/keymaps/default/config.h +++ b/keyboards/splitkb/kyria/keymaps/default/config.h @@ -16,18 +16,17 @@ #pragma once -#ifdef OLED_DRIVER_ENABLE - #define OLED_DISPLAY_128X64 -#endif - #ifdef RGBLIGHT_ENABLE - #define RGBLIGHT_ANIMATIONS - #define RGBLIGHT_HUE_STEP 8 - #define RGBLIGHT_SAT_STEP 8 - #define RGBLIGHT_VAL_STEP 8 - #define RGBLIGHT_LIMIT_VAL 150 +# define RGBLIGHT_ANIMATIONS +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 150 #endif +// Lets you roll mod-tap keys +#define IGNORE_MOD_TAP_INTERRUPT + // If you are using an Elite C rev3 on the slave side, uncomment the lines below: // #define SPLIT_USB_DETECT // #define NO_USB_STARTUP_CHECK diff --git a/keyboards/splitkb/kyria/keymaps/default/keymap.c b/keyboards/splitkb/kyria/keymaps/default/keymap.c new file mode 100644 index 0000000000..db545c6a21 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/default/keymap.c @@ -0,0 +1,172 @@ +/* Copyright 2019 Thomas Baart <thomas@splitkb.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#include QMK_KEYBOARD_H + +enum layers { _QWERTY = 0, _DVORAK, _COLEMAK_DH, _NAV, _SYM, _FUNCTION, _ADJUST }; + +// Aliases for readability +#define QWERTY DF(_QWERTY) +#define COLEMAK DF(_COLEMAK_DH) +#define DVORAK DF(_DVORAK) + +#define SYM MO(_SYM) +#define NAV MO(_NAV) +#define FKEYS MO(_FUNCTION) +#define ADJUST MO(_ADJUST) + +#define CTL_ESC MT(MOD_LCTL, KC_ESC) +#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) +#define CTL_MINS MT(MOD_RCTL, KC_MINUS) +#define ALT_ENT MT(MOD_LALT, KC_ENT) + +// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. +// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and +// produces the key `tap` when tapped (i.e. pressed and released). + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + /* + * Base Layer: QWERTY + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + * | | | Enter| | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_QWERTY] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSPC, CTL_ESC, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, CTL_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP), + + /* + * Base Layer: Dvorak + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | ' " | , < | . > | P | Y | | F | G | C | R | L | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | O | E | U | I | | D | H | T | N | S |Ctrl/- _| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | ; : | Q | J | K | X | [ { |CapsLk| |F-keys| ] } | B | M | W | V | Z | RShift | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + * | | | Enter| | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_DVORAK] = LAYOUT(KC_TAB, KC_QUOTE, KC_COMM, KC_DOT, KC_P, KC_Y, KC_F, KC_G, KC_C, KC_R, KC_L, KC_BSPC, CTL_ESC, KC_A, KC_O, KC_E, KC_U, KC_I, KC_D, KC_H, KC_T, KC_N, KC_S, CTL_MINS, KC_LSFT, KC_SCLN, KC_Q, KC_J, KC_K, KC_X, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_B, KC_M, KC_W, KC_V, KC_Z, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP), + + /* + * Base Layer: Colemak DH + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | Q | W | F | P | B | | J | L | U | Y | ; : | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | R | S | T | G | | M | N | E | I | O |Ctrl/' "| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | Z | X | C | D | V | [ { |CapsLk| |F-keys| ] } | K | H | , < | . > | / ? | RShift | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + * | | | Enter| | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_COLEMAK_DH] = LAYOUT(KC_TAB, KC_Q, KC_W, KC_F, KC_P, KC_B, KC_J, KC_L, KC_U, KC_Y, KC_SCLN, KC_BSPC, CTL_ESC, KC_A, KC_R, KC_S, KC_T, KC_G, KC_M, KC_N, KC_E, KC_I, KC_O, CTL_QUOT, KC_LSFT, KC_Z, KC_X, KC_C, KC_D, KC_V, KC_LBRC, KC_CAPS, FKEYS, KC_RBRC, KC_K, KC_H, KC_COMM, KC_DOT, KC_SLSH, KC_RSFT, ADJUST, KC_LGUI, ALT_ENT, KC_SPC, NAV, SYM, KC_SPC, KC_RALT, KC_RGUI, KC_APP), + + /* + * Nav Layer: Media, navigation + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_NAV] = LAYOUT(_______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______, KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + /* + * Sym Layer: Numbers and symbols + * + * ,-------------------------------------------. ,-------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | + * |--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------| + * | | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_SYM] = LAYOUT(KC_GRV, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_EQL, KC_TILD, KC_EXLM, KC_AT, KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, KC_PIPE, KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_NUBS, KC_LBRC, _______, _______, KC_RBRC, KC_NUHS, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + /* + * Function Layer: Function keys + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | F9 | F10 | F11 | F12 | | | | | | | | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | + * `--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_FUNCTION] = LAYOUT(_______, KC_F9, KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, KC_F5, KC_F6, KC_F7, KC_F8, _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, _______, KC_F1, KC_F2, KC_F3, KC_F4, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + /* + * Adjust Layer: Default layer settings, RGB + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | |QWERTY| | | | | | | | | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_ADJUST] = LAYOUT(_______, _______, _______, QWERTY, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, DVORAK, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, _______, _______, _______, COLEMAK, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______), + + // /* + // * Layer template + // * + // * ,-------------------------------------------. ,-------------------------------------------. + // * | | | | | | | | | | | | | | + // * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + // * | | | | | | | | | | | | | | + // * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + // * | | | | | | | | | | | | | | | | | | + // * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + // * | | | | | | | | | | | | + // * | | | | | | | | | | | | + // * `----------------------------------' `----------------------------------' + // */ + // [_LAYERINDEX] = LAYOUT( + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + // _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + // ), +}; diff --git a/keyboards/kyria/keymaps/shinze/rules.mk b/keyboards/splitkb/kyria/keymaps/default/rules.mk index 604e154650..604e154650 100644 --- a/keyboards/kyria/keymaps/shinze/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/default/rules.mk diff --git a/keyboards/kyria/keymaps/drashna/config.h b/keyboards/splitkb/kyria/keymaps/drashna/config.h index af6f738155..af6f738155 100644 --- a/keyboards/kyria/keymaps/drashna/config.h +++ b/keyboards/splitkb/kyria/keymaps/drashna/config.h diff --git a/keyboards/kyria/keymaps/drashna/keymap.c b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c index 14287d0ec6..14287d0ec6 100644 --- a/keyboards/kyria/keymaps/drashna/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/drashna/keymap.c diff --git a/keyboards/kyria/keymaps/drashna/rules.mk b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk index 4036f91453..4036f91453 100644 --- a/keyboards/kyria/keymaps/drashna/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/drashna/rules.mk diff --git a/keyboards/kyria/keymaps/ghidalgo93/config.h b/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h index c46873c8ef..c46873c8ef 100644 --- a/keyboards/kyria/keymaps/ghidalgo93/config.h +++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/config.h diff --git a/keyboards/kyria/keymaps/ghidalgo93/keymap.c b/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c index 1adbcc6ee7..1adbcc6ee7 100644 --- a/keyboards/kyria/keymaps/ghidalgo93/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/keymap.c diff --git a/keyboards/kyria/keymaps/ghidalgo93/rules.mk b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk index 449e3d9501..449e3d9501 100644 --- a/keyboards/kyria/keymaps/ghidalgo93/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/ghidalgo93/rules.mk diff --git a/keyboards/kyria/keymaps/gotham/README.md b/keyboards/splitkb/kyria/keymaps/gotham/README.md index 1598e95a73..1598e95a73 100644 --- a/keyboards/kyria/keymaps/gotham/README.md +++ b/keyboards/splitkb/kyria/keymaps/gotham/README.md diff --git a/keyboards/kyria/keymaps/gotham/config.h b/keyboards/splitkb/kyria/keymaps/gotham/config.h index 1b84d996fe..1b84d996fe 100644 --- a/keyboards/kyria/keymaps/gotham/config.h +++ b/keyboards/splitkb/kyria/keymaps/gotham/config.h diff --git a/keyboards/kyria/keymaps/gotham/encoder_utils.c b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c index 1c2962339d..1c2962339d 100644 --- a/keyboards/kyria/keymaps/gotham/encoder_utils.c +++ b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.c diff --git a/keyboards/kyria/keymaps/gotham/encoder_utils.h b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h index 60db6c6bd8..60db6c6bd8 100644 --- a/keyboards/kyria/keymaps/gotham/encoder_utils.h +++ b/keyboards/splitkb/kyria/keymaps/gotham/encoder_utils.h diff --git a/keyboards/kyria/keymaps/gotham/keycodes.h b/keyboards/splitkb/kyria/keymaps/gotham/keycodes.h index 0730d49250..0730d49250 100644 --- a/keyboards/kyria/keymaps/gotham/keycodes.h +++ b/keyboards/splitkb/kyria/keymaps/gotham/keycodes.h diff --git a/keyboards/kyria/keymaps/gotham/keymap.c b/keyboards/splitkb/kyria/keymaps/gotham/keymap.c index a725e61fe3..a725e61fe3 100644 --- a/keyboards/kyria/keymaps/gotham/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/gotham/keymap.c diff --git a/keyboards/kyria/keymaps/gotham/oled_utils.c b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c index 9d76c97491..9d76c97491 100644 --- a/keyboards/kyria/keymaps/gotham/oled_utils.c +++ b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.c diff --git a/keyboards/kyria/keymaps/gotham/oled_utils.h b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h index 7e3bf44c82..7e3bf44c82 100644 --- a/keyboards/kyria/keymaps/gotham/oled_utils.h +++ b/keyboards/splitkb/kyria/keymaps/gotham/oled_utils.h diff --git a/keyboards/kyria/keymaps/gotham/rules.mk b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk index 0bd8badb4d..0bd8badb4d 100644 --- a/keyboards/kyria/keymaps/gotham/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/gotham/rules.mk diff --git a/keyboards/kyria/keymaps/gotham/thumbstick.c b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c index ec08fb07d4..ec08fb07d4 100644 --- a/keyboards/kyria/keymaps/gotham/thumbstick.c +++ b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.c diff --git a/keyboards/kyria/keymaps/gotham/thumbstick.h b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h index aff939c746..aff939c746 100644 --- a/keyboards/kyria/keymaps/gotham/thumbstick.h +++ b/keyboards/splitkb/kyria/keymaps/gotham/thumbstick.h diff --git a/keyboards/kyria/keymaps/j-inc/config.h b/keyboards/splitkb/kyria/keymaps/j-inc/config.h index 833fbe4bd9..833fbe4bd9 100644 --- a/keyboards/kyria/keymaps/j-inc/config.h +++ b/keyboards/splitkb/kyria/keymaps/j-inc/config.h diff --git a/keyboards/kyria/keymaps/j-inc/keymap.c b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c index d842e4c2b9..56eac4ddff 100644 --- a/keyboards/kyria/keymaps/j-inc/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/j-inc/keymap.c @@ -326,7 +326,12 @@ void oled_task_user(void) { } else { render_anim(); oled_set_cursor(0,6); - sprintf(wpm_str, " WPM: %03d", get_current_wpm()); + uint8_t n = get_current_wpm(); + wpm_str[3] = '\0'; + wpm_str[2] = '0' + n % 10; + wpm_str[1] = '0' + (n /= 10) % 10; + wpm_str[0] = '0' + n / 10 ; + oled_write_P(PSTR(" WPM: "), false); oled_write(wpm_str, false); } diff --git a/keyboards/kyria/keymaps/j-inc/rules.mk b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk index 87d07f667e..87d07f667e 100644 --- a/keyboards/kyria/keymaps/j-inc/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/j-inc/rules.mk diff --git a/keyboards/kyria/keymaps/jhelvy/config.h b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h index 6dbc0dc1d2..6dbc0dc1d2 100644 --- a/keyboards/kyria/keymaps/jhelvy/config.h +++ b/keyboards/splitkb/kyria/keymaps/jhelvy/config.h diff --git a/keyboards/kyria/keymaps/jhelvy/keymap.c b/keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c index 371007eeb3..371007eeb3 100644 --- a/keyboards/kyria/keymaps/jhelvy/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/jhelvy/keymap.c diff --git a/keyboards/kyria/keymaps/jhelvy/rules.mk b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk index ec4c65f706..ec4c65f706 100644 --- a/keyboards/kyria/keymaps/jhelvy/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/jhelvy/rules.mk diff --git a/keyboards/kyria/keymaps/kejadlen/config.h b/keyboards/splitkb/kyria/keymaps/kejadlen/config.h index 3c0951f112..3c0951f112 100644 --- a/keyboards/kyria/keymaps/kejadlen/config.h +++ b/keyboards/splitkb/kyria/keymaps/kejadlen/config.h diff --git a/keyboards/kyria/keymaps/kejadlen/keymap.c b/keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c index 9de9be5552..9de9be5552 100644 --- a/keyboards/kyria/keymaps/kejadlen/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/kejadlen/keymap.c diff --git a/keyboards/kyria/keymaps/kejadlen/rules.mk b/keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk index 35ba17e4a2..35ba17e4a2 100644 --- a/keyboards/kyria/keymaps/kejadlen/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/kejadlen/rules.mk diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h index c04bee9b4f..c04bee9b4f 100644 --- a/keyboards/kyria/keymaps/manna-harbour_miryoku/config.h +++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/config.h diff --git a/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c index 1520387e88..1520387e88 100644 --- a/keyboards/kyria/keymaps/manna-harbour_miryoku/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/manna-harbour_miryoku/keymap.c diff --git a/keyboards/kyria/keymaps/mattir/config.h b/keyboards/splitkb/kyria/keymaps/mattir/config.h index 2c71428a9c..2c71428a9c 100644 --- a/keyboards/kyria/keymaps/mattir/config.h +++ b/keyboards/splitkb/kyria/keymaps/mattir/config.h diff --git a/keyboards/kyria/keymaps/mattir/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir/keymap.c index 0ee0f3d852..0ee0f3d852 100644 --- a/keyboards/kyria/keymaps/mattir/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/mattir/keymap.c diff --git a/keyboards/kyria/keymaps/mattir/readme.md b/keyboards/splitkb/kyria/keymaps/mattir/readme.md index 9a3dcc1e60..9a3dcc1e60 100644 --- a/keyboards/kyria/keymaps/mattir/readme.md +++ b/keyboards/splitkb/kyria/keymaps/mattir/readme.md diff --git a/keyboards/kyria/keymaps/mattir/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk index 4f5e31be18..4f5e31be18 100644 --- a/keyboards/kyria/keymaps/mattir/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/mattir/rules.mk diff --git a/keyboards/kyria/keymaps/mattir2/config.h b/keyboards/splitkb/kyria/keymaps/mattir2/config.h index ee61cfae35..ee61cfae35 100644 --- a/keyboards/kyria/keymaps/mattir2/config.h +++ b/keyboards/splitkb/kyria/keymaps/mattir2/config.h diff --git a/keyboards/kyria/keymaps/mattir2/keymap.c b/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c index 53d829320e..53d829320e 100644 --- a/keyboards/kyria/keymaps/mattir2/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/mattir2/keymap.c diff --git a/keyboards/kyria/keymaps/mattir2/readme.md b/keyboards/splitkb/kyria/keymaps/mattir2/readme.md index 117fba751d..117fba751d 100644 --- a/keyboards/kyria/keymaps/mattir2/readme.md +++ b/keyboards/splitkb/kyria/keymaps/mattir2/readme.md diff --git a/keyboards/kyria/keymaps/mattir2/rules.mk b/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk index cc5ae236ff..cc5ae236ff 100644 --- a/keyboards/kyria/keymaps/mattir2/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/mattir2/rules.mk diff --git a/keyboards/kyria/keymaps/ninjonas/README.md b/keyboards/splitkb/kyria/keymaps/ninjonas/README.md index 5c86786594..5c86786594 100644 --- a/keyboards/kyria/keymaps/ninjonas/README.md +++ b/keyboards/splitkb/kyria/keymaps/ninjonas/README.md diff --git a/keyboards/kyria/keymaps/ninjonas/config.h b/keyboards/splitkb/kyria/keymaps/ninjonas/config.h index 5673e6c3d8..5673e6c3d8 100644 --- a/keyboards/kyria/keymaps/ninjonas/config.h +++ b/keyboards/splitkb/kyria/keymaps/ninjonas/config.h diff --git a/keyboards/kyria/keymaps/ninjonas/keymap.c b/keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c index ae4b3b7ba9..ae4b3b7ba9 100644 --- a/keyboards/kyria/keymaps/ninjonas/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/ninjonas/keymap.c diff --git a/keyboards/kyria/keymaps/ninjonas/oled.c b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c index 65976205b7..65976205b7 100644 --- a/keyboards/kyria/keymaps/ninjonas/oled.c +++ b/keyboards/splitkb/kyria/keymaps/ninjonas/oled.c diff --git a/keyboards/kyria/keymaps/ninjonas/rules.mk b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk index 94c06b80eb..94c06b80eb 100644 --- a/keyboards/kyria/keymaps/ninjonas/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/ninjonas/rules.mk diff --git a/keyboards/kyria/keymaps/pierrec83/config.h b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h index eb222c0d7a..eb222c0d7a 100644 --- a/keyboards/kyria/keymaps/pierrec83/config.h +++ b/keyboards/splitkb/kyria/keymaps/pierrec83/config.h diff --git a/keyboards/kyria/keymaps/pierrec83/encoders.c b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c index 7505925e72..7505925e72 100644 --- a/keyboards/kyria/keymaps/pierrec83/encoders.c +++ b/keyboards/splitkb/kyria/keymaps/pierrec83/encoders.c diff --git a/keyboards/kyria/keymaps/pierrec83/keymap.c b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c index 204895dc10..204895dc10 100644 --- a/keyboards/kyria/keymaps/pierrec83/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.c diff --git a/keyboards/kyria/keymaps/pierrec83/keymap.json b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json index 79d88009c1..79d88009c1 100644 --- a/keyboards/kyria/keymaps/pierrec83/keymap.json +++ b/keyboards/splitkb/kyria/keymaps/pierrec83/keymap.json diff --git a/keyboards/kyria/keymaps/pierrec83/layers.h b/keyboards/splitkb/kyria/keymaps/pierrec83/layers.h index 12a988d37e..12a988d37e 100644 --- a/keyboards/kyria/keymaps/pierrec83/layers.h +++ b/keyboards/splitkb/kyria/keymaps/pierrec83/layers.h diff --git a/keyboards/kyria/keymaps/pierrec83/readme.md b/keyboards/splitkb/kyria/keymaps/pierrec83/readme.md index fae22f8366..fae22f8366 100644 --- a/keyboards/kyria/keymaps/pierrec83/readme.md +++ b/keyboards/splitkb/kyria/keymaps/pierrec83/readme.md diff --git a/keyboards/kyria/keymaps/pierrec83/rules.mk b/keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk index 78f0ac93f1..78f0ac93f1 100644 --- a/keyboards/kyria/keymaps/pierrec83/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/pierrec83/rules.mk diff --git a/keyboards/kyria/keymaps/plattfot/README.md b/keyboards/splitkb/kyria/keymaps/plattfot/README.md index 70bb01353d..70bb01353d 100644 --- a/keyboards/kyria/keymaps/plattfot/README.md +++ b/keyboards/splitkb/kyria/keymaps/plattfot/README.md diff --git a/keyboards/kyria/keymaps/plattfot/config.h b/keyboards/splitkb/kyria/keymaps/plattfot/config.h index 5ec5fc584b..5ec5fc584b 100644 --- a/keyboards/kyria/keymaps/plattfot/config.h +++ b/keyboards/splitkb/kyria/keymaps/plattfot/config.h diff --git a/keyboards/kyria/keymaps/plattfot/keymap.c b/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c index 78e30c156e..78e30c156e 100644 --- a/keyboards/kyria/keymaps/plattfot/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/plattfot/keymap.c diff --git a/keyboards/kyria/keymaps/plattfot/rules.mk b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk index 412546d09a..412546d09a 100644 --- a/keyboards/kyria/keymaps/plattfot/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/plattfot/rules.mk diff --git a/keyboards/kyria/keymaps/rmw/config.h b/keyboards/splitkb/kyria/keymaps/rmw/config.h index 02e5087b3e..02e5087b3e 100644 --- a/keyboards/kyria/keymaps/rmw/config.h +++ b/keyboards/splitkb/kyria/keymaps/rmw/config.h diff --git a/keyboards/kyria/keymaps/rmw/keymap.c b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c index 61d66588c6..61d66588c6 100644 --- a/keyboards/kyria/keymaps/rmw/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/rmw/keymap.c diff --git a/keyboards/kyria/keymaps/rmw/readme.md b/keyboards/splitkb/kyria/keymaps/rmw/readme.md index c05ca494b7..c05ca494b7 100644 --- a/keyboards/kyria/keymaps/rmw/readme.md +++ b/keyboards/splitkb/kyria/keymaps/rmw/readme.md diff --git a/keyboards/kyria/keymaps/rmw/rules.mk b/keyboards/splitkb/kyria/keymaps/rmw/rules.mk index d41ffaef6d..d41ffaef6d 100644 --- a/keyboards/kyria/keymaps/rmw/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/rmw/rules.mk diff --git a/keyboards/kyria/keymaps/shinze/config.h b/keyboards/splitkb/kyria/keymaps/shinze/config.h index f00bfa8e70..f00bfa8e70 100644 --- a/keyboards/kyria/keymaps/shinze/config.h +++ b/keyboards/splitkb/kyria/keymaps/shinze/config.h diff --git a/keyboards/kyria/keymaps/shinze/keymap.c b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c index 98e127960c..98e127960c 100644 --- a/keyboards/kyria/keymaps/shinze/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/shinze/keymap.c diff --git a/keyboards/splitkb/kyria/keymaps/shinze/rules.mk b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk new file mode 100644 index 0000000000..604e154650 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/shinze/rules.mk @@ -0,0 +1,3 @@ +OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays +ENCODER_ENABLE = yes # Enables the use of one or more encoders +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow diff --git a/keyboards/kyria/keymaps/tessachka/config.h b/keyboards/splitkb/kyria/keymaps/tessachka/config.h index a5529128da..a5529128da 100644 --- a/keyboards/kyria/keymaps/tessachka/config.h +++ b/keyboards/splitkb/kyria/keymaps/tessachka/config.h diff --git a/keyboards/kyria/keymaps/tessachka/keymap.c b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c index 38307f9644..38307f9644 100644 --- a/keyboards/kyria/keymaps/tessachka/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/tessachka/keymap.c diff --git a/keyboards/kyria/keymaps/tessachka/rules.mk b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk index b7d691efd9..b7d691efd9 100644 --- a/keyboards/kyria/keymaps/tessachka/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/tessachka/rules.mk diff --git a/keyboards/kyria/keymaps/thomasbaart/config.h b/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h index 6128133ed6..6128133ed6 100644 --- a/keyboards/kyria/keymaps/thomasbaart/config.h +++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/config.h diff --git a/keyboards/kyria/keymaps/thomasbaart/keymap.c b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c index aed9d9762f..aed9d9762f 100644 --- a/keyboards/kyria/keymaps/thomasbaart/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/keymap.c diff --git a/keyboards/kyria/keymaps/thomasbaart/rules.mk b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk index 9b8e294198..9b8e294198 100644 --- a/keyboards/kyria/keymaps/thomasbaart/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/thomasbaart/rules.mk diff --git a/keyboards/splitkb/kyria/keymaps/via/config.h b/keyboards/splitkb/kyria/keymaps/via/config.h new file mode 100644 index 0000000000..3ca93f4fd3 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/via/config.h @@ -0,0 +1,40 @@ +/* Copyright 2019 Thomas Baart <thomas@splitkb.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#define LAYER_STATE_8BIT +#define DYNAMIC_KEYMAP_LAYER_COUNT 5 +#define IGNORE_MOD_TAP_INTERRUPT + +#undef LOCKING_SUPPORT_ENABLE +#undef LOCKING_RESYNC_ENABLE + +#ifdef RGBLIGHT_ENABLE +# define RGBLIGHT_EFFECT_BREATHING +# define RGBLIGHT_EFFECT_RAINBOW_MOOD +# define RGBLIGHT_EFFECT_RAINBOW_SWIRL +# define RGBLIGHT_EFFECT_SNAKE +# define RGBLIGHT_EFFECT_KNIGHT +# define RGBLIGHT_EFFECT_STATIC_GRADIENT + +# define RGBLIGHT_HUE_STEP 8 +# define RGBLIGHT_SAT_STEP 8 +# define RGBLIGHT_VAL_STEP 8 +# define RGBLIGHT_LIMIT_VAL 150 +#endif + +#define USB_POLLING_INTERVAL_MS 1 diff --git a/keyboards/splitkb/kyria/keymaps/via/keymap.c b/keyboards/splitkb/kyria/keymaps/via/keymap.c new file mode 100644 index 0000000000..0b79afc11f --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/via/keymap.c @@ -0,0 +1,248 @@ +/* Copyright 2019 Thomas Baart <thomas@splitkb.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#include QMK_KEYBOARD_H + +enum layers { _BASE = 0, _NAV, _SYM, _FUNCTION, _ADJUST }; + +// Aliases for readability + +#define SYM MO(_SYM) +#define NAV MO(_NAV) +#define FKEYS MO(_FUNCTION) +#define ADJUST MO(_ADJUST) + +#define CTL_ESC MT(MOD_LCTL, KC_ESC) +#define CTL_QUOT MT(MOD_RCTL, KC_QUOTE) +#define CTL_MINS MT(MOD_RCTL, KC_MINUS) +#define ALT_ENT MT(MOD_LALT, KC_ENT) + +// Note: LAlt/Enter (ALT_ENT) is not the same thing as the keyboard shortcut Alt+Enter. +// The notation `mod/tap` denotes a key that activates the modifier `mod` when held down, and +// produces the key `tap` when tapped (i.e. pressed and released). + +// clang-format off +#define LAYOUT_via( \ + L00, L01, L02, L03, L04, L05, LE0, LE1, RE0, RE1, R06, R07, R08, R09, R10, R11, \ + L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \ + L24, L25, L26, L27, L28, L29, L30, L31, R32, R33, R34, R35, R36, R37, R38, R39, \ + L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \ +) \ +{ \ + { LE0, LE1, L05, L04, L03, L02, L01, L00 }, \ + { RE0, RE1, L17, L16, L15, L14, L13, L12 }, \ + { L31, L30, L29, L28, L27, L26, L25, L24 }, \ + { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \ + { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \ + { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \ + { R32, R33, R34, R35, R36, R37, R38, R39 }, \ + { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \ +} + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { +/* + * Base Layer: QWERTY + * + * ,-------------------------------------------. ,-------------------------------------------. + * | Tab | Q | W | E | R | T | | Y | U | I | O | P | Bksp | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * |Ctrl/Esc| A | S | D | F | G | | H | J | K | L | ; : |Ctrl/' "| + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | LShift | Z | X | C | V | B | [ { |CapsLk| |F-keys| ] } | N | M | , < | . > | / ? | RShift | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * |Adjust| LGUI | LAlt/| Space| Nav | | Sym | Space| AltGr| RGUI | Menu | + * | | | Enter| | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_BASE] = LAYOUT_via( + KC_TAB , KC_Q , KC_W , KC_E , KC_R , KC_T , KC_VOLD, KC_VOLU, KC_PGDN, KC_PGUP, KC_Y, KC_U , KC_I , KC_O , KC_P , KC_BSPC, + CTL_ESC , KC_A , KC_S , KC_D , KC_F , KC_G , KC_H, KC_J , KC_K , KC_L ,KC_SCLN,CTL_QUOT, + KC_LSFT , KC_Z , KC_X , KC_C , KC_V , KC_B , KC_LBRC,KC_CAPS, FKEYS , KC_RBRC, KC_N, KC_M ,KC_COMM, KC_DOT ,KC_SLSH, KC_RSFT, + ADJUST , KC_LGUI, ALT_ENT, KC_SPC , NAV , SYM , KC_SPC ,KC_RALT, KC_RGUI, KC_APP + ), + +/* + * Nav Layer: Media, navigation + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | | | | | | PgUp | Home | ↑ | End | VolUp| Delete | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | GUI | Alt | Ctrl | Shift| | | PgDn | ← | ↓ | → | VolDn| Insert | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | | | | | |ScLck | | | | Pause|M Prev|M Play|M Next|VolMut| PrtSc | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_NAV] = LAYOUT_via( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, KC_PGUP, KC_HOME, KC_UP, KC_END, KC_VOLU, KC_DEL, + _______, KC_LGUI, KC_LALT, KC_LCTL, KC_LSFT, _______, KC_PGDN, KC_LEFT, KC_DOWN, KC_RGHT, KC_VOLD, KC_INS, + _______, _______, _______, _______, _______, _______, _______, KC_SLCK, _______, _______,KC_PAUSE, KC_MPRV, KC_MPLY, KC_MNXT, KC_MUTE, KC_PSCR, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Sym Layer: Numbers and symbols + * + * ,-------------------------------------------. ,-------------------------------------------. + * | ` | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | = | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | ~ | ! | @ | # | $ | % | | ^ | & | * | ( | ) | + | + * |--------+------+------+------+------+------+-------------. ,------+-------------+------+------+------+------+--------| + * | | | \ | : | ; | - | \ | | [ { | | | | ] } | # ~ | _ | , | . | / | ? | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_SYM] = LAYOUT_via( + KC_GRV , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______, _______, _______, _______, KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , KC_EQL , + KC_TILD , KC_EXLM, KC_AT , KC_HASH, KC_DLR, KC_PERC, KC_CIRC, KC_AMPR, KC_ASTR, KC_LPRN, KC_RPRN, KC_PLUS, + KC_PIPE , KC_BSLS, KC_COLN, KC_SCLN, KC_MINS, KC_NUBS, KC_LBRC, _______, _______, KC_RBRC, KC_NUHS, KC_UNDS, KC_COMM, KC_DOT, KC_SLSH, KC_QUES, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Function Layer: Function keys + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | F9 | F10 | F11 | F12 | | | | | | | | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | F5 | F6 | F7 | F8 | | | | Shift| Ctrl | Alt | GUI | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | F1 | F2 | F3 | F4 | | | | | | | | | | | | | + * `--------+------+------+--------------------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_FUNCTION] = LAYOUT_via( + _______, KC_F9 , KC_F10, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, KC_F5 , KC_F6 , KC_F7 , KC_F8 , _______, _______, KC_RSFT, KC_RCTL, KC_LALT, KC_RGUI, _______, + _______, KC_F1 , KC_F2 , KC_F3 , KC_F4 , _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + +/* + * Adjust Layer: Default layer settings, RGB + * + * ,-------------------------------------------. ,-------------------------------------------. + * | | | |QWERTY| | | | | | | | | | + * |--------+------+------+------+------+------| |------+------+------+------+------+--------| + * | | | |Dvorak| | | | TOG | SAI | HUI | VAI | MOD | | + * |--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| + * | | | |Colmak| | | | | | | | | SAD | HUD | VAD | RMOD | | + * `----------------------+------+------+------+------+------| |------+------+------+------+------+----------------------' + * | | | | | | | | | | | | + * | | | | | | | | | | | | + * `----------------------------------' `----------------------------------' + */ + [_ADJUST] = LAYOUT_via( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + + +}; +// clang-format on + +#ifdef ENCODER_ENABLE +static uint8_t encoder_state[2] = {0}; +static keypos_t encoder_ccw[2] = {{0, 0}, {0, 1}}; +static keypos_t encoder_cw[2] = {{1, 0}, {1, 1}}; + +void encoder_action_unregister(void) { + for (int index = 0; index < 2; ++index) { + if (encoder_state[index]) { + keyevent_t encoder_event = (keyevent_t){.key = encoder_state[index] >> 1 ? encoder_cw[index] : encoder_ccw[index], .pressed = false, .time = (timer_read() | 1)}; + encoder_state[index] = 0; + action_exec(encoder_event); + } + } +} + +void encoder_action_register(uint8_t index, bool clockwise) { + keyevent_t encoder_event = (keyevent_t){.key = clockwise ? encoder_cw[index] : encoder_ccw[index], .pressed = true, .time = (timer_read() | 1)}; + encoder_state[index] = (clockwise ^ 1) | (clockwise << 1); + action_exec(encoder_event); +} + +void matrix_scan_user(void) { encoder_action_unregister(); } + +bool encoder_update_user(uint8_t index, bool clockwise) { + encoder_action_register(index, clockwise); + return false; +}; +#endif + +#ifdef OLED_DRIVER_ENABLE +void oled_task_user(void) { + if (is_keyboard_master()) { + // QMK Logo and version information + // clang-format off + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; + // clang-format on + + oled_write_P(qmk_logo, false); + oled_write_P(PSTR("Kyria rev1.0 w/ VIA\n\n"), false); + + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state | default_layer_state)) { + case 0: + oled_write_P(PSTR("Base\n"), false); + break; + case 1: + oled_write_P(PSTR("Nav\n"), false); + break; + case 2: + oled_write_P(PSTR("Sym\n"), false); + break; + case 3: + oled_write_P(PSTR("Function\n"), false); + break; + case 4: + oled_write_P(PSTR("Adjust\n"), false); + break; + } + + // Host Keyboard LED Status + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + } else { + // clang-format off + static const char PROGMEM kyria_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + // clang-format on + oled_write_raw_P(kyria_logo, sizeof(kyria_logo)); + } +} +#endif diff --git a/keyboards/splitkb/kyria/keymaps/via/rules.mk b/keyboards/splitkb/kyria/keymaps/via/rules.mk new file mode 100644 index 0000000000..1a13a974e4 --- /dev/null +++ b/keyboards/splitkb/kyria/keymaps/via/rules.mk @@ -0,0 +1,9 @@ +OLED_DRIVER_ENABLE = yes # Enables the use of OLED displays +ENCODER_ENABLE = yes # Enables the use of one or more encoders +RGBLIGHT_ENABLE = yes # Enable keyboard RGB underglow +VIA_ENABLE = yes +NKRO_ENABLE = yes +KEY_LOCK_ENABLE = no +SPACE_CADET_ENABLE = no +MAGIC_ENABLE = no +GRAVE_ESCAPE_ENABLE = no diff --git a/keyboards/kyria/keymaps/winternebs/config.h b/keyboards/splitkb/kyria/keymaps/winternebs/config.h index db14011d11..472d577395 100755 --- a/keyboards/kyria/keymaps/winternebs/config.h +++ b/keyboards/splitkb/kyria/keymaps/winternebs/config.h @@ -15,7 +15,7 @@ */ #pragma once -#define OLED_FONT_H "keyboards/kyria/keymaps/winternebs/glcdfont.c" +#define OLED_FONT_H "keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c" #define OLED_FONT_END 127 #ifdef OLED_DRIVER_ENABLE #define OLED_DISPLAY_128X64 diff --git a/keyboards/kyria/keymaps/winternebs/glcdfont.c b/keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c index 7303c6afff..7303c6afff 100755 --- a/keyboards/kyria/keymaps/winternebs/glcdfont.c +++ b/keyboards/splitkb/kyria/keymaps/winternebs/glcdfont.c diff --git a/keyboards/kyria/keymaps/winternebs/keymap.c b/keyboards/splitkb/kyria/keymaps/winternebs/keymap.c index 5a2ea83337..3a31efdf33 100755 --- a/keyboards/kyria/keymaps/winternebs/keymap.c +++ b/keyboards/splitkb/kyria/keymaps/winternebs/keymap.c @@ -699,9 +699,15 @@ void oled_task_user(void) { if (is_keyboard_master()) { render_anim(); oled_set_cursor(0,7); - sprintf(wpm_str, "APM: %03d ", get_current_wpm()); - oled_write(wpm_str, false); - switch (get_highest_layer(layer_state)) { + uint8_t n = get_current_wpm(); + wpm_str[3] = '\0'; + wpm_str[2] = '0' + n % 10; + wpm_str[1] = '0' + (n /= 10) % 10; + wpm_str[0] = '0' + n / 10 ; + oled_write_P(PSTR("WPM: "), false); + oled_write(wpm_str, false); + oled_write_P(PSTR(" "), false); + switch (get_highest_layer(layer_state)) { case _QWERTY: oled_write_ln_P(PSTR("base"), false); break; diff --git a/keyboards/kyria/keymaps/winternebs/rules.mk b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk index 5831e23cba..5831e23cba 100755 --- a/keyboards/kyria/keymaps/winternebs/rules.mk +++ b/keyboards/splitkb/kyria/keymaps/winternebs/rules.mk diff --git a/keyboards/kyria/kyria.c b/keyboards/splitkb/kyria/kyria.c index 1692093fb2..21ed5e84c8 100644 --- a/keyboards/kyria/kyria.c +++ b/keyboards/splitkb/kyria/kyria.c @@ -14,4 +14,3 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ #include "kyria.h" - diff --git a/keyboards/kyria/kyria.h b/keyboards/splitkb/kyria/kyria.h index c1db6307e2..2b1a298152 100644 --- a/keyboards/kyria/kyria.h +++ b/keyboards/splitkb/kyria/kyria.h @@ -17,7 +17,7 @@ #include "quantum.h" -#if defined(KEYBOARD_kyria_rev1) +#if defined(KEYBOARD_splitkb_kyria_rev1) # include "rev1.h" #endif diff --git a/keyboards/kyria/readme.md b/keyboards/splitkb/kyria/readme.md index ed4b145081..ed4b145081 100644 --- a/keyboards/kyria/readme.md +++ b/keyboards/splitkb/kyria/readme.md diff --git a/keyboards/kyria/rev1/config.h b/keyboards/splitkb/kyria/rev1/config.h index e832db105b..1b7dc98496 100644 --- a/keyboards/kyria/rev1/config.h +++ b/keyboards/splitkb/kyria/rev1/config.h @@ -17,28 +17,33 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #pragma once - /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0x0000 -#define DEVICE_VER 0x0001 -#define MANUFACTURER splitkb -#define PRODUCT Kyria Keyboard +#define VENDOR_ID 0x8D1D +#define PRODUCT_ID 0x9D9D +#define DEVICE_VER 0x0001 +#define MANUFACTURER splitKB +#define PRODUCT Kyria /* key matrix size */ /* Rows are doubled up */ -#define MATRIX_ROWS 8 -#define MATRIX_COLS 8 +#define MATRIX_ROWS 8 +#define MATRIX_COLS 8 // wiring -#define MATRIX_ROW_PINS { B4, E6, D7, D4 } -#define MATRIX_COL_PINS { B6, B2, B3, B1, F7, F6, F5, F4 } +#define MATRIX_ROW_PINS \ + { B4, E6, D7, D4 } +#define MATRIX_COL_PINS \ + { B6, B2, B3, B1, F7, F6, F5, F4 } #define UNUSED_PINS -#define ENCODERS_PAD_A { C6 } -#define ENCODERS_PAD_B { B5 } -#define ENCODERS_PAD_A_RIGHT { B5 } -#define ENCODERS_PAD_B_RIGHT { C6 } +#define ENCODERS_PAD_A \ + { C6 } +#define ENCODERS_PAD_B \ + { B5 } +#define ENCODERS_PAD_A_RIGHT \ + { B5 } +#define ENCODERS_PAD_B_RIGHT \ + { C6 } /* COL2ROW, ROW2COL*/ #define DIODE_DIRECTION COL2ROW @@ -47,18 +52,23 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. //#define MATRIX_HAS_GHOST /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 +#define DEBOUNCE 5 /* * Split Keyboard specific options, make sure you have 'SPLIT_KEYBOARD = yes' in your rules.mk, and define SOFT_SERIAL_PIN. */ #define SOFT_SERIAL_PIN D2 -#define RGB_DI_PIN D3 -#define RGBLED_SPLIT { 10, 10 } +#define RGB_DI_PIN D3 +#define RGBLED_SPLIT \ + { 10, 10 } #define RGBLED_NUM 20 /* Mechanical locking support. Use KC_LCAP, KC_LNUM or KC_LSCR instead in keymap */ #define LOCKING_SUPPORT_ENABLE /* Locking resynchronize hack */ #define LOCKING_RESYNC_ENABLE + +#ifdef OLED_DRIVER_ENABLE +# define OLED_DISPLAY_128X64 +#endif diff --git a/keyboards/splitkb/kyria/rev1/rev1.c b/keyboards/splitkb/kyria/rev1/rev1.c new file mode 100644 index 0000000000..fef272e38f --- /dev/null +++ b/keyboards/splitkb/kyria/rev1/rev1.c @@ -0,0 +1,123 @@ +/* Copyright 2019 Thomas Baart <thomas@splitkb.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#include "rev1.h" + +#ifdef SWAP_HANDS_ENABLE +// clang-format off +__attribute__ ((weak)) const keypos_t PROGMEM hand_swap_config[MATRIX_ROWS][MATRIX_COLS] = { + {{0, 4}, {1, 4}, {2, 4}, {3, 4}, {4, 4}, {5, 4}, {6, 4}, {7, 4}}, + {{0, 5}, {1, 5}, {2, 5}, {3, 5}, {4, 5}, {5, 5}, {6, 5}, {7, 5}}, + {{0, 6}, {1, 6}, {2, 6}, {3, 6}, {4, 6}, {5, 6}, {6, 6}, {7, 6}}, + {{0, 7}, {1, 7}, {2, 7}, {3, 7}, {4, 7}, {5, 7}, {6, 7}, {7, 7}}, + {{0, 0}, {1, 0}, {2, 0}, {3, 0}, {4, 0}, {5, 0}, {6, 0}, {7, 0}}, + {{0, 1}, {1, 1}, {2, 1}, {3, 1}, {4, 1}, {5, 1}, {6, 1}, {7, 1}}, + {{0, 2}, {1, 2}, {2, 2}, {3, 2}, {4, 2}, {5, 2}, {6, 2}, {7, 2}}, + {{0, 3}, {1, 3}, {2, 3}, {3, 3}, {4, 3}, {5, 3}, {6, 3}, {7, 3}} +}; +// clang-format on +#endif + +#ifdef OLED_DRIVER_ENABLE +__attribute__((weak)) oled_rotation_t oled_init_user(oled_rotation_t rotation) { return OLED_ROTATION_180; } + +__attribute__((weak)) void oled_task_user(void) { + if (is_keyboard_master()) { + // QMK Logo and version information + // clang-format off + static const char PROGMEM qmk_logo[] = { + 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94, + 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4, + 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,0}; + // clang-format on + + oled_write_P(qmk_logo, false); + oled_write_P(PSTR("Kyria rev1.0\n\n"), false); + + // Host Keyboard Layer Status + oled_write_P(PSTR("Layer: "), false); + switch (get_highest_layer(layer_state | default_layer_state)) { + case 0: + oled_write_P(PSTR("QWERTY\n"), false); + break; + case 1: + oled_write_P(PSTR("Dvorak\n"), false); + break; + case 2: + oled_write_P(PSTR("Colemak-DH\n"), false); + break; + case 3: + oled_write_P(PSTR("Nav\n"), false); + break; + case 4: + oled_write_P(PSTR("Sym\n"), false); + break; + case 5: + oled_write_P(PSTR("Function\n"), false); + break; + case 6: + oled_write_P(PSTR("Adjust\n"), false); + break; + default: + oled_write_P(PSTR("Undefined\n"), false); + } + + // Host Keyboard LED Status + led_t led_usb_state = host_keyboard_led_state(); + oled_write_P(led_usb_state.num_lock ? PSTR("NUMLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.caps_lock ? PSTR("CAPLCK ") : PSTR(" "), false); + oled_write_P(led_usb_state.scroll_lock ? PSTR("SCRLCK ") : PSTR(" "), false); + } else { + // clang-format off + static const char PROGMEM kyria_logo[] = { + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,128,128,192,224,240,112,120, 56, 60, 28, 30, 14, 14, 14, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 7, 14, 14, 14, 30, 28, 60, 56,120,112,240,224,192,128,128, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0,192,224,240,124, 62, 31, 15, 7, 3, 1,128,192,224,240,120, 56, 60, 28, 30, 14, 14, 7, 7,135,231,127, 31,255,255, 31,127,231,135, 7, 7, 14, 14, 30, 28, 60, 56,120,240,224,192,128, 1, 3, 7, 15, 31, 62,124,240,224,192, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0,240,252,255, 31, 7, 1, 0, 0,192,240,252,254,255,247,243,177,176, 48, 48, 48, 48, 48, 48, 48,120,254,135, 1, 0, 0,255,255, 0, 0, 1,135,254,120, 48, 48, 48, 48, 48, 48, 48,176,177,243,247,255,254,252,240,192, 0, 0, 1, 7, 31,255,252,240, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,254,255,255, 1, 1, 7, 30,120,225,129,131,131,134,134,140,140,152,152,177,183,254,248,224,255,255,224,248,254,183,177,152,152,140,140,134,134,131,131,129,225,120, 30, 7, 1, 1,255,255,254, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0,255,255, 0, 0,192,192, 48, 48, 0, 0,240,240, 0, 0, 0, 0, 0, 0,240,240, 0, 0,240,240,192,192, 48, 48, 48, 48,192,192, 0, 0, 48, 48,243,243, 0, 0, 0, 0, 0, 0, 48, 48, 48, 48, 48, 48,192,192, 0, 0, 0, 0, 0, + 0, 0, 0,255,255,255, 0, 0, 0, 0, 0,127,255,255,128,128,224,120, 30,135,129,193,193, 97, 97, 49, 49, 25, 25,141,237,127, 31, 7,255,255, 7, 31,127,237,141, 25, 25, 49, 49, 97, 97,193,193,129,135, 30,120,224,128,128,255,255,127, 0, 0, 0, 0, 0,255,255,255, 0, 0, 0, 0, 63, 63, 3, 3, 12, 12, 48, 48, 0, 0, 0, 0, 51, 51, 51, 51, 51, 51, 15, 15, 0, 0, 63, 63, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48, 48, 63, 63, 48, 48, 0, 0, 12, 12, 51, 51, 51, 51, 51, 51, 63, 63, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 15, 63,255,248,224,128, 0, 0, 3, 15, 63,127,255,239,207,141, 13, 12, 12, 12, 12, 12, 12, 12, 30,127,225,128, 0, 0,255,255, 0, 0,128,225,127, 30, 12, 12, 12, 12, 12, 12, 12, 13,141,207,239,255,127, 63, 15, 3, 0, 0,128,224,248,255, 63, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 3, 7, 15, 62,124,248,240,224,192,128, 1, 3, 7, 15, 30, 28, 60, 56,120,112,112,224,224,225,231,254,248,255,255,248,254,231,225,224,224,112,112,120, 56, 60, 28, 30, 15, 7, 3, 1,128,192,224,240,248,124, 62, 15, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 7, 15, 14, 30, 28, 60, 56,120,112,112,112,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,224,112,112,112,120, 56, 60, 28, 30, 14, 15, 7, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 + }; + // clang-format on + oled_write_raw_P(kyria_logo, sizeof(kyria_logo)); + } +} +#endif + +#ifdef ENCODER_ENABLE +bool encoder_update_kb(uint8_t index, bool clockwise) { + if (!encoder_update_user(index, clockwise)) { + return false; + } + + if (index == 0) { + // Volume control + if (clockwise) { + tap_code(KC_VOLU); + } else { + tap_code(KC_VOLD); + } + } else if (index == 1) { + // Page up/Page down + if (clockwise) { + tap_code(KC_PGDN); + } else { + tap_code(KC_PGUP); + } + } + return true; +} +#endif diff --git a/keyboards/kyria/rev1/rev1.h b/keyboards/splitkb/kyria/rev1/rev1.h index 44060a1536..bf9864fe36 100644 --- a/keyboards/kyria/rev1/rev1.h +++ b/keyboards/splitkb/kyria/rev1/rev1.h @@ -64,19 +64,4 @@ { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \ } -#define LAYOUT_split_3x6_5( \ - L00, L01, L02, L03, L04, L05, R06, R07, R08, R09, R10, R11, \ - L12, L13, L14, L15, L16, L17, R18, R19, R20, R21, R22, R23, \ - L24, L25, L26, L27, L28, L29, R34, R35, R36, R37, R38, R39, \ - L40, L41, L42, L43, L44, R45, R46, R47, R48, R49 \ -) \ -{ \ - { KC_NO, KC_NO, L05, L04, L03, L02, L01, L00 }, \ - { KC_NO, KC_NO, L17, L16, L15, L14, L13, L12 }, \ - { KC_NO, KC_NO, L29, L28, L27, L26, L25, L24 }, \ - { L44, L43, L42, L41, L40, KC_NO, KC_NO, KC_NO }, \ - { KC_NO, KC_NO, R06, R07, R08, R09, R10, R11 }, \ - { KC_NO, KC_NO, R18, R19, R20, R21, R22, R23 }, \ - { KC_NO, KC_NO, R34, R35, R36, R37, R38, R39 }, \ - { R45, R46, R47, R48, R49, KC_NO, KC_NO, KC_NO }, \ -} +#define LAYOUT_split_3x6_5 LAYOUT diff --git a/keyboards/kyria/rev1/rules.mk b/keyboards/splitkb/kyria/rev1/rules.mk index 8b1c9616cb..8b1c9616cb 100644 --- a/keyboards/kyria/rev1/rules.mk +++ b/keyboards/splitkb/kyria/rev1/rules.mk diff --git a/keyboards/kyria/rules.mk b/keyboards/splitkb/kyria/rules.mk index 2c749186af..0b1eddbc5a 100644 --- a/keyboards/kyria/rules.mk +++ b/keyboards/splitkb/kyria/rules.mk @@ -24,4 +24,4 @@ AUDIO_ENABLE = no # Audio output on port C6 SPLIT_KEYBOARD = yes # Split common LTO_ENABLE = yes -DEFAULT_FOLDER = kyria/rev1 +DEFAULT_FOLDER = splitkb/kyria/rev1 diff --git a/keyboards/splitkb/zima/config.h b/keyboards/splitkb/zima/config.h index fcfa37ff35..7e79e7f359 100644 --- a/keyboards/splitkb/zima/config.h +++ b/keyboards/splitkb/zima/config.h @@ -20,15 +20,15 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #include "config_common.h" /* USB Device descriptor parameter */ -#define VENDOR_ID 0xFEED -#define PRODUCT_ID 0xF75B -#define DEVICE_VER 0x0001 +#define VENDOR_ID 0x8D1D +#define PRODUCT_ID 0xF75B +#define DEVICE_VER 0x0001 #define MANUFACTURER splitkb -#define PRODUCT Zima +#define PRODUCT Zima /* key matrix size */ -#define MATRIX_ROWS 4 -#define MATRIX_COLS 3 +#define MATRIX_ROWS 4 +#define MATRIX_COLS 3 /* * Keyboard Matrix Assignments @@ -37,9 +37,8 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. { C6, D6, D5 }, \ { C7, F7, D4 }, \ { E6, F5, F6 }, \ - { F0, F1, F4 } \ + { F0, F1, F4 }, \ } - #define UNUSED_PINS #define ENCODERS_PAD_A { B4 } @@ -53,11 +52,11 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define AUDIO_CLICKY #define NO_MUSIC_MODE -#define RGB_DI_PIN B5 -#define RGBLED_NUM 5 -#define RGBLIGHT_HUE_STEP 8 -#define RGBLIGHT_SAT_STEP 8 -#define RGBLIGHT_VAL_STEP 8 +#define RGB_DI_PIN B5 +#define RGBLED_NUM 5 +#define RGBLIGHT_HUE_STEP 8 +#define RGBLIGHT_SAT_STEP 8 +#define RGBLIGHT_VAL_STEP 8 #define RGBLIGHT_LIMIT_VAL 255 /* The maximum brightness level */ #define RGBLIGHT_SLEEP /* If defined, the RGB lighting will be switched off when the host goes to sleep */ #define RGBLIGHT_EFFECT_BREATHING @@ -67,7 +66,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. #define RGBLIGHT_EFFECT_TWINKLE /* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */ -#define DEBOUNCE 5 +#define DEBOUNCE 5 /* define if matrix has ghost (lacks anti-ghosting diodes) */ //#define MATRIX_HAS_GHOST @@ -77,16 +76,16 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. /* Locking resynchronize hack */ // #define LOCKING_RESYNC_ENABLE -#define FB_ERM_LRA 0 -#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ -#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ +#define FB_ERM_LRA 0 +#define FB_BRAKEFACTOR 3 /* For 1x:0, 2x:1, 3x:2, 4x:3, 6x:4, 8x:5, 16x:6, Disable Braking:7 */ +#define FB_LOOPGAIN 1 /* For Low:0, Medium:1, High:2, Very High:3 */ /* Please refer to your datasheet for the optimal setting for your specific motor. */ -#define RATED_VOLTAGE 3 -#define V_PEAK 5 +#define RATED_VOLTAGE 3 +#define V_PEAK 5 -#define DRV_GREETING alert_750ms -#define DRV_MODE_DEFAULT buzz +#define DRV_GREETING alert_750ms +#define DRV_MODE_DEFAULT buzz // EC11K encoders have a different resolution than other EC11 encoders. // When using the default resolution of 4, if you notice your encoder skipping // every other tick, lower the resolution to 2. diff --git a/keyboards/splitkb/zima/keymaps/via/config.h b/keyboards/splitkb/zima/keymaps/via/config.h new file mode 100644 index 0000000000..5a0e407c95 --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/via/config.h @@ -0,0 +1,20 @@ +/* Copyright 2019 Thomas Baart + * Copyright 2021 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#define DYNAMIC_KEYMAP_LAYER_COUNT 8 diff --git a/keyboards/splitkb/zima/keymaps/via/keymap.c b/keyboards/splitkb/zima/keymaps/via/keymap.c new file mode 100644 index 0000000000..e9fb001bbe --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/via/keymap.c @@ -0,0 +1,68 @@ +/* Copyright 2019 Thomas Baart + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ +#include QMK_KEYBOARD_H + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + // clang-format off + [0] = LAYOUT_ortho_4x3(/* Base */ + KC_MUTE, TG(1), TG(2), + KC_P7, KC_P8, KC_P9, + KC_P4, KC_P5, KC_P6, + KC_P1, KC_P2, KC_P3 + ), + [1] = LAYOUT_ortho_4x3(/* Layer 1 */ + RESET, _______, XXXXXXX, + AU_ON, AU_OFF, XXXXXXX, + CK_TOGG, XXXXXXX, CK_UP, + CK_RST, XXXXXXX, CK_DOWN + ), + [2] = LAYOUT_ortho_4x3(/* Layer 2*/ + RGB_TOG, RGB_MOD, _______, + RGB_HUI, RGB_SAI, RGB_VAI, + RGB_HUD, RGB_SAD, RGB_VAD, + HPT_TOG, HPT_FBK, HPT_CONT + ), + [3] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [4] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [5] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [6] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), + [7] = LAYOUT_ortho_4x3( + _______, _______, _______, + _______, _______, _______, + _______, _______, _______, + _______, _______, _______ + ), +}; diff --git a/keyboards/splitkb/zima/keymaps/via/rules.mk b/keyboards/splitkb/zima/keymaps/via/rules.mk new file mode 100644 index 0000000000..1eb438e469 --- /dev/null +++ b/keyboards/splitkb/zima/keymaps/via/rules.mk @@ -0,0 +1,2 @@ +VIA_ENABLE = yes +HAPTIC_ENABLE = no |