keyboard

My QMK keyboard layouts
git clone git://gtms.dev/keyboard
Log | Files | Refs | README | LICENSE

commit 1638e0fbd92dd48299f288250ce33dc3c8bcbd65
parent 106ede2dd99ff0249d7ccd98a2bfb9a02d63c0d0
Author: Tomas Nemec <owl@gtms.dev>
Date:   Mon,  7 Apr 2025 09:54:15 +0200

update

Diffstat:
Mkeyboards/ergodox_ez/glow/keymaps/tms/config.h | 2+-
Mkeyboards/ergodox_ez/glow/keymaps/tms/keymap.c | 129+++++++++++++++++++++++++++++++++++++++++++------------------------------------
2 files changed, 72 insertions(+), 59 deletions(-)

diff --git a/keyboards/ergodox_ez/glow/keymaps/tms/config.h b/keyboards/ergodox_ez/glow/keymaps/tms/config.h @@ -2,5 +2,5 @@ #define PERMISSIVE_HOLD #define ENABLE_COMPILE_KEYCODE #define RETRO_TAPPING -#define TAPPING_TERM 200 +#define TAPPING_TERM 180 #define QUICK_TAP_TERM 0 diff --git a/keyboards/ergodox_ez/glow/keymaps/tms/keymap.c b/keyboards/ergodox_ez/glow/keymaps/tms/keymap.c @@ -2,8 +2,6 @@ #include "version.h" enum layers { - QWRT, // qwerty layer - QSMB, // qwerty sembols DVRK, // Dvorak DSMB, // Dvorak symbols MDIA, // media keys @@ -13,12 +11,6 @@ enum layers { SERV, // service }; -/* enum custom_keycodes { */ -/* DVORAK = SAFE_RANGE, */ -/* QWERTY, */ -/* VRSN, */ -/* }; */ - // Left-hand home row mods #define HOME_A LGUI_T(KC_A) #define HOME_O LALT_T(KC_O) @@ -31,54 +23,37 @@ enum layers { #define HOME_N LALT_T(KC_N) #define HOME_S RGUI_T(KC_S) -// [Key Lock](feature_key_lock.md) -// |`QK_LOCK`|Hold down the next key pressed, until the key is pressed again| -// -// [Layer Switching](feature_layers.md#switching-and-toggling-layers) -// |`DF(layer)` |Set the base (default) layer | -// |`MO(layer)` |Momentarily turn on `layer` when pressed (requires `KC_TRNS` on destination layer)| -// |`OSL(layer)` |Momentarily activates `layer` until a key is pressed. See [One Shot Keys](one_shot_keys.md) for details. | -// |`LM(layer, mod)`|Momentarily turn on `layer` (like MO) with `mod` active as well. Where `mod` is a mods_bit. Mods can be viewed [here](mod_tap.md). Example Implementation: `LM(LAYER_1, MOD_LALT)`| -// |`LT(layer, kc)` |Turn on `layer` when held, `kc` when tapped | -// |`TG(layer)` |Toggle `layer` on or off | -// |`TO(layer)` |Turns on `layer` and turns off all other layers, except the default layer | -// |`TT(layer)` |Normally acts like MO unless it's tapped multiple times, which toggles `layer` on | -// -// [One Shot Keys](one_shot_keys.md) -// |`OSM(mod)` | |Hold `mod` for one keypress | -// |`OSL(layer)` | |Switch to `layer` for one keypress| -// |`QK_ONE_SHOT_TOGGLE`|`OS_TOGG`|Toggles One Shot keys status | -// |`QK_ONE_SHOT_ON` |`OS_ON` |Turns One Shot keys on | -// |`QK_ONE_SHOT_OFF` |`OS_OFF` |Turns One Shot keys off | +#define LTHUMB LT(DSMB, KC_TAB) +#define RTHUMB LT(DSMB, KC_ENT) // clang-format off const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { -// ┌──────────┬────────┬────────┬──────────┬───────────────┬──────────┬──────────┐ ┌──────────┬─────┬───────────────┬────────┬────────┬────────┬──────────┐ -// │ caps │ 1 │ 2 │ 3 │ 4 │ 5 │ │ │ TG(DVRK) │ 6 │ 7 │ 8 │ 9 │ 0 │ │ -// ├──────────┼────────┼────────┼──────────┼───────────────┼──────────┼──────────┤ ├──────────┼─────┼───────────────┼────────┼────────┼────────┼──────────┤ -// │ CW_TOGG │ ; │ , │ . │ p │ y │ MO(NUME) │ │ MOD_MEH │ f │ g │ c │ r │ l │ ralt │ -// ├──────────┼────────┼────────┼──────────┼───────────────┼──────────┼──────────┘ └──────────┼─────┼───────────────┼────────┼────────┼────────┼──────────┤ -// │ esc │ HOME_A │ HOME_O │ HOME_E │ HOME_U │ i │ │ d │ HOME_H │ HOME_T │ HOME_N │ HOME_S │ - │ -// ├──────────┼────────┼────────┼──────────┼───────────────┼──────────┼──────────┐ ┌──────────┼─────┼───────────────┼────────┼────────┼────────┼──────────┤ -// │ lsft │ ' │ q │ j │ k │ x │ \ │ │ / │ b │ m │ w │ v │ z │ rsft │ -// ├──────────┼────────┼────────┼──────────┼───────────────┼──────────┴──────────┘ └──────────┴─────┼───────────────┼────────┼────────┼────────┼──────────┤ -// │ MO(SERV) │ │ │ MO(MOVE) │ lgui │ │ lgui │ │ │ │ MO(SERV) │ -// └──────────┴────────┴────────┴──────────┴───────────────┼──────────┬──────────┐ ┌──────────┬─────┼───────────────┴────────┴────────┴────────┴──────────┘ -// │ MO(MDIA) │ │ │ │ │ -// └──────────┼──────────┤ ├──────────┼─────┘ -// │ │ │ │ -// ┌───────────────┬──────────┼──────────┤ ├──────────┼─────┬───────────────┐ -// │ LT(DSMB, tab) │ spc │ bspc │ │ del │ spc │ LT(DSMB, ent) │ -// └───────────────┴──────────┴──────────┘ └──────────┴─────┴───────────────┘ +// ┌──────────┬────────┬────────┬────────┬──────────┬─────┬──────────┐ ┌─────┬─────┬──────────┬────────┬────────┬────────┬──────────┐ +// │ caps │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ +// ├──────────┼────────┼────────┼────────┼──────────┼─────┼──────────┤ ├─────┼─────┼──────────┼────────┼────────┼────────┼──────────┤ +// │ CW_TOGG │ ; │ , │ . │ p │ y │ MO(NUME) │ │ │ f │ g │ c │ r │ l │ │ +// ├──────────┼────────┼────────┼────────┼──────────┼─────┼──────────┘ └─────┼─────┼──────────┼────────┼────────┼────────┼──────────┤ +// │ esc │ HOME_A │ HOME_O │ HOME_E │ HOME_U │ i │ │ d │ HOME_H │ HOME_T │ HOME_N │ HOME_S │ - │ +// ├──────────┼────────┼────────┼────────┼──────────┼─────┼──────────┐ ┌─────┼─────┼──────────┼────────┼────────┼────────┼──────────┤ +// │ lsft │ ' │ q │ j │ k │ x │ │ │ │ b │ m │ w │ v │ z │ rsft │ +// ├──────────┼────────┼────────┼────────┼──────────┼─────┴──────────┘ └─────┴─────┼──────────┼────────┼────────┼────────┼──────────┤ +// │ MO(SERV) │ │ │ │ MO(MOVE) │ │ MO(MDIA) │ │ │ │ MO(SERV) │ +// └──────────┴────────┴────────┴────────┴──────────┼─────┬──────────┐ ┌─────┬─────┼──────────┴────────┴────────┴────────┴──────────┘ +// │ │ │ │ │ │ +// └─────┼──────────┤ ├─────┼─────┘ +// │ │ │ │ +// ┌──────────┬─────┼──────────┤ ├─────┼─────┬──────────┐ +// │ LTHUMB │ spc │ bspc │ │ del │ spc │ RTHUMB │ +// └──────────┴─────┴──────────┘ └─────┴─────┴──────────┘ [DVRK] = LAYOUT_ergodox_pretty( - KC_CAPS , KC_1 , KC_2 , KC_3 , KC_4 , KC_5 , _______ , TG(DVRK) , KC_6 , KC_7 , KC_8 , KC_9 , KC_0 , _______ , - CW_TOGG , KC_SCLN , KC_COMM , KC_DOT , KC_P , KC_Y , MO(NUME) , MOD_MEH , KC_F , KC_G , KC_C , KC_R , KC_L , KC_RALT , - KC_ESC , HOME_A , HOME_O , HOME_E , HOME_U , KC_I , KC_D , HOME_H , HOME_T , HOME_N , HOME_S , KC_MINS , - KC_LSFT , KC_QUOT , KC_Q , KC_J , KC_K , KC_X , KC_BSLS , KC_SLSH , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_RSFT , - MO(SERV) , _______ , _______ , MO(MOVE) , KC_LGUI , KC_LGUI , _______ , _______ , _______ , MO(SERV), - MO(MDIA) , _______ , _______ , _______ , - _______ , _______ , - LT(DSMB, KC_TAB) , KC_SPC , KC_BSPC , KC_DEL , KC_SPC , LT(DSMB, KC_ENT) + KC_CAPS , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , + CW_TOGG , KC_SCLN , KC_COMM , KC_DOT , KC_P , KC_Y , MO(NUME) , _______ , KC_F , KC_G , KC_C , KC_R , KC_L , _______ , + KC_ESC , HOME_A , HOME_O , HOME_E , HOME_U , KC_I , KC_D , HOME_H , HOME_T , HOME_N , HOME_S , KC_MINS , + KC_LSFT , KC_QUOT , KC_Q , KC_J , KC_K , KC_X , _______ , _______ , KC_B , KC_M , KC_W , KC_V , KC_Z , KC_RSFT , + MO(SERV) , _______ , _______ , _______ , MO(MOVE) , MO(MDIA) , _______ , _______ , _______ , MO(SERV), + _______ , _______ , _______ , _______ , + _______ , _______ , + LTHUMB , KC_SPC , KC_BSPC , KC_DEL , KC_SPC , RTHUMB ), // ┌──────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬─────┬─────┬─────┬─────┬─────┬──────┐ @@ -88,7 +63,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // ├──────┼─────┼─────┼─────┼─────┼─────┼─────┘ └─────┼─────┼─────┼─────┼─────┼─────┼──────┤ // │ ~ │ | │ : │ ( │ 0 │ ) │ │ { │ 1 │ } │ = │ + │ _ │ // ├──────┼─────┼─────┼─────┼─────┼─────┼─────┐ ┌─────┼─────┼─────┼─────┼─────┼─────┼──────┤ -// │ lsft │ 6 │ 7 │ 8 │ 9 │ # │ ! │ │ ? │ * │ 2 │ 3 │ 4 │ 5 │ rsft │ +// │ lsft │ 6 │ 7 │ 8 │ 9 │ # │ │ │ │ * │ 2 │ 3 │ 4 │ 5 │ rsft │ // ├──────┼─────┼─────┼─────┼─────┼─────┴─────┘ └─────┴─────┼─────┼─────┼─────┼─────┼──────┤ // │ │ │ │ │ │ │ │ │ │ │ │ // └──────┴─────┴─────┴─────┴─────┼─────┬─────┐ ┌─────┬─────┼─────┴─────┴─────┴─────┴──────┘ @@ -96,17 +71,17 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └─────┼─────┤ ├─────┼─────┘ // │ │ │ │ // ┌─────┬─────┼─────┤ ├─────┼─────┬─────┐ -// │ │ │ │ │ │ │ │ +// │ \ │ ! │ │ │ │ ? │ / │ // └─────┴─────┴─────┘ └─────┴─────┴─────┘ [DSMB] = LAYOUT_ergodox_pretty( _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______, _______ , KC_AMPR , KC_LT , KC_GT , KC_PERC , KC_AT , _______ , _______ , KC_CIRC , KC_DLR , KC_LBRC , KC_RBRC , KC_GRV , _______, KC_TILD , KC_PIPE , KC_COLN , KC_LPRN , KC_0 , KC_RPRN , KC_LCBR , KC_1 , KC_RCBR , KC_EQL , KC_PLUS , KC_UNDS, - KC_LSFT , KC_6 , KC_7 , KC_8 , KC_9 , KC_HASH , KC_EXLM , KC_QUES , KC_ASTR , KC_2 , KC_3 , KC_4 , KC_5 , KC_RSFT, + KC_LSFT , KC_6 , KC_7 , KC_8 , KC_9 , KC_HASH , _______ , _______ , KC_ASTR , KC_2 , KC_3 , KC_4 , KC_5 , KC_RSFT, _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______, _______ , _______ , _______ , _______ , _______ , _______ , - _______ , _______ , _______ , _______ , _______ , _______ + KC_BSLS , KC_EXLM , _______ , _______ , KC_QUES , KC_SLSH ), // ┌─────┬─────┬─────┬─────┬─────┬─────┬─────┐ ┌─────┬──────┬──────┬──────┬─────┬──────┬─────┐ @@ -236,7 +211,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { // └─────┼─────┤ ├─────┼─────────┘ // │ │ │ │ // ┌──────┬─────┼─────┤ ├─────┼─────────┬─────────┐ -// │ lsft │ │ │ │ │ QK_MAKE │ │ +// │ lsft │ │ │ │ │ │ QK_MAKE │ // └──────┴─────┴─────┘ └─────┴─────────┴─────────┘ [SERV] = LAYOUT_ergodox_pretty( _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , QK_BOOT, @@ -246,7 +221,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______, _______ , _______ , _______ , _______ , _______ , _______ , - KC_LSFT , _______ , _______ , _______ , QK_MAKE , _______ + KC_LSFT , _______ , _______ , _______ , _______ , QK_MAKE ) }; // clang-format on @@ -264,3 +239,41 @@ const char chordal_hold_layout[MATRIX_ROWS][MATRIX_COLS] PROGMEM = 'L' , 'L' , 'L' , 'R' , 'R' , 'R' ); // clang-format on + +layer_state_t layer_state_set_user(layer_state_t state) { + ergodox_board_led_off(); + ergodox_right_led_1_off(); + ergodox_right_led_2_off(); + ergodox_right_led_3_off(); + + uint8_t layer = get_highest_layer(state); + switch (layer) { + case 0: + break; + case 1: + ergodox_right_led_1_on(); + break; + case 2: + ergodox_right_led_2_on(); + break; + case 3: + ergodox_right_led_3_on(); + break; + case 4: + ergodox_right_led_1_on(); + ergodox_right_led_2_on(); + break; + case 5: + ergodox_right_led_1_on(); + ergodox_right_led_3_on(); + break; + case 6: + ergodox_right_led_2_on(); + ergodox_right_led_3_on(); + break; + default: + break; + } + + return state; +};