Use new leader key implementation

This commit is contained in:
urob 2024-12-06 23:29:41 -05:00
parent 40ed33d94e
commit d9f10d3b2c
6 changed files with 42 additions and 61 deletions

View file

@ -1,6 +1,5 @@
#include <behaviors.dtsi>
#include <behaviors/num_word.dtsi> // requires auto-layer module
#include <behaviors/leader_key.dtsi> // requires leader-key module
#include <dt-bindings/zmk/keys.h>
#ifdef CONFIG_WIRELESS
#include <dt-bindings/zmk/bt.h>
@ -42,10 +41,6 @@
quick-tap-ms = <QUICK_TAP_MS>;
};
&leader { // leader-key config
timeout-ms = <650>;
};
/* Homerow mods */
#define KEYS_L LT0 LT1 LT2 LT3 LT4 LM0 LM1 LM2 LM3 LM4 LB0 LB1 LB2 LB3 LB4 // left hand

View file

@ -13,10 +13,6 @@ CONFIG_ZMK_HID_GENERIC_DESKTOP_USAGES_BASIC=y
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=6
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=3
# Leader config, automated by build script
CONFIG_ZMK_LEADER_MAX_SEQUENCES_PER_KEY=27
CONFIG_ZMK_LEADER_MAX_KEYS_PER_SEQUENCE=2
# Zen display tweaks, requires patches by caksoylar
CONFIG_ZMK_DISPLAY_FULL_REFRESH_PERIOD=300
CONFIG_ZMK_DISPLAY_HIDE_MOMENTARY_LAYERS=y

View file

@ -13,10 +13,6 @@ CONFIG_ZMK_HID_GENERIC_DESKTOP_USAGES_BASIC=y
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=6
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=3
# Leader config, automated by build script
CONFIG_ZMK_LEADER_MAX_SEQUENCES_PER_KEY=27
CONFIG_ZMK_LEADER_MAX_KEYS_PER_SEQUENCE=2
# Bluetooth tweaks
CONFIG_ZMK_BLE_EXPERIMENTAL_CONN=y
CONFIG_BT_GATT_ENFORCE_SUBSCRIPTION=n

View file

