I just flashed my Draculad (nice!nano v2) with the ZMK PR that enables support for encoders on the secondary/right side of split keyboards.
Finally got the right encoder to do something, but now theres a new issue.
I set my encoder bindings like so:
sensor-bindings = <&inc_dec_kp C_VOL_DN C_VOL_UP &inc_dec_kp DOWN UP>;
I would expect the left one to handle volume up/down and the right one to handle up/down arrow.
However they both do volume + arrow.
I'm sure this must be some stupid little mistake, but I can't figure it out.
#left and right encoders both perform two keypresses
1 messages · Page 1 of 1 (latest)
Hello, can you post a link to your config?
Can you try adding status = "disabled"; to the two encoder nodes in the dtsi?
will do
and report back
left_encoder: encoder_left {
compatible = "alps,ec11";
label = "LEFT_ENCODER";
a-gpios = <&pro_micro_d 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
b-gpios = <&pro_micro_a 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
resolution = <4>;
status = "disabled";
};
right_encoder: encoder_right {
compatible = "alps,ec11";
label = "RIGHT_ENCODER";
a-gpios = <&pro_micro_a 10 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
b-gpios = <&pro_micro_d 16 (GPIO_ACTIVE_HIGH | GPIO_PULL_UP)>;
resolution = <4>;
status = "disabled";
};
you mean like this, right?
Yes
worked 👍
good to know! 👍
but why was that necessary?
it's not in the docs
I would have thought disabling them would be the default behavior
But I guess it is not
If the config defaults to enabled without status = "disabled"; then both halves would have both encoder definitions enabled, which means they will both think they have two encoders connected, both on the same pair of pins, so triggering one would trigger both behaviors