Fix pressing two keys with the same keycode but different modifiers (#2710)
authorfredizzimo <fsundvik@gmail.com>
Fri, 13 Mar 2020 18:09:38 +0000 (20:09 +0200)
committerGitHub <noreply@github.com>
Fri, 13 Mar 2020 18:09:38 +0000 (14:09 -0400)
commit9e8767917d628afd3dc43759d1d50151c61944a1
tree0060b8968d5e9df38c37b375e4eb2d6a0d65ac0c
parentf89439ae09c06d0e85f59af2bc5e020d141f23d6
Fix pressing two keys with the same keycode but different modifiers (#2710)

* Fix extra keyboard report during test_fixture teardown

* Add tests for pressing two keys with only different modifers

* Fix #1708

When two keys that use the same keycode, but different modifiers were
pressed at the same time, the second keypress wasn't registered. This is
fixed by forcing a key release when we detect a new press for the same
keycode.

* Fix the NKRO version of is_key_pressed

* Fix uninitalized loop variable

Co-authored-by: Jack Humbert <jack.humb@gmail.com>
tests/basic/keymap.c
tests/basic/test_keypress.cpp
tests/test_common/test_fixture.cpp
tmk_core/common/action.c
tmk_core/common/report.c
tmk_core/common/report.h