This commit is contained in:
Andrew M 2024-11-20 22:22:14 -08:00 committed by GitHub
commit 9b193cc85c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 29 additions and 3 deletions

View File

@ -364,15 +364,15 @@ bool process_record_quantum(keyrecord_t *record) {
#ifdef LEADER_ENABLE
process_leader(keycode, record) &&
#endif
#ifdef SPACE_CADET_ENABLE
process_space_cadet(keycode, record) &&
#endif
#ifdef AUTO_SHIFT_ENABLE
process_auto_shift(keycode, record) &&
#endif
#ifdef DYNAMIC_TAPPING_TERM_ENABLE
process_dynamic_tapping_term(keycode, record) &&
#endif
#ifdef SPACE_CADET_ENABLE
process_space_cadet(keycode, record) &&
#endif
#ifdef MAGIC_ENABLE
process_magic(keycode, record) &&
#endif

View File

@ -68,3 +68,29 @@ TEST_F(AutoShift, key_release_after_timeout) {
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
}
// test auto shift and space cadet interaction
// press shift, press key, release shift, release key
// the right interaction is we only get the shifted key
// the wrong interaction is we get a bracket and a shifted key
TEST_F(AutoShift, auto_shift_with_space_cadet) {
TestDriver driver;
InSequence s;
auto left_shift = KeymapKey(0, 0, 0, SC_LSPO);
auto key_a = KeymapKey(0, 1, 0, KC_A);
set_keymap({left_shift, key_a});
/* Press regular key */
EXPECT_NO_REPORT(driver);
left_shift.press();
key_a.press();
left_shift.release();
key_a.release();
VERIFY_AND_CLEAR(driver);
/* Release regular key */
EXPECT_REPORT(driver, (KC_LSFT, KC_A));
EXPECT_EMPTY_REPORT(driver);
run_one_scan_loop();
VERIFY_AND_CLEAR(driver);
}