aboutsummaryrefslogtreecommitdiff
path: root/tests
Commit message (Collapse)AuthorAgeFilesLines
* [Bug][Core] Fix for Chordal Hold: stuck mods when mod-taps are pressed in a ↵Pascal Getreuer3 days2-1/+87
| | | | stuttered sequence. (#24878)
* [Core] Add Chordal Hold, an "opposite hands rule" tap-hold option similar to ↵Pascal Getreuer5 days18-0/+2981
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Achordion, Bilateral Combinations. (#24560) * Chordal Hold: restrict what chords settle as hold * Chordal Hold: docs and further improvements * Fix formatting. * Doc rewording and minor edit. * Support Chordal Hold of multiple tap-hold keys. * Fix formatting. * Simplification and additional test. * Fix formatting. * Tighten tests. * Add test two_mod_taps_same_hand_hold_til_timeout. * Revise handing of pairs of tap-hold keys. * Generate a default chordal_hold_layout. * Document chordal_hold_handedness(). * Add license notice to new and branched files in PR. * Add `tapping.chordal_hold` property for info.json. * Update docs/reference_info_json.md * Revise "hand" jsonschema. * Chordal Hold: Improved layout handedness heuristic. This commit improves the heuristic used in generate-keyboard-c for inferring key handedness from keyboard.json geometry data. Heuristic summary: 1. If the layout is symmetric (e.g. most split keyboards), guess the handedness based on the sign of (x - layout_x_midpoint). 2. Otherwise, if the layout has a key of >=6u width, it is probably the spacebar. Form a dividing line through the spacebar, nearly vertical but with a slight angle to follow typical row stagger. 3. Otherwise, assume handedness based on the widest horizontal separation. I have tested this strategy on a couple dozen keyboards and found it to work reliably. * Use Optional instead of `| None`. * Refactor to avoid lambdas. * Remove trailing comma in chordal_hold_layout. * Minor docs edits. * Revise to allow combining multiple same-hand mods. This commit revises Chordal Hold as described in discussion in https://github.com/qmk/qmk_firmware/pull/24560#discussion_r1894655238 1. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RCTL_T(KC_A)↑" before the tapping term, RCTL_T(KC_A) is settled as tapped. 2. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RSFT_T(KC_C)↑", both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped. 3. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, KC_U↓" (all keys on the same side), both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped. 4. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, LSFT_T(KC_T)↓", with the third key on the other side, we allow Permissive Hold or Hold On Other Keypress to decide how/when to settle the keys. 5. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓" held until the tapping term, the keys are settled as held. 1–3 provide same-hand roll protection. 4–5 are for combining multiple same-hand modifiers. I've updated the unit tests and have been running it on my keyboard, for a few hours so far, and all seems good. I really like this scheme. It allows combining same-side mods, yet it also has roll protection on streaks. For me, this feels like Achordion, but clearly better streak handling and improved responsiveness. * Fix formatting. * Add a couple tests with LT keys. * Remove stale use of CHORDAL_HOLD_LAYOUT. * Fix misspelling lastest -> latest * Handling tweak for LTs and tests. * Fix formatting. * More tests with LT keys. * Fix formatting.
* [CI] Regenerate Files (#24770)QMK Bot2025-01-011-1/+1
| | | Regenerate Files
* Add pointing tests (#24513)Dasky2024-11-2328-0/+915
|
* [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#24630)Joel Challis2024-11-231-0/+2
| | | | | | | | | | | | * [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#21881) * Apply suggestions from code review Co-authored-by: Nick Brassel <[email protected]> --------- Co-authored-by: Nebuleon <[email protected]> Co-authored-by: Nick Brassel <[email protected]>
* [Core] Add Layer Lock feature (#23430)Drashna Jaelre2024-11-214-0/+301
| | | | | | Co-authored-by: Daniel <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]> Co-authored-by: Pascal Getreuer <[email protected]>
* Revert removal of `QK_OUTPUT_AUTO`, fixup docs to reflect. (#24593)Nick Brassel2024-11-141-0/+1
|
* Remove `RING_BUFFERED_6KRO_REPORT_ENABLE` due to disuse. (#24433)Nick Brassel2024-09-241-2/+0
|
* Add combo key repress feature (#22858)Filios922024-09-054-0/+217
| | | | Co-authored-by: jack <[email protected]>
* Add new connection keycodes for Bluetooth, 2.4GHz. (#24251)Nick Brassel2024-08-271-3/+14
|
* Tap dance introspection (#24049)Nick Brassel2024-07-063-4/+4
|
* Normalise mouse keycodes (#23975)Ryan2024-07-031-19/+19
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2024-05-134-1/+108
|\
| * Add housekeeping execution to unit tests (#22999)leep-frog2024-05-134-1/+108
| |
* | Normalise RGBLight (underglow) keycodes (#23656)Ryan2024-05-071-11/+11
| |
* | Add new set of keycodes for RGB Matrix (#23463)Ryan2024-05-041-0/+13
| |
* | Refactoring successive press() -> release() calls (#23573)DavidSannier2024-04-301-40/+10
| |
* | Add new set of keycodes for LED Matrix (#23432)Ryan2024-04-111-0/+9
|/
* Ignore space cadet key release when caps word is active (#21721)Paul Landers2024-01-091-3/+3
|
* Update copyright year on generated files (#22795)QMK Bot2024-01-011-1/+1
|
* Align location of tap dance keycode (#22742)Joel Challis2023-12-241-1/+1
|
* Separate 6KRO and NKRO report structs (#22267)Ryan2023-10-233-3/+9
|
* Fix OSM on a OSL activated layer (#20410)NapOli10842023-09-251-0/+46
|
* Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test ↵Isaac Elenbaas2023-09-2539-9/+2482
| | | | cases (#15889)
* Unicode, Unicodemap and UCIS refactor (#21659)Ryan2023-08-2713-2/+446
|
* On-each-release tap dance function (#20255)leep-frog2023-07-263-1/+141
| | | | Co-authored-by: Sergey Vlasov <[email protected]>
* [Core] Simplify audio_duration_to_ms() and audio_ms_to_duration(), reduce ↵Pascal Getreuer2023-07-083-0/+152
| | | | firmware size by a few bytes. (#21427)
* [Feature] Send a dummy keycode to neutralize flashing modifiers in retro tap ↵precondition2023-07-082-1/+205
| | | | and key overrides (#20992)
* Unicodemap keycodes rename (#21092)Ryan2023-06-011-2/+2
|
* [Bug] Fix issue with Repeat Key-Combo test (#21005)Drashna Jaelre2023-05-203-7/+9
|
* [Core] Add Repeat Key ("repeat last key") as a core feature. (#19700)Pascal Getreuer2023-05-2011-0/+1468
| | | | | Co-authored-by: casuanoob <[email protected]> Co-authored-by: Sergey Vlasov <[email protected]>
* Keymap introspection for combos. (#19670)Nick Brassel2023-05-157-38/+41
|
* Add a user callback for pre process record (#20584)Albert Y2023-05-131-1/+2
|
* Fix Mod-Tap combo regression (#20669)Pete Sevander2023-05-103-0/+84
| | | | | | | | | | | | | | | | | | | * Add keyevent for combo keyrecord * Fix formatting * Update quantum/process_keycode/process_combo.c Co-authored-by: Sergey Vlasov <[email protected]> * 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 <[email protected]> Co-authored-by: Stefan Kerkmann <[email protected]>
* Prevent Tri-Layer keys from stopping caps words (#20398)Ricardo Hermida Ruiz2023-04-101-0/+5
|
* [Core] Caps Word "Invert on shift" option: pressing Shift inverts the ↵Pascal Getreuer2023-04-043-0/+253
| | | | | | shift state. (#20092) Co-authored-by: Nick Brassel <[email protected]>
* Fix OSMs getting stuck (#20034)Kasimir Pihlasviita2023-04-031-0/+144
|
* Make IGNORE_MOD_TAP_INTERRUPT the default behaviour for mod-taps (#20211)precondition2023-04-032-82/+0
|
* Remove some use of keymap.h (#20006)Joel Challis2023-03-031-1/+0
|
* VIA Protocol 12 + fixes (#19916)Nick Brassel2023-02-231-1/+64
| | | | | Co-authored-by: Wilba <[email protected]> Co-authored-by: zvecr <[email protected]>
* Align magic keycodes (#19877)Joel Challis2023-02-231-35/+35
|
* [Bug] Fix compilation error when defining QUICK_TAP_TERM_PER_KEY (#19893)precondition2023-02-221-0/+4
|
* Move `KC_MISSION_CONTROL`/`KC_LAUNCHPAD` keycodes to core (#19884)Joel Challis2023-02-191-0/+2
|
* Fix functions when `NO_ACTION_TAPPING` is defined (#11528)Drashna Jaelre2023-02-198-0/+458
|
* Align sequencer keycodes (#19875)Joel Challis2023-02-181-9/+9
|
* Fix Layer Mod handling of with right-handed mods. (#19845)Pascal Getreuer2023-02-141-0/+63
|
* Refactor Leader key feature (#19632)Ryan2023-02-1313-0/+438
| | | | Co-authored-by: Drashna Jaelre <[email protected]>
* [Core] Tri Layer Keys (#19795)Drashna Jaelre2023-02-124-0/+119
| | | | | | | Co-authored-by: wilba <[email protected]> Co-authored-by: Pablo Martínez <[email protected]> Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Nick Brassel <[email protected]>
* Remove matrix_init_quantum/matrix_scan_quantum (#19806)Joel Challis2023-02-111-2/+2
|
* Tidy up use of keycode range helpers (#19756)Joel Challis2023-02-101-1/+1
|