[Core] Process all changed keys in one scan loop, deprecate QMK_KEYS_PER_SCAN (#15292)

This commit is contained in:
Stefan Kerkmann 2022-08-06 12:51:13 +02:00 committed by GitHub
parent e9f9f99a33
commit f27b617f36
Failed to generate hash of commit
96 changed files with 90 additions and 607 deletions

View file

@ -64,11 +64,7 @@ TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) {
key_b.press();
key_c.press();
// Note that QMK only processes one key at a time
// See issue #1476 for more information
EXPECT_REPORT(driver, (key_b.report_code));
keyboard_task();
EXPECT_REPORT(driver, (key_b.report_code, key_c.report_code));
keyboard_task();
@ -76,8 +72,6 @@ TEST_F(KeyPress, CorrectKeysAreReportedWhenTwoKeysArePressed) {
key_c.release();
// Note that the first key released is the first one in the matrix order
EXPECT_REPORT(driver, (key_c.report_code));
keyboard_task();
EXPECT_EMPTY_REPORT(driver);
keyboard_task();
}
@ -92,10 +86,7 @@ TEST_F(KeyPress, LeftShiftIsReportedCorrectly) {
key_lsft.press();
key_a.press();
// Unfortunately modifiers are also processed in the wrong order
// See issue #1476 for more information
EXPECT_REPORT(driver, (key_a.report_code));
keyboard_task();
EXPECT_REPORT(driver, (key_a.report_code, key_lsft.report_code));
keyboard_task();
@ -118,11 +109,7 @@ TEST_F(KeyPress, PressLeftShiftAndControl) {
key_lsft.press();
key_lctrl.press();
// Unfortunately modifiers are also processed in the wrong order
// See issue #1476 for more information
EXPECT_REPORT(driver, (key_lsft.report_code));
keyboard_task();
EXPECT_REPORT(driver, (key_lsft.report_code, key_lctrl.report_code));
keyboard_task();
@ -130,8 +117,6 @@ TEST_F(KeyPress, PressLeftShiftAndControl) {
key_lctrl.release();
EXPECT_REPORT(driver, (key_lctrl.report_code));
keyboard_task();
EXPECT_EMPTY_REPORT(driver);
keyboard_task();
}
@ -145,20 +130,13 @@ TEST_F(KeyPress, LeftAndRightShiftCanBePressedAtTheSameTime) {
key_lsft.press();
key_rsft.press();
// Unfortunately modifiers are also processed in the wrong order
// See issue #1476 for more information
EXPECT_REPORT(driver, (key_lsft.report_code));
keyboard_task();
EXPECT_REPORT(driver, (key_lsft.report_code, key_rsft.report_code));
keyboard_task();
key_lsft.release();
key_rsft.release();
EXPECT_REPORT(driver, (key_rsft.report_code));
keyboard_task();
EXPECT_EMPTY_REPORT(driver);
keyboard_task();
}