Merge remote-tracking branch 'origin/develop' into xap
This commit is contained in:
commit
8356cb615f
2 changed files with 34 additions and 1 deletions
|
@ -87,7 +87,7 @@ bool process_caps_word(uint16_t keycode, keyrecord_t* record) {
|
|||
return true;
|
||||
}
|
||||
|
||||
if (!(mods & ~MOD_MASK_SHIFT)) {
|
||||
if (!(mods & ~(MOD_MASK_SHIFT | MOD_BIT(KC_RALT)))) {
|
||||
switch (keycode) {
|
||||
// Ignore MO, TO, TG, TT, and OSL layer switch keys.
|
||||
case QK_MOMENTARY ... QK_MOMENTARY_MAX:
|
||||
|
@ -95,6 +95,9 @@ bool process_caps_word(uint16_t keycode, keyrecord_t* record) {
|
|||
case QK_TOGGLE_LAYER ... QK_TOGGLE_LAYER_MAX:
|
||||
case QK_LAYER_TAP_TOGGLE ... QK_LAYER_TAP_TOGGLE_MAX:
|
||||
case QK_ONE_SHOT_LAYER ... QK_ONE_SHOT_LAYER_MAX:
|
||||
// Ignore AltGr.
|
||||
case KC_RALT:
|
||||
case OSM(MOD_RALT):
|
||||
return true;
|
||||
|
||||
#ifndef NO_ACTION_TAPPING
|
||||
|
|
|
@ -212,6 +212,36 @@ TEST_F(CapsWord, SpaceTurnsOffCapsWord) {
|
|||
testing::Mock::VerifyAndClearExpectations(&driver);
|
||||
}
|
||||
|
||||
// Tests that typing "AltGr + A" produces "Shift + AltGr + A".
|
||||
TEST_F(CapsWord, ShiftsAltGrSymbols) {
|
||||
TestDriver driver;
|
||||
KeymapKey key_a(0, 0, 0, KC_A);
|
||||
KeymapKey key_altgr(0, 1, 0, KC_RALT);
|
||||
set_keymap({key_a, key_altgr});
|
||||
|
||||
// Allow any number of reports with no keys or only modifiers.
|
||||
// clang-format off
|
||||
EXPECT_CALL(driver, send_keyboard_mock(AnyOf(
|
||||
KeyboardReport(),
|
||||
KeyboardReport(KC_RALT),
|
||||
KeyboardReport(KC_LSFT, KC_RALT))))
|
||||
.Times(AnyNumber());
|
||||
// Expect "Shift + AltGr + A, Space".
|
||||
EXPECT_CALL(driver, send_keyboard_mock(KeyboardReport(KC_LSFT, KC_RALT, KC_A)));
|
||||
// clang-format on
|
||||
|
||||
// Turn on Caps Word and type "AltGr + A".
|
||||
caps_word_on();
|
||||
|
||||
key_altgr.press();
|
||||
run_one_scan_loop();
|
||||
TapKeys(key_a);
|
||||
run_one_scan_loop();
|
||||
key_altgr.release();
|
||||
|
||||
testing::Mock::VerifyAndClearExpectations(&driver);
|
||||
}
|
||||
|
||||
struct CapsWordBothShiftsParams {
|
||||
std::string name;
|
||||
uint16_t left_shift_keycode;
|
||||
|
|
Loading…
Reference in a new issue