Pascal Getreuer
9d47119457
[Core] Options to constrain Speculative Hold: SPECULATIVE_HOLD_ONE_KEY and SPECULATIVE_HOLD_FLOW_TERM. ( #26099 )
2026-05-22 22:50:52 +01:00
Joel Challis
2b88b7b20a
Ignore Uninteresting test warnings during test teardown ( #26161 )
2026-05-09 18:10:34 +08:00
Scott Lamb
0c5e36d056
Fix make test:all failures seen on macOS Tahoe ( #26136 )
2026-04-28 19:31:00 +01:00
Joel Challis
1daa191e09
Add includes for std::setw ( #26153 )
2026-04-16 00:38:42 +01:00
QMK Bot
18ed7c6caf
[CI] Format code according to conventions ( #26138 )
...
Format code according to conventions
2026-04-09 13:26:08 +01:00
Dasky
7919848324
Add core handling for pointing device failures. ( #25315 )
2025-06-14 13:55:35 +01:00
Nick Brassel
2b00b846dc
Non-volatile memory data repository pattern ( #24356 )
...
* First batch of eeconfig conversions.
* Offset and length for datablocks.
* `via`, `dynamic_keymap`.
* Fix filename.
* Commentary.
* wilba leds
* satisfaction75
* satisfaction75
* more keyboard whack-a-mole
* satisfaction75
* omnikeyish
* more whack-a-mole
* `generic_features.mk` to automatically pick up nvm repositories
* thievery
* deferred variable resolve
* whitespace
* convert api to structs/unions
* convert api to structs/unions
* convert api to structs/unions
* fixups
* code-side docs
* code size fix
* rollback
* nvm_xxxxx_erase
* Updated location of eeconfig magic numbers so non-EEPROM nvm drivers can use them too.
* Fixup build.
* Fixup compilation error with encoders.
* Build fixes.
* Add `via_ci` keymap to onekey to exercise VIA bindings (and thus dynamic keymap et.al.), fixup compilation errors based on preprocessor+sizeof.
* Build failure rectification.
2025-03-21 23:38:34 +11:00
Stefan Kerkmann
c9d62ddc78
[Core] use keycode_string in unit tests ( #25042 )
...
* tests: use keycode_string feature
With a proper keycode to string implementation in qmk there is no need
to use the unit tests only implementation anymore.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me >
* tests: remove keycode_util feature
This feature is no longer used as we switched the tests to the
keycode string implementation.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me >
2025-03-21 08:47:22 +01:00
QMK Bot
57f89e5388
[CI] Regenerate Files ( #24770 )
...
Regenerate Files
2025-01-01 13:02:16 +11:00
Dasky
1f7d10902a
Add pointing tests ( #24513 )
2024-11-23 16:34:32 +00:00
Joel Challis
4a5bae51cd
[Feature] Add keycode PDF(layer) to set the default layer in EEPROM ( #24630 )
...
* [Feature] Add keycode PDF(layer) to set the default layer in EEPROM (#21881 )
* Apply suggestions from code review
Co-authored-by: Nick Brassel <nick@tzarc.org >
---------
Co-authored-by: Nebuleon <2391500+Nebuleon@users.noreply.github.com >
Co-authored-by: Nick Brassel <nick@tzarc.org >
2024-11-23 10:09:34 +00:00
Drashna Jaelre
36b5559b99
[Core] Add Layer Lock feature ( #23430 )
...
Co-authored-by: Daniel <1767914+iamdanielv@users.noreply.github.com >
Co-authored-by: Pascal Getreuer <getreuer@google.com >
Co-authored-by: Pascal Getreuer <50221757+getreuer@users.noreply.github.com >
2024-11-21 17:31:54 +11:00
Nick Brassel
0bda0f4775
Revert removal of QK_OUTPUT_AUTO, fixup docs to reflect. ( #24593 )
2024-11-14 21:16:52 +11:00
Nick Brassel
9a8f5a80e4
Remove RING_BUFFERED_6KRO_REPORT_ENABLE due to disuse. ( #24433 )
2024-09-24 12:53:55 +01:00
Nick Brassel
70cbf08b67
Add new connection keycodes for Bluetooth, 2.4GHz. ( #24251 )
2024-08-27 10:52:23 +10:00
Ryan
f8596b40a4
Normalise mouse keycodes ( #23975 )
2024-07-03 18:35:54 +10:00
QMK Bot
cfe0709fc3
Merge remote-tracking branch 'origin/master' into develop
2024-05-13 17:16:21 +00:00
leep-frog
6d222b71c6
Add housekeeping execution to unit tests ( #22999 )
2024-05-13 18:15:52 +01:00
Ryan
224ff1d262
Normalise RGBLight (underglow) keycodes ( #23656 )
2024-05-07 18:36:50 +10:00
Ryan
b7d5a6c50b
Add new set of keycodes for RGB Matrix ( #23463 )
2024-05-04 16:49:19 +10:00
Ryan
52d3ef0fe4
Add new set of keycodes for LED Matrix ( #23432 )
2024-04-11 14:14:02 +10:00
QMK Bot
b02abcb9a6
Regenerate Files ( #22821 )
2024-01-04 08:59:38 +00:00
Ryan
0c160e1fba
Separate 6KRO and NKRO report structs ( #22267 )
2023-10-23 15:43:46 +11:00
Isaac Elenbaas
dd94877ec6
Improve test invocation, fix Retro Shift bugs, and add Auto+Retro Shift test cases ( #15889 )
2023-09-25 12:45:49 +10:00
Ryan
70e34e491c
Unicode, Unicodemap and UCIS refactor ( #21659 )
2023-08-27 13:30:19 +10:00
Pascal Getreuer
3993b15f05
[Core] Add Repeat Key ("repeat last key") as a core feature. ( #19700 )
...
Co-authored-by: casuanoob <96005765+casuanoob@users.noreply.github.com >
Co-authored-by: Sergey Vlasov <sigprof@gmail.com >
2023-05-20 22:35:06 +10:00
Nick Brassel
5faa23d54c
Keymap introspection for combos. ( #19670 )
2023-05-15 22:27:37 +10:00
Joel Challis
3be5d90b6d
Remove some use of keymap.h ( #20006 )
2023-03-03 17:50:40 +00:00
Nick Brassel
7f805cc779
VIA Protocol 12 + fixes ( #19916 )
...
Co-authored-by: Wilba <wilba@wilba.tech >
Co-authored-by: zvecr <git@zvecr.com >
2023-02-23 09:19:00 +11:00
Joel Challis
403b0addea
Align magic keycodes ( #19877 )
2023-02-23 08:14:29 +11:00
Joel Challis
0152dd811d
Move KC_MISSION_CONTROL/KC_LAUNCHPAD keycodes to core ( #19884 )
2023-02-19 18:59:50 +11:00
Joel Challis
f587a0c548
Align sequencer keycodes ( #19875 )
2023-02-18 15:44:36 +00:00
Drashna Jaelre
fe02abc479
[Core] Tri Layer Keys ( #19795 )
...
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 >
2023-02-12 10:23:07 +11:00
Joel Challis
11d49d00e7
Remove matrix_init_quantum/matrix_scan_quantum ( #19806 )
2023-02-11 03:47:17 +00:00
Joel Challis
1d0b4c8d38
Tidy up use of keycode range helpers ( #19756 )
2023-02-10 21:10:14 +00:00
Ryan
2d843088a2
Normalise Swap Hands keycodes ( #19720 )
2023-01-30 18:37:19 +00:00
Stefan Kerkmann
c2b13bd77b
Introduce VERIFY_AND_CLEAR shorthand ( #19370 )
...
Which is just a syntactic sugar for
testing::Mock::VerifyAndClearExpectations to reduce the visual clutter
in unit-tests.
2022-12-18 21:55:14 +01:00
Stefan Kerkmann
962e4c0e18
[Test] Reset timer for every unit test and provide timestamps for log messages ( #17028 )
2022-12-15 02:31:08 +11:00
Ryan
5974d989fe
Normalise Unicode keycodes ( #18898 )
...
* `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
2022-10-31 21:15:12 +00:00
Joel Challis
64ca14feea
Fix garbled test output ( #18822 )
...
* Fix garbled test output
* Correct SRC listing
2022-10-23 04:30:17 +01:00
Ryan
6dbbeea46a
Refactor send_extra ( #18615 )
2022-10-06 19:35:01 -07:00
Ryan
09d668eb0e
Simplify extrakeys sending at the host driver level ( #18230 )
...
* Simplify extrakeys sending at the host driver level
* There are two arguments here
* Wrong syntax
* Adjust keyboards which use a custom host driver
2022-09-02 20:38:27 +01:00
Pascal Getreuer
6a0d90f81a
Fix Caps Word capitalization when used with Combos + Auto Shift. ( #17549 )
2022-08-13 23:48:51 +10:00
Pascal Getreuer
95d20e6d8b
Fix and add unit tests for Caps Word to work with Unicode Map, Auto Shift, 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 >
2022-06-05 09:14:02 +02:00
QMK Bot
63646e8906
Format code according to conventions ( #16322 )
2022-02-12 18:29:31 +00:00
Stefan Kerkmann
8b865a9d64
[Core] Don't send keyboard reports that propagate no changes to the host ( #14065 )
2021-12-14 10:40:18 -08:00
Stefan Kerkmann
a24bdccee0
[Tests] Increase QMK test coverage take 2 ( #15269 )
...
* Add per-test keymaps
* Add better trace and info logs for failed unit-tests
* Add layer state assertion with tracing message
* Use individual test binaries configuration options
* Add basic qmk functionality tests
* Add tap hold configurations tests
* Add auto shift tests
Co-authored-by: Nick Brassel <nick@tzarc.org >
2021-11-23 13:31:01 +11:00
Nick Brassel
7746aefe94
Revert "[Tests] Increase QMK test coverage ( #13789 )"
...
This reverts commit b6054c0206 .
2021-11-23 09:54:04 +11:00
Stefan Kerkmann
b6054c0206
[Tests] Increase QMK test coverage ( #13789 )
...
* Add per-test keymaps
* Add better trace and info logs for failed unit-tests
* Add layer state assertion with tracing message
* Use individual test binaries configuration options
* Add basic qmk functionality tests
* Add tap hold configurations tests
* Add auto shift tests
* `qmk format-c
* Fix tests
Co-authored-by: Nick Brassel <nick@tzarc.org >
2021-11-23 08:15:04 +11:00
Drashna Jaelre
02ab7b1888
[Core] Fix "6kro enable" and clarify naming ( #14563 )
...
* Fix USB_6KRO_ENABLE compilation errors
* Add info to docs
* Rename define to be more accurate
* Remove unused rule
* Refixe docs
2021-09-29 11:37:11 -07:00