Browse Source

fix(hid): Clear all matching usages, not just first.

* If various events get dropped, we can end up with duplicate
  codes in our report, so tweak to ensure we look for all matches
  and clear them when we have a keycode released.
xmkb
Pete Johanson 4 years ago
parent
commit
c11759bc79
  1. 8
      app/src/hid.c

8
app/src/hid.c

@ -55,7 +55,9 @@ int zmk_hid_unregister_mod(zmk_mod_t modifier) {
continue; \ continue; \
} \ } \
keyboard_report.body.keys[idx] = val; \ keyboard_report.body.keys[idx] = val; \
break; \ if (val) { \
break; \
} \
} }
#define TOGGLE_CONSUMER(match, val) \ #define TOGGLE_CONSUMER(match, val) \
@ -64,7 +66,9 @@ int zmk_hid_unregister_mod(zmk_mod_t modifier) {
continue; \ continue; \
} \ } \
consumer_report.body.keys[idx] = val; \ consumer_report.body.keys[idx] = val; \
break; \ if (val) { \
break; \
} \
} }
int zmk_hid_implicit_modifiers_press(zmk_mod_flags_t implicit_modifiers) { int zmk_hid_implicit_modifiers_press(zmk_mod_flags_t implicit_modifiers) {

Loading…
Cancel
Save