@ -1,47 +1,46 @@
/* 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. */
#undef ZMK_LEADER_SEQUENCE
#define ZMK_LEADER_SEQUENCE(name, leader_bindings, leader_sequence) \
/ { \
behaviors { \
leader: leader { \
compatible = "zmk,behavior-leader-key"; \
#binding-cells = <0>; \
leader_sequence_ ## name { \
bindings = <leader_bindings>; \
sequence = <leader_sequence>; \
}; \
}; \
}; \
};
/* German umlauts */
ZMK_LEADER_SEQUENCE(de_ae, &de_ae, LM4) // ä
ZMK_LEADER_SEQUENCE(de_oe, &de_oe, RM4) // ö
ZMK_LEADER_SEQUENCE(de_ue, &de_ue, RT2) // ü
ZMK_LEADER_SEQUENCE(de_eszett, &de_eszett, LM2) // ß
ZMK_LEADER_SEQUENCE(de_ae, &de_ae, A) // ä
ZMK_LEADER_SEQUENCE(de_oe, &de_oe, O) // ö
ZMK_LEADER_SEQUENCE(de_ue, &de_ue, U) // ü
ZMK_LEADER_SEQUENCE(de_eszett, &de_eszett, S) // ß
/* Greek letters */
ZMK_LEADER_SEQUENCE(el_alpha, &el_alpha, RM2 LM4) // α
ZMK_LEADER_SEQUENCE(el_beta, &el_beta, RM2 LT0) // β
ZMK_LEADER_SEQUENCE(el_gamma, &el_gamma, RM2 LM0) // γ
ZMK_LEADER_SEQUENCE(el_delta, &el_delta, RM2 LB1) // δ
ZMK_LEADER_SEQUENCE(el_epsilon, &el_epsilon, RM2 RM2) // ε
ZMK_LEADER_SEQUENCE(el_zeta, &el_zeta, RM2 LB4) // ζ
ZMK_LEADER_SEQUENCE(el_eta, &el_eta, RM2 RB1) // η
ZMK_LEADER_SEQUENCE(el_theta, &el_theta, RM2 LB0) // θ
ZMK_LEADER_SEQUENCE(el_iota, &el_iota, RM2 RM3) // ι
ZMK_LEADER_SEQUENCE(el_kappa, &el_kappa, RM2 RB0) // κ
ZMK_LEADER_SEQUENCE(el_lambda, &el_lambda, RM2 RT1) // λ
ZMK_LEADER_SEQUENCE(el_mu, &el_mu, RM2 RM0) // μ
ZMK_LEADER_SEQUENCE(el_nu, &el_nu, RM2 RM1) // ν
ZMK_LEADER_SEQUENCE(el_xi, &el_xi, RM2 LB3) // ξ
ZMK_LEADER_SEQUENCE(el_omikron, &el_omikron, RM2 RM4) // ο
ZMK_LEADER_SEQUENCE(el_pi, &el_pi, RM2 LT1) // π
ZMK_LEADER_SEQUENCE(el_rho, &el_rho, RM2 LM3) // ρ
ZMK_LEADER_SEQUENCE(el_sigma, &el_sigma, RM2 LM2) // σ
ZMK_LEADER_SEQUENCE(el_tau, &el_tau, RM2 LM1) // τ
ZMK_LEADER_SEQUENCE(el_upsilon, &el_upsilon, RM2 RT2) // υ
ZMK_LEADER_SEQUENCE(el_phi, &el_phi, RM2 LT2) // ϕ
ZMK_LEADER_SEQUENCE(el_chi, &el_chi, RM2 LB2) // χ
ZMK_LEADER_SEQUENCE(el_psi, &el_psi, RM2 RT3) // ψ
ZMK_LEADER_SEQUENCE(el_omega, &el_omega, RM2 LT3) // ω
ZMK_LEADER_SEQUENCE(el_alpha, &el_alpha, E A) // α
ZMK_LEADER_SEQUENCE(el_beta, &el_beta, E B) // β
ZMK_LEADER_SEQUENCE(el_gamma, &el_gamma, E G) // γ
ZMK_LEADER_SEQUENCE(el_delta, &el_delta, E D) // δ
ZMK_LEADER_SEQUENCE(el_epsilon, &el_epsilon, E E) // ε
ZMK_LEADER_SEQUENCE(el_zeta, &el_zeta, E Z) // ζ
ZMK_LEADER_SEQUENCE(el_eta, &el_eta, E H) // η
ZMK_LEADER_SEQUENCE(el_theta, &el_theta, E V) // θ
ZMK_LEADER_SEQUENCE(el_iota, &el_iota, E I) // ι
ZMK_LEADER_SEQUENCE(el_kappa, &el_kappa, E K) // κ
ZMK_LEADER_SEQUENCE(el_lambda, &el_lambda, E L) // λ
ZMK_LEADER_SEQUENCE(el_mu, &el_mu, E M) // μ
ZMK_LEADER_SEQUENCE(el_nu, &el_nu, E N) // ν
ZMK_LEADER_SEQUENCE(el_xi, &el_xi, E X) // ξ
ZMK_LEADER_SEQUENCE(el_omikron, &el_omikron, E O) // ο
ZMK_LEADER_SEQUENCE(el_pi, &el_pi, E P) // π
ZMK_LEADER_SEQUENCE(el_rho, &el_rho, E R) // ρ
ZMK_LEADER_SEQUENCE(el_sigma, &el_sigma, E S) // σ
ZMK_LEADER_SEQUENCE(el_tau, &el_tau, E T) // τ
ZMK_LEADER_SEQUENCE(el_upsilon, &el_upsilon, E U) // υ
ZMK_LEADER_SEQUENCE(el_phi, &el_phi, E F) // ϕ
ZMK_LEADER_SEQUENCE(el_chi, &el_chi, E C) // χ
ZMK_LEADER_SEQUENCE(el_psi, &el_psi, E Y) // ψ
ZMK_LEADER_SEQUENCE(el_omega, &el_omega, E W) // ω

View file

@ -10,7 +10,3 @@ CONFIG_ZMK_HID_GENERIC_DESKTOP_USAGES_BASIC=y
# Combo config, automated by build script
CONFIG_ZMK_COMBO_MAX_COMBOS_PER_KEY=6
CONFIG_ZMK_COMBO_MAX_KEYS_PER_COMBO=3
# Leader config, automated by build script
CONFIG_ZMK_LEADER_MAX_SEQUENCES_PER_KEY=27
CONFIG_ZMK_LEADER_MAX_KEYS_PER_SEQUENCE=2

View file

@ -34,7 +34,6 @@ manifest:
- name: zmk-helpers
path: modules/helpers
- name: zmk-leader-key
revision: legacy
path: modules/leader-key
- name: zmk-tri-state
path: modules/tri-state