Fix leader overlapping with timerless

This commit is contained in:
Nick Conway 2023-06-04 02:23:15 -04:00
parent bbd888e93c
commit aab348a142
No known key found for this signature in database
GPG key ID: AA850592E4C1D453
5 changed files with 54 additions and 1 deletions

View file

@ -324,7 +324,7 @@ static int position_state_changed_listener(const zmk_event_t *ev) {
zmk_leader_deactivate();
}
}
if (!timerless) {
if (!timerless || num_comp_candidates < num_candidates) {
reset_timer(data->timestamp);
}
}

View file

@ -0,0 +1,37 @@
#include <dt-bindings/zmk/keys.h>
#include <behaviors.dtsi>
#include <dt-bindings/zmk/kscan_mock.h>
&leader {
timeout-ms = <200>;
timerless;
};
/ {
leader-sequences {
compatible = "zmk,leader-sequences";
leader_seq_one {
key-positions = <0>;
bindings = <&kp A>;
};
leader_seq_two {
key-positions = <0 0>;
bindings = <&kp B>;
};
};
keymap {
compatible = "zmk,keymap";
label ="Default keymap";
default_layer {
bindings = <
&kp N1 &kp N2
&kp N3 &leader
>;
};
};
};

View file

@ -0,0 +1,2 @@
s/.*hid_listener_keycode_//p
s/.*zmk_leader.*:/leader:/p

View file

@ -0,0 +1,4 @@
leader: leader key activated
pressed: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
released: usage_page 0x07 keycode 0x04 implicit_mods 0x00 explicit_mods 0x00
leader: leader key deactivated

View file

@ -0,0 +1,10 @@
#include "../behavior_keymap_overlap_timerless.dtsi"
&kscan {
events = <
ZMK_MOCK_PRESS(1,1,10)
ZMK_MOCK_RELEASE(1,1,10)
ZMK_MOCK_PRESS(0,0,10)
ZMK_MOCK_RELEASE(0,0,2000)
>;
};