diff --git a/config/includes/mods.dtsi b/config/includes/mods.dtsi index 7755bfef96..a48e2878f8 100644 --- a/config/includes/mods.dtsi +++ b/config/includes/mods.dtsi @@ -8,6 +8,11 @@ #define HM_PRIOR_IDLE 150 #define HM_PRIOR_IDLE_FAST 100 +// Based on Sunaku's settings +#define SHIFT_TAPPING_TERM 170 // Faster than regular homerow mods +#define SHIFT_QUICK_TAP 150 // Allow quick repeat taps +#define SHIFT_PRIOR_IDLE 120 // Shorter idle requirement for shifts + // Positional Homerow mods // Homerow mods that prevent accidental activations when rolling keys, // such as when typing `st` or `ne` on colemak-dh layouts or `as` on @@ -47,52 +52,49 @@ hmr: homerow_mods_right { hold-trigger-on-release; }; - // Positional Homerow mods for shift - // Use faster tapping term and disable some features that may - // cause false negatives. - hm_shift_l: hm_shift_l { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - bindings = <&kp>, <&kp>; - - flavor = "balanced"; - tapping-term-ms = ; - quick-tap-ms = <175>; - require-prior-idle-ms = ; - - hold-trigger-key-positions = ; - hold-trigger-on-release; - }; - - hm_shift_r: hm_shift_r { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - bindings = <&kp>, <&kp>; - - flavor = "balanced"; - tapping-term-ms = ; - quick-tap-ms = <175>; - require-prior-idle-ms = ; +hm_shift_l: hm_shift_l { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + bindings = <&kp>, <&kp>; + + flavor = "tap-preferred"; // Sunaku uses tap-preferred for shifts + tapping-term-ms = ; + quick-tap-ms = ; + require-prior-idle-ms = ; + + hold-trigger-key-positions = ; + hold-trigger-on-release; // Wait for other home row mods +}; - hold-trigger-key-positions = ; - hold-trigger-on-release; - }; +hm_shift_r: hm_shift_r { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + bindings = <&kp>, <&kp>; + + flavor = "tap-preferred"; // Tap-preferred for more responsive typing + tapping-term-ms = ; + quick-tap-ms = ; + require-prior-idle-ms = ; + + hold-trigger-key-positions = ; + hold-trigger-on-release; // Wait for other home row mods +}; - /* - * Non-Positional Homerow Mods - * Used for &mm_grescm_gui behavior on left hand. - * - * Usage: &hm LSHFT T - * Tap: T - * Tap-Tap-Hold: Repeat T - * Hold: LSHIFT - */ - hm: homerow_mods { - compatible = "zmk,behavior-hold-tap"; - #binding-cells = <2>; - bindings = <&kp>, <&kp>; +/* + * Non-Positional Homerow Mods + * Used for &mm_grescm_gui behavior on left hand. + * + * Usage: &hm LSHFT T + * Tap: T + * Tap-Tap-Hold: Repeat T + * Hold: LSHIFT + */ +hm: homerow_mods { + compatible = "zmk,behavior-hold-tap"; + #binding-cells = <2>; + bindings = <&kp>, <&kp>; - flavor = "balanced"; - tapping-term-ms = ; - quick-tap-ms = <200>; - }; \ No newline at end of file + flavor = "balanced"; + tapping-term-ms = ; + quick-tap-ms = <200>; +};