diff --git a/keyboards/splitkb/kyria/rev3/keymaps/vial/config.h b/keyboards/splitkb/kyria/rev3/keymaps/vial/config.h new file mode 100644 index 0000000000..896dde5709 --- /dev/null +++ b/keyboards/splitkb/kyria/rev3/keymaps/vial/config.h @@ -0,0 +1,24 @@ +/* Copyright 2022 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 . + */ + +#pragma once + +#define VIAL_KEYBOARD_UID {0x04, 0x7F, 0x41, 0xF3, 0x39, 0xD8, 0x1F, 0xEA} + +#define VIAL_UNLOCK_COMBO_ROWS { 0, 4 } +#define VIAL_UNLOCK_COMBO_COLS { 6, 6 } +#define DYNAMIC_KEYMAP_LAYER_COUNT 5 +#define VIAL_TAP_DANCE_ENTRIES 20 diff --git a/keyboards/splitkb/kyria/rev3/keymaps/vial/keymap.c b/keyboards/splitkb/kyria/rev3/keymaps/vial/keymap.c new file mode 100644 index 0000000000..c9e91ccf81 --- /dev/null +++ b/keyboards/splitkb/kyria/rev3/keymaps/vial/keymap.c @@ -0,0 +1,153 @@ +/* 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 . + */ +#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 +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( + 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 + ), + +/* + * 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_SCRL, _______, _______, 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( + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, RGB_TOG, RGB_SAI, RGB_HUI, RGB_VAI, RGB_MOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, RGB_SAD, RGB_HUD, RGB_VAD, RGB_RMOD, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ) +}; +// clang-format on + +#ifdef ENCODER_MAP_ENABLE +const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][NUM_DIRECTIONS] = { + [0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_PGUP, KC_PGDN) }, + [1] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [2] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [3] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, + [4] = { ENCODER_CCW_CW(_______, _______), ENCODER_CCW_CW(_______, _______) }, +}; +#endif diff --git a/keyboards/splitkb/kyria/rev3/keymaps/vial/rules.mk b/keyboards/splitkb/kyria/rev3/keymaps/vial/rules.mk new file mode 100644 index 0000000000..9963c7976a --- /dev/null +++ b/keyboards/splitkb/kyria/rev3/keymaps/vial/rules.mk @@ -0,0 +1,15 @@ +VIA_ENABLE = yes +VIAL_ENABLE = yes + +OLED_ENABLE = no +RGB_MATRIX_ENABLE = no + +ENCODER_ENABLE = yes +ENCODER_MAP_ENABLE = yes + +MOUSEKEY_ENABLE = no +QMK_SETTINGS = no +COMBO_ENABLE = no +KEY_OVERRIDE_ENABLE = no + +#CONVERT_TO = rp2040_ce diff --git a/keyboards/splitkb/kyria/rev3/keymaps/vial/vial.json b/keyboards/splitkb/kyria/rev3/keymaps/vial/vial.json new file mode 100644 index 0000000000..d273aeb804 --- /dev/null +++ b/keyboards/splitkb/kyria/rev3/keymaps/vial/vial.json @@ -0,0 +1,316 @@ +{ + "lighting": "none", + "matrix": { + "rows": 8, + "cols": 7 + }, + "layouts": { + "keymap": [ + { + "name": "Kyria" + }, + [ + { + "x": 6.5 + }, + "0,1\n\n\n\n\n\n\n\n\ne", + { + "x": 2 + }, + "1,1\n\n\n\n\n\n\n\n\ne" + ], + [ + { + "y": -0.75, + "x": 3 + }, + "0,3", + { + "x": 9 + }, + "4,3" + ], + [ + { + "y": -0.75, + "x": 2 + }, + "0,4", + { + "x": 1 + }, + "0,2", + { + "x": 7 + }, + "4,2", + { + "x": 1 + }, + "4,4" + ], + [ + { + "y": -0.875, + "x": 5 + }, + "0,1", + { + "x": 5 + }, + "4,1" + ], + [ + { + "y": -0.625, + "c": "#aaaaaa" + }, + "0,6", + { + "c": "#cccccc" + }, + "0,5", + { + "x": 4.5 + }, + "0,0\n\n\n\n\n\n\n\n\ne", + { + "x": 2 + }, + "1,0\n\n\n\n\n\n\n\n\ne", + { + "x": 4.5 + }, + "4,5", + { + "c": "#aaaaaa" + }, + "4,6" + ], + [ + { + "y": -0.75, + "x": 3, + "c": "#cccccc" + }, + "1,3", + { + "x": 9 + }, + "5,3" + ], + [ + { + "y": -0.75, + "x": 2 + }, + "1,4", + { + "x": 1 + }, + "1,2", + { + "x": 7 + }, + "5,2", + { + "x": 1 + }, + "5,4" + ], + [ + { + "y": -0.875, + "x": 5 + }, + "1,1", + { + "x": 5 + }, + "5,1" + ], + [ + { + "y": -0.625, + "c": "#aaaaaa" + }, + "1,6", + { + "c": "#cccccc" + }, + "1,5", + { + "x": 13 + }, + "5,5", + { + "c": "#aaaaaa" + }, + "5,6" + ], + [ + { + "y": -0.75, + "x": 3, + "c": "#cccccc" + }, + "2,3", + { + "x": 9 + }, + "6,3" + ], + [ + { + "y": -0.75, + "x": 2 + }, + "2,4", + { + "x": 1 + }, + "2,2", + { + "x": 7 + }, + "6,2", + { + "x": 1 + }, + "6,4" + ], + [ + { + "y": -0.875, + "x": 5 + }, + "2,1", + { + "x": 5 + }, + "6,1" + ], + [ + { + "y": -0.625, + "c": "#aaaaaa" + }, + "2,6", + { + "c": "#cccccc" + }, + "2,5", + { + "x": 13 + }, + "6,5", + { + "c": "#aaaaaa" + }, + "6,6" + ], + [ + { + "y": -0.5, + "x": 2.5 + }, + "3,4", + { + "x": 10 + }, + "7,4" + ], + [ + { + "rx": 4, + "ry": 8.175, + "y": -4.675000000000001, + "x": -0.5 + }, + "3,2" + ], + [ + { + "rx": 13, + "y": -4.675000000000001, + "x": -0.5 + }, + "7,2" + ], + [ + { + "r": 15, + "rx": 4, + "y": -4.675000000000001, + "x": -0.5 + }, + "3,1" + ], + [ + { + "r": 30, + "y": -2, + "x": -0.5 + }, + "3,3" + ], + [ + { + "x": -0.5 + }, + "3,5" + ], + [ + { + "r": 45, + "y": -2, + "x": -0.5 + }, + "2,0" + ], + [ + { + "x": -0.5 + }, + "3,0" + ], + [ + { + "r": -45, + "rx": 13, + "y": -5.675000000000001, + "x": -0.5 + }, + "6,0" + ], + [ + { + "x": -0.5 + }, + "7,0" + ], + [ + { + "r": -30, + "y": -2, + "x": -0.5 + }, + "7,3" + ], + [ + { + "x": -0.5 + }, + "7,5" + ], + [ + { + "r": -15, + "y": -1, + "x": -0.5 + }, + "7,1" + ] + ] + } +}