diff --git a/config/base.keymap b/config/base.keymap index a22efc2..67c9902 100644 --- a/config/base.keymap +++ b/config/base.keymap @@ -46,6 +46,10 @@ quick-tap-ms = ; }; +&leader { // leader-key config + timeout-ms = <220>; +}; + /* Homerow mods */ #define KEYS_L LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4 // left hand @@ -207,6 +211,9 @@ ZMK_MACRO(win_sleep, bindings = <&kp LG(X) &kp U &kp S>; ) +// Sticky shift + leader +ZMK_MACRO(shift_leader, bindings = <&sk LSHFT &leader>;) + // misc aliases #define CANCEL &kp K_CANCEL // cancel caps-word, num-word and smart-mouse #define DSK_PREV &hmr LCTRL LG(LC(LEFT)) // previous desktop diff --git a/config/leader.dtsi b/config/leader.dtsi new file mode 100644 index 0000000..e9c01c9 --- /dev/null +++ b/config/leader.dtsi @@ -0,0 +1,47 @@ +/* KEY POSITIONS + + ╭─────────────────────╮ ╭─────────────────────╮ + │ LT4 LT3 LT2 LT1 LT0 │ │ RT0 RT1 RT2 RT3 RT4 │ + │ LM4 LM3 LM2 LM1 LM0 │ │ RM0 RM1 RM2 RM3 RM4 │ + │ LB4 LB3 LB2 LB1 LB0 │ │ RB0 RB1 RB2 RB3 RB4 │ + ╰───────╮ LH2 LH1 LH0 │ │ RH0 RH1 RH2 ╭───────╯ + ╰─────────────╯ ╰─────────────╯ + +Note: The leader sequence must be pressed exactly as defined to be triggered. +To capitalize a letter, hold the shift key (or tap sticky-shift) *before* +tapping the leader key. */ + +/* German umlauts */ + +ZMK_LEADER_SEQUENCE(de_ae, &de_ae, LM4 RM2) // ä +ZMK_LEADER_SEQUENCE(de_oe, &de_oe, RM4 RM2) // ö +ZMK_LEADER_SEQUENCE(de_ue, &de_ue, RT2 RM2) // ü +ZMK_LEADER_SEQUENCE(de_eszett, &de_eszett, LM2 LM2) // ß + +/* Greek letters */ + +ZMK_LEADER_SEQUENCE(el_alpha, &el_alpha, LM4) // α +ZMK_LEADER_SEQUENCE(el_beta, &el_beta, LT0) // β +ZMK_LEADER_SEQUENCE(el_gamma, &el_gamma, LM0) // γ +ZMK_LEADER_SEQUENCE(el_delta, &el_delta, LB1) // δ +ZMK_LEADER_SEQUENCE(el_epsilon, &el_epsilon, RM2) // ε +ZMK_LEADER_SEQUENCE(el_zeta, &el_zeta, LB4) // ζ +ZMK_LEADER_SEQUENCE(el_eta, &el_eta, RB1) // η +ZMK_LEADER_SEQUENCE(el_theta, &el_theta, LB0) // θ +ZMK_LEADER_SEQUENCE(el_iota, &el_iota, RM3) // ι +ZMK_LEADER_SEQUENCE(el_kappa, &el_kappa, RB0) // κ +ZMK_LEADER_SEQUENCE(el_lambda, &el_lambda, RT1) // λ +ZMK_LEADER_SEQUENCE(el_mu, &el_mu, RM0) // μ +ZMK_LEADER_SEQUENCE(el_nu, &el_nu, RM1) // ν +ZMK_LEADER_SEQUENCE(el_xi, &el_xi, LB3) // ξ +ZMK_LEADER_SEQUENCE(el_omikron, &el_omikron, RM4) // ο +ZMK_LEADER_SEQUENCE(el_pi, &el_pi, LT1) // π +ZMK_LEADER_SEQUENCE(el_rho, &el_rho, LM3) // ρ +ZMK_LEADER_SEQUENCE(el_sigma, &el_sigma, LM2) // σ +ZMK_LEADER_SEQUENCE(el_tau, &el_tau, LM1) // τ +ZMK_LEADER_SEQUENCE(el_upsilon, &el_upsilon, RT2) // υ +ZMK_LEADER_SEQUENCE(el_phi, &el_phi, LT2) // ϕ +ZMK_LEADER_SEQUENCE(el_chi, &el_chi, LB2) // χ +ZMK_LEADER_SEQUENCE(el_psi, &el_psi, RT3) // ψ +ZMK_LEADER_SEQUENCE(el_omega, &el_omega, LT3) // ω +