Age | Commit message (Collapse) | Author |
|
|
|
Retro Shift. (#17284)
* Fix Caps Word and Unicode Map
* Tests for Caps Word + Auto Shift and Unicode Map.
* Fix formatting
* Add additional keyboard report expectation macros
This commit defines five test utilities, EXPECT_REPORT, EXPECT_UNICODE,
EXPECT_EMPTY_REPORT, EXPECT_ANY_REPORT and EXPECT_NO_REPORT for use with
TestDriver.
EXPECT_REPORT sets a gmock expectation that a given keyboard report will
be sent. For instance,
EXPECT_REPORT(driver, (KC_LSFT, KC_A));
is shorthand for
EXPECT_CALL(driver,
send_keyboard_mock(KeyboardReport(KC_LSFT, KC_A)));
EXPECT_UNICODE sets a gmock expectation that a given Unicode code point
will be sent using UC_LNX input mode. For instance for U+2013,
EXPECT_UNICODE(driver, 0x2013);
expects the sequence of keys:
"Ctrl+Shift+U, 2, 0, 1, 3, space".
EXPECT_EMPTY_REPORT sets a gmock expectation that a given keyboard
report will be sent. For instance
EXPECT_EMPTY_REPORT(driver);
expects a single report without keypresses or modifiers.
EXPECT_ANY_REPORT sets a gmock expectation that a arbitrary keyboard
report will be sent, without matching its contents. For instance
EXPECT_ANY_REPORT(driver).Times(1);
expects a single arbitrary keyboard report will be sent.
EXPECT_NO_REPORT sets a gmock expectation that no keyboard report will
be sent at all.
* Add tap_key() and tap_keys() to TestFixture.
This commit adds a `tap_key(key)` method to TestFixture that taps a
given KeymapKey, optionally with a specified delay between press and
release.
Similarly, the method `tap_keys(key_a, key_b, key_c)` taps a sequence of
KeymapKeys.
* Use EXPECT_REPORT, tap_keys, etc. in most tests.
This commit uses EXPECT_REPORT, EXPECT_UNICODE, EXPECT_EMPTY_REPORT,
EXPECT_NO_REPORT, tap_key() and tap_keys() test utilities from the
previous two commits in most tests. Particularly the EXPECT_REPORT
macro is frequently useful and makes a nice reduction in boilerplate
needed to express many tests.
Co-authored-by: David Kosorin <david@kosorin.net>
|
|
|
|
|
|
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
|
|
|
|
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
|
|
* [Core] Add KC_MAKE keycode to core
fix linting
fix testing error
work around test idiocyncracies
fix more lint
something something stupid tests
add doc
* updates based on feedback
* Add bad names
* Fixup docs
* semantics but cleaner
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Hide oneshot checks behind preprocessors
* Move no-compile option around
* Fix formatting
* make shift optional
* Make opt in
* fix formatting
* update send string function name
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
|
|
|
|
|
|
|
|
* Initial migration of suspend logic
* Add header
|
|
|
|
Co-authored-by: Ga68 <github.ga68.e@grxme.com>
|
|
* Relocate matrix_init_quantum content
* Update include order
* Fix cherry pick from 15722
|
|
* Align location of host led logic
* Move more
* align ifdefs
* Fix up includes
* Move callback defs
* Convert comment to build message
|
|
* Rename some Quantum keycodes
* Tweak EEPROM clear and debug keycode short aliases
|
|
* Move matrix_scan_quantum tasks
* Fix tests
* Fix up missing refs
|
|
|
|
|
|
* New feature: `DYNAMIC_TAPPING_TERM_ENABLE`
3 new quantum keys to configure the tapping term on the fly.
* Replace sprintf call in tapping_term_report by get_u16_str
* Replace tab with 4 spaces
|
|
* Add uint to char functions
* appease the all mighty lint
* Further appease Lint
* Update functions
* Add doxygen comment
* Update quantum/quantum.c
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Apply suggestions from code review
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Add declaration for get_numeric_string
* fix formatting and bug
Co-authored-by: Nick Brassel <nick@tzarc.org>
|
|
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
|
|
|
|
|
|
|
|
|
|
* Revert "Short term bodge for firmware size bloat (#14144)"
This reverts commit a8d65473461c337fb1e168d907bfb8c3ac8fdbd0.
* Revert "Tidy up quantum.c now some of tmk_core has been merged (#14083)"
This reverts commit c4dbf4bf0118dd785802861beb247433b5b7411d.
|
|
|
|
* Fixup Audio startup and add to documents
* fix doc descriptions
|
|
* Combo processing improvements.
Now it is possible to use ModTap and LayerTap keys as part of combos.
Overlapping combos also don't trigger all the combos, just exactly the
one that you press.
New settings:
- COMBO_MUST_HOLD_MODS
- COMBO_MOD_TERM
- COMBO_TERM_PER_COMBO
- COMBO_MUST_HOLD_PER_COMBO
- COMBO_STRICT_TIMER
- COMBO_NO_TIMER
* Remove the size flags from combo_t struct boolean members.
This in the end actually saves space as the members are accessed so many
times. The amount of operations needed to access the bits uses more
memory than setting the size saves.
* Fix `process_combo_key_release` not called correctly with tap-only combos
* Fix not passing a pointer when NO_ACTION_TAPPING is defined.
* Docs for `COMBO_ONLY_FROM_LAYER`
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update quantum/process_keycode/process_combo.c
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Add `EXTRA_SHORT_COMBOS` option.
Stuff combo's `disabled` and `active` flags into `state`. Possibly can
save some space.
* Add more examples and clarify things with dict management system.
- Simple examples now has a combo that has modifiers included.
- The slightly more advanced examples now are actually more advanced
instead of just `tap_code16(<modded-keycode>)`.
- Added a note that `COMBO_ACTION`s are not needed anymore as you can
just use custom keycodes.
- Added a note that the `g/keymap_combo.h` macros use the
`process_combo_event` function and that it is not usable in one's
keymap afterwards.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Change "the" combo action example to "email" example.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Fix sneaky infinite loop with `combo_disable()`
No need to call `dump_key_buffer` when disabling combos because the
buffer is either being dumped if a combo-key was pressed, or the buffer is empty
if a non-combo-key is pressed.
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
* Update docs/feature_combo.md
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: precondition <57645186+precondition@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
|
|
* Unconditionally call led_init_ports
* Another call to led_init_ports
|
|
* Minor tidy up of key overrides
* Update quantum/quantum.c
* Update quantum/quantum.c
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Ryan <fauxpark@gmail.com>
|
|
|
|
* Extract sendstring into its own compilation unit
* License headers?
* Put this include in the header
|
|
* Relocate bootmagic logic to have single entrypoint
* Align init of layer state
|
|
* Allow for disabling RGB_MATRIX on Massdrop boards.
* Fixup init sequence.
* Make some functions static as they've got very generic names.
|
|
* Split transport mirror support
* Updated RGB Matrix to respond to electrical events instead of key events
* split matrix slave fix
|
|
|
|
|
|
|