diff --git a/keyboards/kyria/keymaps/mattir2/config.h b/keyboards/kyria/keymaps/mattir2/config.h new file mode 100644 index 0000000000..ee61cfae35 --- /dev/null +++ b/keyboards/kyria/keymaps/mattir2/config.h @@ -0,0 +1,30 @@ +/* Copyright 2021 Matt Gilbert + * + * 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 + +// Set the layer toggle to only need 2 clicks instead of 5 +#define TAPPING_TOGGLE 2 + +// The Leader key allows to flexibly assign macros to key sequences. +#define LEADER_PER_KEY_TIMING +#define LEADER_TIMEOUT 350 + +#define TAPPING_TERM 200 + +// Allows to use either side as the master. Look at the documentation for info: +// https://docs.qmk.fm/#/config_options?id=setting-handedness +#define EE_HANDS diff --git a/keyboards/kyria/keymaps/mattir2/keymap.c b/keyboards/kyria/keymaps/mattir2/keymap.c new file mode 100644 index 0000000000..53d829320e --- /dev/null +++ b/keyboards/kyria/keymaps/mattir2/keymap.c @@ -0,0 +1,66 @@ +/* Copyright 2020 Matthew Gilbert + * + * 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 { + QWERTY, + LOWER, + RAISE, + FUNCS +}; + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [QWERTY] = LAYOUT( + KC_ESC, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_BSLS, + KC_TAB, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, + KC_LEAD, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_LSFT, KC_GRV, TT(FUNCS), KC_RSFT, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_MINS, + KC_LSFT, KC_LALT, KC_LGUI, LT(LOWER, KC_SPC), LT(RAISE, KC_ENT), LT(RAISE, KC_ENT), LT(LOWER, KC_SPC), KC_BSPC, KC_LCTRL, KC_RSFT + ), + [LOWER] = LAYOUT( + _______, KC_EXLM, KC_AT, KC_HASH, KC_LCBR, KC_RCBR, _______, _______, _______, _______, _______, _______, + _______, KC_DLR, KC_PERC, KC_CIRC, KC_LPRN, KC_RPRN, KC_EQL, KC_PLUS, KC_MINS, KC_ASTR, KC_SLSH, _______, + _______, KC_AMPR, _______, _______, KC_LBRC, KC_RBRC, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), + [RAISE] = LAYOUT( + _______, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, _______, + KC__VOLUP, _______, KC_BTN1, KC_BTN3, KC_BTN2, KC_WH_U, KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, KC_BRIU, _______, + KC__VOLDOWN, KC__MUTE, KC_MPRV, KC_MPLY, KC_MNXT, KC_WH_D, KC_WH_L, KC_WH_R, _______, _______, KC_MS_L, KC_MS_D, KC_MS_U, KC_MS_R, KC_BRID, _______, + _______, _______, _______, _______, _______, _______, _______, KC_DEL, _______, _______ + ), + [FUNCS] = LAYOUT( + _______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_PPLS, KC_P7, KC_P8, KC_P9, KC_PAST, _______, + _______, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_PMNS, KC_P4, KC_P5, KC_P6, KC_PSLS, KC_PEQL, + _______, KC_F11, KC_F12, _______, _______, _______, _______, _______, _______, _______, KC_P0, KC_P1, KC_P2, KC_P3, KC_PDOT, KC_PENT, + _______, _______, _______, _______, _______, _______, _______, _______, _______, _______ + ), +}; + +LEADER_EXTERNS(); + +void matrix_scan_user(void) { + LEADER_DICTIONARY() { + leading = false; + leader_end(); + + SEQ_ONE_KEY(KC_A) { + tap_code16(SGUI(KC_L)); + } + SEQ_TWO_KEYS(KC_S, KC_S) { + tap_code16(SGUI(KC_5)); + } + } +} diff --git a/keyboards/kyria/keymaps/mattir2/readme.md b/keyboards/kyria/keymaps/mattir2/readme.md new file mode 100644 index 0000000000..117fba751d --- /dev/null +++ b/keyboards/kyria/keymaps/mattir2/readme.md @@ -0,0 +1,67 @@ +# Mattir's keymap & configs for [Kyria](https://github.com/splitkb/kyria) + +## Keymap + +This is my customized keymap and layer setup for my second Kyria split keyboard. It's based largely on the defaults, but with several things moved to new layers. Keys in the diagrams below that are blank are "transparent" and they drop down to the lowest layer that has them defined. + +The PCBs for the Kyria are rev. 1.3 +Each half uses an Elite-C low-profile (rev 4) microcontroller with USB-C connector +The boards are outfitted with Kailh Choc Jade switches and MBK keycaps + +Unlike my first build, this is a minimal build with no encoders, RGB LEDs, or OLED displays. + +### Base layer `QWERTY` + +``` +,-------------------------------------------. ,-------------------------------------------. +| Esc | Q | W | E | R | T | | Y | U | I | O | P | \ | | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| Tab | A | S | D | F | G | | H | J | K | L | ; : | ' " | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| Leader | Z | X | C | V | B | Shft | ` ~ | | L3 | Shft | N | M | , < | . > | / ? | - _ | +`----------------------+------+------+------+------|------| |------|------+------+------+------+----------------------' + | Shft | Alt | Supr |L1/Spc|L2/Ent| |L2/Ent|L1/Spc| Bksp | Alt | Shft | + `----------------------------------' `----------------------------------' +``` + +### Symbols layer `LOWER` + +``` +,-------------------------------------------. ,-------------------------------------------. +| | ! | @ | # | { | } | | | | | | | | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| | $ | % | ^ | ( | ) | | = | + | - | * | / | | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| | & | | | [ | ] | | | | | | | | | | | | +`----------------------+------+------+------+------|------| |------|------+------+------+------+----------------------' + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' +``` + +### Numbers and mouse-keys layer `RAISE` + +``` +,-------------------------------------------. ,-------------------------------------------. +| | 1 | 2 | 3 | 4 | 5 | | 6 | 7 | 8 | 9 | 0 | | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| Vol Up | | LMsB | MMsB | RMsB | MW Up| | Left | Down | Up | Right|Bri Up| | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| Vol Dn | Mute | Prev | Play | Next | MW Dn| MW L | MW R | | | | MLeft| Mdown| MUp |MRight|Bri Dn| | +`----------------------+------+------+------+------|------| |------|------+------+------+------+----------------------' + | | | | | | | | | Del | | | + `----------------------------------' `----------------------------------' +``` + +### F-Keys and number-pad layer `FUNCS` + +``` +,-------------------------------------------. ,-------------------------------------------. +| | F1 | F2 | F3 | F4 | F5 | | np + | np 7 | np 8 | np 9 | np * | | +|--------+------+------+------+------+------| |------+------+------+------+------+--------| +| | F6 | F7 | F8 | F9 | F10 | | np - | np 4 | np 5 | np 6 | np / | = | +|--------+------+------+------+------+------+-------------. ,-------------+------+------+------+------+------+--------| +| | F11 | F12 | | | | | | | | | np 0 | np 1 | np 2 | np 3 | np . | Enter | +`----------------------+------+------+------+------| | | |------+------+------+------+----------------------' + | | | | | | | | | | | | + `----------------------------------' `----------------------------------' +``` diff --git a/keyboards/kyria/keymaps/mattir2/rules.mk b/keyboards/kyria/keymaps/mattir2/rules.mk new file mode 100644 index 0000000000..cc5ae236ff --- /dev/null +++ b/keyboards/kyria/keymaps/mattir2/rules.mk @@ -0,0 +1,4 @@ +OLED_DRIVER_ENABLE = no # Enables the use of OLED displays +ENCODER_ENABLE = no # Enables the use of one or more encoders +RGBLIGHT_ENABLE = no # Enable keyboard RGB underglow +LEADER_ENABLE = yes # Enables the use of the leader key