Age | Commit message (Collapse) | Author |
|
Co-authored-by: casuanoob <96005765+casuanoob@users.noreply.github.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
|
|
|
|
|
|
* Add keyevent for combo keyrecord
* Fix formatting
* Update quantum/process_keycode/process_combo.c
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
* Add combo unit-tests and hot-fix process_record_tap_hint
...as this function tries to lookup the combo keys passed in. This will
be refactored in a later pr.
---------
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
|
|
|
|
shift state. (#20092)
Co-authored-by: Nick Brassel <nick@tzarc.org>
|
|
|
|
|
|
|
|
Co-authored-by: Wilba <wilba@wilba.tech>
Co-authored-by: zvecr <git@zvecr.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Drashna Jaelre <drashna@live.com>
|
|
Co-authored-by: wilba <wilba@wilba.tech>
Co-authored-by: Pablo Martínez <58857054+elpekenin@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
|
|
|
|
|
|
|
|
|
|
Which is just a syntactic sugar for
testing::Mock::VerifyAndClearExpectations to reduce the visual clutter
in unit-tests.
|
|
|
|
messages (#17028)
|
|
HOLD_ON_OTHER_KEY_PRESS_PER_KEY (#15741)
|
|
|
|
|
|
* Replace Tapping Force Hold feature with Quick Tap Term
* Replace keyboard level TAPPING_FORCE_HOLD with QUICK_TAP_TERM 0
* Deprecate force hold in info_config.json
* Before and after quick tap term unit tests
* Quick tap unit tests iteration
* Keymap config.h correction
* Remove TAPPING_FORCE_HOLD_PER_KEY macros that were missed
* Add two more test cases for quick tap
* Replace TAPPING_FORCE_HOLD with QUICK_TAP_TERM in configs #2
* Replace TAPPING_FORCE_HOLD_PER_KEY with QUICK_TAP_TERM_PER_KEY in configs #2
* Add function declaration for get_quick_tap_term
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
|
|
* Make process_tapping more readable
Move most #ifdefs into conditionally defined macros to make the logic
easier to follow.
* Retain momentary layers until the end of tapping
This allows mod-tap and layer-tap keys on layers to behave as expected.
Bug: https://github.com/qmk/qmk_firmware/issues/17281
* Add tests for delayed mod/layer release while tapping
Mods and layer key release is delayed while tapping is in progress to
ensure that the tap is registered with the modifier state and on the
layer where the key was first pressed.
Signed-off-by: Felix Kuehling <felix.kuehling@gmail.com>
|
|
* Don't clear mousekeys unless clearing keys
* Revert "Don't clear mousekeys unless clearing keys"
This reverts commit 29a0c06b547d72b80d416a8b6fab478c77fbd247.
* Just don't clear anything on layer set
* Fix lint
* Enable test?
|
|
* `UC_MOD`/`UC_RMOD` -> `UC_NEXT`/`UC_PREV`
* `UNICODE_MODE_*` -> `QK_UNICODE_MODE_*`
* `UC_MAC` -> `UNICODE_MODE_MACOS`
* `UC_LNX` -> `UNICODE_MODE_LINUX`
* `UC_WIN` -> `UNICODE_MODE_WINDOWS`
* `UC_BSD` -> `UNICODE_MODE_BSD`
* `UC_WINC` -> `UNICODE_MODE_WINCOMPOSE`
* `UC_EMACS` -> `UNICODE_MODE_EMACS`
* `UC__COUNT` -> `UNICODE_MODE_COUNT`
* `UC_M_MA` -> `UC_MAC`
* `UC_M_LN` -> `UC_LINX`
* `UC_M_WI` -> `UC_WIN`
* `UC_M_BS` -> `UC_BSD`
* `UC_M_WC` -> `UC_WINC`
* `UC_M_EM` -> `UC_EMAC`
* Docs
* Update quantum/unicode/unicode.h
|
|
|
|
|
|
* Fix garbled test output
* Correct SRC listing
|
|
|
|
* Add HOLD_ON_OTHER_KEY_PRESS to data/ files
* Add unit tests for HOLD_ON_OTHER_KEY_PRESS
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
|
|
* Simplify extrakeys sending at the host driver level
* There are two arguments here
* Wrong syntax
* Adjust keyboards which use a custom host driver
|
|
|
|
* Fix Caps Word to treat mod-taps more consistently.
Previously, holding any mod-tap key while Caps Word is active stops Caps
Word, and this happens regardless of `caps_word_press_user()`. Yet for
regular mod keys, AltGr (KC_RALT) is ignored, Shift keys are passed to
`caps_word_press_user()` to determine whether to continue, and
similarly, a key `RSFT(KC_RALT)` representing Right Shift + Alt is
passed to `caps_word_press_user()` to determine whether to continue.
This commit makes held mod-tap keys consistent with regular mod keys:
* Holding a `RALT_T` mod-tap is ignored.
* When holding a shift mod-tap key, `KC_LSFT` or `KC_RSFT` is passed to
`caps_word_press_user()` to determine whether to continue.
* When holding a Right Shift + Alt (`RSA_T`) mod-tap, `RSFT(KC_RALT)` is
passed to `caps_word_press_user()`.
Particularly, with this fix a user may choose to continue Caps Word when
a shift mod-tap key is held by adding `KC_LSFT` and `KC_RSFT` cases in
`caps_word_press_user()`. For instance as
```
bool caps_word_press_user(uint16_t keycode) {
switch (keycode) {
// Keycodes that continue Caps Word, with shift applied.
case KC_A ... KC_Z:
case KC_MINS:
add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key.
return true;
// Keycodes that continue Caps Word, without shifting.
case KC_1 ... KC_0:
case KC_BSPC:
case KC_DEL:
case KC_UNDS:
case KC_LSFT: // <<< Added here.
case KC_RSFT:
return true;
default:
return false; // Deactivate Caps Word.
}
}
```
* Fix Caps Word to treat mod-taps more consistently.
Previously, holding any mod-tap key while Caps Word is active stops Caps
Word, and this happens regardless of `caps_word_press_user()`. Yet for
regular mod keys, AltGr (KC_RALT) is ignored, Shift keys are passed to
`caps_word_press_user()` to determine whether to continue, and
similarly, a key `RSFT(KC_RALT)` representing Right Shift + Alt is
passed to `caps_word_press_user()` to determine whether to continue.
This commit makes held mod-tap keys consistent with regular mod keys:
* Holding a `RALT_T` mod-tap is ignored.
* When holding a shift mod-tap key, `KC_LSFT` or `KC_RSFT` is passed to
`caps_word_press_user()` to determine whether to continue.
* When holding a Right Shift + Alt (`RSA_T`) mod-tap, `RSFT(KC_RALT)` is
passed to `caps_word_press_user()`.
Particularly, with this fix a user may choose to continue Caps Word when
a shift mod-tap key is held by adding `KC_LSFT` and `KC_RSFT` cases in
`caps_word_press_user()`. For instance as
```
bool caps_word_press_user(uint16_t keycode) {
switch (keycode) {
// Keycodes that continue Caps Word, with shift applied.
case KC_A ... KC_Z:
case KC_MINS:
add_weak_mods(MOD_BIT(KC_LSFT)); // Apply shift to the next key.
return true;
// Keycodes that continue Caps Word, without shifting.
case KC_1 ... KC_0:
case KC_BSPC:
case KC_DEL:
case KC_UNDS:
case KC_LSFT: // <<< Added here.
case KC_RSFT:
return true;
default:
return false; // Deactivate Caps Word.
}
}
```
* Update quantum/process_keycode/process_caps_word.c
Co-authored-by: Joel Challis <git@zvecr.com>
|
|
|
|
`QMK_KEYS_PER_SCAN` (#15292)
|
|
|
|
|
|
...convenience macros to test cases that where missed during #17284
|