1
0
Fork 0

Make IGNORE_MOD_TAP_INTERRUPT the default behaviour for mod-taps (#20211)

This commit is contained in:
precondition 2023-04-03 07:32:47 +02:00 committed by GitHub
parent 47a51fda5d
commit 1899793f27
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
287 changed files with 28 additions and 734 deletions

View file

@ -17,5 +17,3 @@
#pragma once
#include "test_common.h"
#define IGNORE_MOD_TAP_INTERRUPT

View file

@ -27,86 +27,6 @@ using testing::InSequence;
class QuickTap : public TestFixture {};
TEST_F(QuickTap, tap_regular_key_while_mod_tap_key_is_held) {
TestDriver driver;
InSequence s;
auto mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
auto regular_key = KeymapKey(0, 2, 0, KC_A);
set_keymap({mod_tap_key, regular_key});
/* Press mod-tap key. */
EXPECT_NO_REPORT(driver);
mod_tap_key.press();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Press regular key. */
EXPECT_NO_REPORT(driver);
regular_key.press();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Release regular key. */
EXPECT_NO_REPORT(driver);
regular_key.release();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Release mod-tap key. */
EXPECT_REPORT(driver, (KC_LSFT));
mod_tap_key.release();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Idle for tapping term of mod tap hold key. */
EXPECT_REPORT(driver, (KC_LSFT, KC_A));
EXPECT_REPORT(driver, (KC_LSFT));
EXPECT_EMPTY_REPORT(driver);
idle_for(TAPPING_TERM - 3);
VERIFY_AND_CLEAR(driver);
}
TEST_F(QuickTap, tap_mod_tap_key_while_mod_tap_key_is_held) {
TestDriver driver;
InSequence s;
auto first_mod_tap_key = KeymapKey(0, 1, 0, SFT_T(KC_P));
auto second_mod_tap_key = KeymapKey(0, 2, 0, RSFT_T(KC_A));
set_keymap({first_mod_tap_key, second_mod_tap_key});
/* Press first mod-tap key */
EXPECT_NO_REPORT(driver);
first_mod_tap_key.press();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Press second mod-tap key */
EXPECT_NO_REPORT(driver);
second_mod_tap_key.press();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Release second tap-hold key */
EXPECT_NO_REPORT(driver);
second_mod_tap_key.release();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Release first mod-tap key */
EXPECT_REPORT(driver, (KC_LSFT));
first_mod_tap_key.release();
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
/* Idle for tapping term of first mod-tap key. */
EXPECT_REPORT(driver, (KC_LSFT, KC_A));
EXPECT_REPORT(driver, (KC_LSFT));
EXPECT_EMPTY_REPORT(driver);
idle_for(TAPPING_TERM - 3);
VERIFY_AND_CLEAR(driver);
}
TEST_F(QuickTap, tap_regular_key_while_layer_tap_key_is_held) {
TestDriver driver;
InSequence s;