diff options
author | Pete Johanson <peter@peterjohanson.com> | 2021-01-06 00:15:48 -0500 |
---|---|---|
committer | Pete Johanson <peter@peterjohanson.com> | 2021-01-15 13:50:36 -0500 |
commit | c11759bc795239c38c36ecd78d6408662aa77f54 (patch) | |
tree | 9e19f0635f63898a08e227ecf2f8367cebe39521 | |
parent | a0c32bb47e3827f08096247e3bfecb82a8ed8e7d (diff) |
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.
-rw-r--r-- | app/src/hid.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/app/src/hid.c b/app/src/hid.c index 37378b4..b9ddfc5 100644 --- a/app/src/hid.c +++ b/app/src/hid.c @@ -55,7 +55,9 @@ int zmk_hid_unregister_mod(zmk_mod_t modifier) { continue; \ } \ keyboard_report.body.keys[idx] = val; \ - break; \ + if (val) { \ + break; \ + } \ } #define TOGGLE_CONSUMER(match, val) \ @@ -64,7 +66,9 @@ int zmk_hid_unregister_mod(zmk_mod_t modifier) { continue; \ } \ consumer_report.body.keys[idx] = val; \ - break; \ + if (val) { \ + break; \ + } \ } int zmk_hid_implicit_modifiers_press(zmk_mod_flags_t implicit_modifiers) { |