commit 1638e0fbd92dd48299f288250ce33dc3c8bcbd65
parent 106ede2dd99ff0249d7ccd98a2bfb9a02d63c0d0
Author: Tomas Nemec <owl@gtms.dev>
Date: Mon, 7 Apr 2025 09:54:15 +0200
update
Diffstat:
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;
+};