Commit Graph

2127 Commits

Author SHA1 Message Date
Stefan Kerkmann
ed9bdcbc36
[Core] guard RPC invocation by checking RPC info against crc checksum (#17840) 2022-08-06 18:46:59 +10:00
QMK Bot
668fbac88d Merge remote-tracking branch 'origin/develop' into xap 2022-08-01 02:58:57 +00:00
David Hoelscher
2bdd73f801
Add ST7735 driver to Quantum Painter (#17848) 2022-07-31 19:58:25 -07:00
QMK Bot
10bd5e304c Merge remote-tracking branch 'origin/develop' into xap 2022-07-30 04:21:05 +00:00
Drzony
0b726a437b
Implement relative mode for Cirque trackpad (#17760) 2022-07-29 21:20:34 -07:00
QMK Bot
0bf412adbe Merge remote-tracking branch 'origin/develop' into xap 2022-07-30 00:33:19 +00:00
QMK Bot
0c487cbeba Merge remote-tracking branch 'origin/master' into develop 2022-07-30 00:32:42 +00:00
Drashna Jaelre
d93dfbff3c
Fix check when compiling HID Joystick with digital driver (#17844) 2022-07-30 01:32:06 +01:00
QMK Bot
2ba9045bbc Merge remote-tracking branch 'origin/develop' into xap 2022-07-29 04:51:35 +00:00
precondition
95c1cc425e
Rename postprocess_steno_user → post_process_steno_user (#17823) 2022-07-28 21:51:01 -07:00
zvecr
81ac1a5df5 Patch up fnv use in dynamic keymap 2022-07-28 01:43:23 +01:00
QMK Bot
8c5a9d1c5e Merge remote-tracking branch 'origin/develop' into xap 2022-07-26 18:36:17 +00:00
Daniel Kao
b8b2e99976
Constrain Cirque Pinnacle coordinates (#17803)
Static x & y should be the same type as touchData.xValue &
touchData.yValue: uint16_t.
Their delta could be larger than int8_t and should be constrained to
mouse_xy_report_t.
2022-07-26 19:35:41 +01:00
QMK Bot
5d61b84698 Merge remote-tracking branch 'origin/develop' into xap 2022-07-26 16:38:45 +00:00
Joel Challis
c982d6c5e3
Avoid OOB in dynamic_keymap_reset (#17695) 2022-07-26 17:38:28 +01:00
QMK Bot
0a220ed6e7 Merge remote-tracking branch 'origin/develop' into xap 2022-07-26 06:20:10 +00:00
Daniel Kao
1de6811ebe
Cirque circular scroll: Support POINTING_DEVICE_COMBINED (#17654) 2022-07-25 23:19:33 -07:00
QMK Bot
3dea197e48 Merge remote-tracking branch 'origin/develop' into xap 2022-07-25 22:07:15 +00:00
Drashna Jaelre
325da02e57
Fix QK_MAKE's reboot check (#17795) 2022-07-25 23:06:26 +01:00
QMK Bot
17111d7383 Merge remote-tracking branch 'origin/develop' into xap 2022-07-23 18:21:54 +00:00
JayceFayne
d02cefe613
implement tap_code16_delay (#17748) 2022-07-23 19:21:20 +01:00
QMK Bot
bfc8f5402d Merge remote-tracking branch 'origin/develop' into xap 2022-07-23 16:44:11 +00:00
jack
a6f3194397
Add ability to enter bootloader mode from QK_MAKE (#17745) 2022-07-23 17:43:32 +01:00
QMK Bot
e40a5999bf Merge remote-tracking branch 'origin/develop' into xap 2022-07-21 17:17:24 +00:00
Drashna Jaelre
5f32690cba
Move Pointing Device Initialization (#17740)
Move Pointing Device Initialization to after Split Post Initialization

If both pointing device and split is enabled, the pointing device init needs to be called after the split post init, otherwise the connection (serial/etc) isn't initialized yet, and any commands that need to send data over (such as calling the set cpi command) never get sent over.
2022-07-21 10:16:44 -07:00
QMK Bot
bb1bed38e7 Merge remote-tracking branch 'origin/develop' into xap 2022-07-20 23:54:28 +00:00
Wilba
4efe6330c4
VIA Encoder Map Support (#17734) 2022-07-21 09:53:42 +10:00
QMK Bot
2552b00adc Merge remote-tracking branch 'origin/develop' into xap 2022-07-20 22:00:02 +00:00
mknj
9a31bbb3fa
fix syntax error (#17732) 2022-07-20 22:59:18 +01:00
QMK Bot
1ed3b63f1a Merge remote-tracking branch 'origin/develop' into xap 2022-07-20 16:33:00 +00:00
Drashna Jaelre
ee17ffadea
Move Pointing Device code to a subdirectory (#17684) 2022-07-20 17:32:00 +01:00
QMK Bot
45298a8c26 Merge remote-tracking branch 'origin/develop' into xap 2022-07-20 00:47:05 +00:00
Drashna Jaelre
12eb6444c6
Add support for PAW3204 Optical Sensor (#17669)
Co-authored-by: gompa <gompa@h-bomb.nl>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-07-19 17:46:22 -07:00
Joel Challis
42eff8c372
Allow dynamic keymap to compile without via.h (#17703) 2022-07-18 11:55:27 +01:00
zvecr
28855f658a Hash dynamic keymap at runtime 2022-07-15 03:33:34 +01:00
zvecr
8874c664a8 Allow xap to compile without via.h 2022-07-15 01:45:58 +01:00
QMK Bot
4b10c476ba Merge remote-tracking branch 'origin/develop' into xap 2022-07-14 11:38:19 +00:00
Albert Y
2f73e65837
Add LED limit call (#17679) 2022-07-14 12:37:47 +01:00
QMK Bot
a418724894 Merge remote-tracking branch 'origin/develop' into xap 2022-07-14 11:37:32 +00:00
Albert Y
1862ac5454
Fix the use of LED limits (#17678) 2022-07-14 12:36:51 +01:00
QMK Bot
bb108b77d9 Merge remote-tracking branch 'origin/develop' into xap 2022-07-14 11:23:32 +00:00
Albert Y
300dab7962
[Code] Add solid reactive gradient mode (#17228) 2022-07-14 12:22:53 +01:00
QMK Bot
36d825309b Merge remote-tracking branch 'origin/develop' into xap 2022-07-14 09:50:35 +00:00
Stefan Kerkmann
3c58f98929
[Core] PMW33XX drivers overhaul (#17613)
* PMW33XX drivers overhaul

This combines the PMW3389 and PM3360 drivers as they only differ in the
firmware blobs and CPI get and set functions. The following changes have
been made:

* PMW3389 now gets the same multi-sensor feature that is already available on the
  PMW3360.

* Introduced a shared pmw33xx_report_t struct is now directly readable via SPI
  transactions instead of individual byte-sized reads, saving multiple
  copies and bitshift operations.

* pmw33(89/60)_get_report functions had unreachable branches in their motion
  detection logic these have been simplied as much as possible.

* The fast firmware upload option has been removed as this becomes obsolete by
  the newly introduced polled waiting functions for ChibiOS polled waiting

* PMW33(60/89)_SPI_LSBFIRST and PMW33(60/89)_SPI_MODE config options
  have been removed as they don't need to be configurable.

* All PMW3389 and PMW3360 defines have been unified to a PMW33XX prefix
  to reduce code duplication and make the defines interchangeable

* Adjust keyboards to PMW33XX naming scheme
2022-07-14 11:50:00 +02:00
zvecr
f4e5901726 Strip out 'permissions: ignore' 2022-07-13 23:50:01 +01:00
QMK Bot
b826badc7c Merge remote-tracking branch 'origin/develop' into xap 2022-07-13 08:11:25 +00:00
Drashna Jaelre
09e4001bba
[Bug] Fix compile issue with LED Matrix (#17658) 2022-07-13 01:10:51 -07:00
QMK Bot
8917427f76 Merge remote-tracking branch 'origin/develop' into xap 2022-07-13 05:18:44 +00:00
Drashna Jaelre
1dfe2bb49a
Update LED/RGB Matrix flag function behavior (#17651) 2022-07-12 22:18:02 -07:00
QMK Bot
7fa23bcc6c Merge remote-tracking branch 'origin/develop' into xap 2022-07-13 04:18:12 +00:00
Daniel Kao
5db705d054
Cirque trackpad features: circular scroll, inertial cursor (#17482) 2022-07-12 21:17:40 -07:00
QMK Bot
eaf6428e38 Merge remote-tracking branch 'origin/develop' into xap 2022-07-11 20:00:06 +00:00
FREEWING.JP
61df87ae2c
Added Delay time dynamic keymap's macro feature (#16810)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-07-11 12:59:16 -07:00
QMK Bot
6cbcce37e0 Merge remote-tracking branch 'origin/develop' into xap 2022-07-07 12:14:51 +00:00
Stefan Kerkmann
643f6367a1
[Fix] Patches after printf library update (#17584)
* Add missing '(' to print_bin_reverse32 declaration
* Fix insufficient character buffers on satisfaction75
* Remove \0 character in format string and use corrected offset math
  instead on rocketboard 16
* Replace snprintf_ with snprintf for djinn
* Explicitly ignore format checks for tracktyl manuform that uses %b
  specifier
* Print properly escaped version string in command.c, as PRODUCT or
  other defines can contain constructs like 'Vendor keyboard 66%' which
  will be interpreted as a format specifier
2022-07-07 14:14:09 +02:00
QMK Bot
2828cb427c Merge remote-tracking branch 'origin/develop' into xap 2022-07-07 08:01:34 +00:00
Stefan Kerkmann
8224f62806
Make debounce() signal changes in the cooked matrix as return value (#17554) 2022-07-07 10:00:40 +02:00
QMK Bot
517eb82ed6 Merge remote-tracking branch 'origin/develop' into xap 2022-07-07 07:28:46 +00:00
Stefan Kerkmann
d9bb189e25
[Core] Update mpaland/printf to eyalroz/printf fork (#16163)
mpaland printf implementation was abandoned in ~2019 and the fork by
eyalroz is now regarded to be the goto replacement of it. So this commit
incoporates the changes needed to use this fork in QMK.

Note that pointer ptrdiff_t is always supported since commit
51c90f93a97fdaef895783ecbe24569be0db7cb8
2022-07-07 09:27:50 +02:00
zvecr
ced7094ddd Add xap cli functions to test secure 2022-07-07 01:57:41 +01:00
QMK Bot
a23c40f921 Merge remote-tracking branch 'origin/develop' into xap 2022-07-04 23:00:39 +00:00
Nick Brassel
0e5d67145a
Allow for keymaps array to be implemented in a file other than $(KEYMAP_C) (#17559) 2022-07-05 08:58:35 +10:00
QMK Bot
8671acbfeb Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 12:50:09 +00:00
QMK Bot
a6faf3bc9e Merge remote-tracking branch 'origin/master' into develop 2022-07-02 12:49:52 +00:00
CoffeeIsLife
0365f640af
Allow for RGB actions to take place on Keydown instead of Keyup (#16886)
* Allow for switch on keydown

* add docs
2022-07-02 22:49:49 +10:00
QMK Bot
2064651e27 Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 12:13:49 +00:00
Marek Wyborski
b8e8a20ca6
Improve ENCODER_DEFAULT_POS to recognize lost ticks (#16932) 2022-07-02 22:12:41 +10:00
QMK Bot
2196d7cb9c Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 12:10:26 +00:00
Ryan
3ecb0a80af
Feature-ify Send String (#17275) 2022-07-02 22:10:08 +10:00
QMK Bot
b908b4c4d2 Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 12:09:25 +00:00
Osamu Aoki
871eeae4ea
PoC: Swap Escape and Caps (#16336) 2022-07-02 22:08:48 +10:00
QMK Bot
1bf4da84dc Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 12:04:20 +00:00
torkel104
8b78fac451
Fix keys being discarded after using the leader key (#17287) 2022-07-02 22:03:40 +10:00
QMK Bot
e3e0d96f0e Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 11:57:39 +00:00
Jouke Witteveen
0112938140
Expose the time of the last change to the LED state (#17222) 2022-07-02 21:57:05 +10:00
QMK Bot
7e43152849 Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 11:49:30 +00:00
FREEWING.JP
9dc7b9d40c
Added Wait time to sending each Keys for Dynamic Macros function (#16800)
Co-authored-by: Joel Challis <git@zvecr.com>
2022-07-02 21:48:26 +10:00
QMK Bot
3f5ff5a0c6 Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 05:19:31 +00:00
Nick Brassel
5846b40f74
RP2040 emulated EEPROM. (#17519) 2022-07-02 15:18:50 +10:00
QMK Bot
a065805946 Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 03:23:52 +00:00
QMK Bot
3def7b98d4 Merge remote-tracking branch 'origin/master' into develop 2022-07-02 03:23:21 +00:00
Nick Brassel
c8fbfca1b6
[QP] Explicit buffer alignment. (#17532) 2022-07-02 13:22:46 +10:00
QMK Bot
fc5fcd909a Merge remote-tracking branch 'origin/develop' into xap 2022-07-02 03:21:27 +00:00
Nick Brassel
b67ae67687
[QP] Add ILI9488 support. (#17438) 2022-07-02 13:20:45 +10:00
QMK Bot
f6d689a980 Merge remote-tracking branch 'origin/develop' into xap 2022-06-30 11:20:40 +00:00
Stefan Kerkmann
d717396708
[Core] Add Raspberry Pi RP2040 support (#14877)
* Disable RESET keycode because of naming conflicts

* Add Pico SDK as submodule

* Add RP2040 build support to QMK

* Adjust USB endpoint structs for RP2040

* Add RP2040 bootloader and double-tap reset routine

* Add generic and pro micro RP2040 boards

* Add RP2040 onekey keyboard

* Add WS2812 PIO DMA enabled driver and documentation

Supports regular and open-drain output configuration. RP2040 GPIOs are
sadly not 5V tolerant, so this is a bit use-less or needs extra hardware
or you take the risk to fry your hardware.

* Adjust SIO Driver for RP2040

* Adjust I2C Driver for RP2040

* Adjust SPI Driver for RP2040

* Add PIO serial driver and documentation

* Add general RP2040 documentation

* Apply suggestions from code review

Co-authored-by: Nick Brassel <nick@tzarc.org>

Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-06-30 13:19:27 +02:00
QMK Bot
2b212b6308 Merge remote-tracking branch 'origin/develop' into xap 2022-06-29 21:42:57 +00:00
Nick Brassel
34e244cecf
Wear-leveling EEPROM drivers: embedded_flash, spi_flash, legacy (#17376) 2022-06-30 07:42:23 +10:00
QMK Bot
5399c9cc91 Merge remote-tracking branch 'origin/develop' into xap 2022-06-29 08:25:50 +00:00
Dasky
dcdc7290e5
RGB Matrix Heatmap - Skip positions with NO_LED (#17488) 2022-06-29 01:25:03 -07:00
QMK Bot
726d45ae68 Merge remote-tracking branch 'origin/develop' into xap 2022-06-29 08:18:36 +00:00
QMK Bot
f7eb7926e8 Merge remote-tracking branch 'origin/master' into develop 2022-06-29 08:17:56 +00:00
Drashna Jaelre
74bec84740
[Bug] Fix 3 speed mousekey mode (#17500) 2022-06-29 01:16:31 -07:00
QMK Bot
2a6753904b Merge remote-tracking branch 'origin/develop' into xap 2022-06-28 22:29:54 +00:00
QMK Bot
2daad28ab1 Merge remote-tracking branch 'origin/master' into develop 2022-06-28 22:29:19 +00:00
Drashna Jaelre
43f8d365ba
[Bug] Fix issue with mousekey movement getting stuck (#17493)
* [Bug] Fix issue with mousekey movement getting stuck

* Lint
2022-06-28 15:28:44 -07:00
zvecr
2592402627 Use keymap folder hash to reset dynamic keymap eeprom 2022-06-27 21:44:26 +01:00
QMK Bot
129e9c3952 Merge remote-tracking branch 'origin/develop' into xap 2022-06-26 21:18:55 +00:00
Nick Brassel
01ecf332ff
Generic wear-leveling algorithm (#16996)
* Initial import of wear-leveling algorithm.

* Alignment.

* Docs tweaks.

* Lock/unlock.

* Update quantum/wear_leveling/wear_leveling_internal.h

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>

* More tests, fix issue with consolidation when unlocked.

* More tests.

* Review comments.

* Add plumbing for FNV1a.

* Another test checking that checksum mismatch clears the cache.

* Check that the write log still gets played back.

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-06-27 07:18:21 +10:00
QMK Bot
6361da77f4 Merge remote-tracking branch 'origin/develop' into xap 2022-06-26 16:15:55 +00:00
Thomas Kriechbaumer
0d013a21e1
[Split] Verify Split Pointing Device config (#17481) 2022-06-26 09:15:25 -07:00
QMK Bot
6bd449d436 Merge remote-tracking branch 'origin/develop' into xap 2022-06-25 20:23:01 +00:00
Thomas Kriechbaumer
01bc974365
improvements for Cirque Pinnacle trackpads (#17091) 2022-06-25 22:22:28 +02:00
QMK Bot
33da381968 Merge remote-tracking branch 'origin/develop' into xap 2022-06-24 10:40:43 +00:00
precondition
3b9e186019
Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674) 2022-06-24 12:40:09 +02:00
QMK Bot
bc66b54073 Merge remote-tracking branch 'origin/develop' into xap 2022-06-23 18:43:56 +00:00
precondition
7060cb7b26
Refactor steno and add STENO_PROTOCOL = [all|txbolt|geminipr] (#17065)
* Refactor steno into STENO_ENABLE_[ALL|GEMINI|BOLT]

* Update stenography documentation

* STENO_ENABLE_TXBOLT → STENO_ENABLE_BOLT

TXBOLT is a better name but BOLT is more consistent with the
pre-existing TX Bolt related constants, which all drop the "TX " prefix

* Comments

* STENO_ENABLE_[GEMINI|BOLT|ALL] → STENO_PROTOCOL = [geminipr|txbolt|all]

* Add note on lacking V-USB support

* Clear chord at the end of the switch(mode){send_steno_chord} block

* Return true if NOEVENT

* update_chord_xxx → add_xxx_key_to_chord

* Enable the defines for all the protocols if STENO_PROTOCOL = all

* Mention how to use `steno_set_mode`

* Set the default steno protocol to "all"

This is done so that existing keymaps invoking `steno_set_mode` don't
all suddenly break

* Add data driver equivalents for stenography feature

* Document format of serial steno packets

(Thanks dnaq)

* Add missing comma
2022-06-23 20:43:24 +02:00
QMK Bot
f305edce4d Merge remote-tracking branch 'origin/develop' into xap 2022-06-23 01:47:48 +00:00
SmugSam
2239527871
In honor of king terry (#17387) 2022-06-23 02:47:15 +01:00
zvecr
78f28900e0 Update EECONFIG version to ensure XAP init 2022-06-22 23:03:37 +01:00
QMK Bot
39943571c4 Merge remote-tracking branch 'origin/develop' into xap 2022-06-21 17:54:14 +00:00
Dasky
be42c5fb98
Fix RGB heatmap to use XY positions and use correct led limits (#17184)
* Fix RGB heatmap to use XY positions

* lower effect area limit and make configurable

* tidy up macro

* Fix triggering in both directions.

* add docs

* fix bug when decreasing value

* performance tweak
2022-06-21 10:53:34 -07:00
QMK Bot
103df1106b Merge remote-tracking branch 'origin/develop' into xap 2022-06-20 14:32:09 +00:00
Dasky
62eaec52e0
Init eeconfig before reading handedness (#17256) 2022-06-20 15:31:27 +01:00
zvecr
dab3a4fde0 Refactor based on recent discussion - Add back 'Layer Count' 2022-06-19 23:26:37 +01:00
zvecr
956bd3b7ca Refactor based on recent discussion 2022-06-19 22:04:36 +01:00
QMK Bot
0b627d5e12 Merge remote-tracking branch 'origin/develop' into xap 2022-06-19 18:16:39 +00:00
Albert Y
c725b6bf89
[Core] Mouse key kinetic mode fix (#17176)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-06-19 11:15:55 -07:00
QMK Bot
36d87291dd Merge remote-tracking branch 'origin/develop' into xap 2022-06-18 21:38:41 +00:00
Drashna Jaelre
0da6562c4d
Make default layer size 16-bit (#15286)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2022-06-19 07:37:51 +10:00
zvecr
ba7770a4e4 Fix secure symbol missing 2022-06-16 14:27:38 +01:00
QMK Bot
71a9aef016 Merge remote-tracking branch 'origin/develop' into xap 2022-06-13 20:13:39 +00:00
Jouke Witteveen
1706da9054
tap-dance: Restructure code and document in more detail (#16394) 2022-06-13 22:12:55 +02:00
QMK Bot
d428f579e0 Merge remote-tracking branch 'origin/develop' into xap 2022-06-11 05:02:19 +00:00
Drashna Jaelre
80034a847f
Ensure that rgb+via compiles in all cases (#17355) 2022-06-10 22:01:46 -07:00
QMK Bot
ebc9cb4ed1 Merge remote-tracking branch 'origin/develop' into xap 2022-06-11 02:08:35 +00:00
Dasky
568924c76c
Add missing bracket for VIA brightness scaling (#17354) 2022-06-10 19:07:58 -07:00
QMK Bot
14e3248a24 Merge remote-tracking branch 'origin/develop' into xap 2022-06-11 00:20:38 +00:00
yiancar
0fd08da806
Scale brigthness for VIA (#17352)
Co-authored-by: yiancar <yiancar@gmail.com>
2022-06-10 17:20:01 -07:00
QMK Bot
c7b6522c7e Merge remote-tracking branch 'origin/develop' into xap 2022-06-09 01:39:55 +00:00
Drashna Jaelre
0ab51ee29d
Add support for large Mouse Reports (#16371)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-06-08 18:39:16 -07:00
QMK Bot
bf31316957 Merge remote-tracking branch 'origin/develop' into xap 2022-06-06 00:34:25 +00:00
Dasky
85b3b98570
Move SPLIT_HAND_PIN setup to split_pre_init (#17271)
* Move SPLIT_HAND_PIN setup to split_pre_init

* doppelganger should use old behaviour

* Add comment for future

Co-authored-by: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2022-06-06 01:33:32 +01:00
QMK Bot
96284a6d63 Merge remote-tracking branch 'origin/develop' into xap 2022-06-05 09:20:18 +00:00
QMK Bot
d6402fe9fb Merge remote-tracking branch 'origin/master' into develop 2022-06-05 11:15:11 +02: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
7d522fb933 Merge remote-tracking branch 'origin/develop' into xap 2022-06-05 00:26:33 +00:00
Nick Brassel
08c556b78b
Add keymap wrappers for introspection into the keymap. (#17229)
* Introspection handlers for keymaps.

* Renaming.
2022-06-05 10:26:02 +10:00
QMK Bot
001b4f6e3c Merge remote-tracking branch 'origin/develop' into xap 2022-05-31 23:10:43 +00:00
Dasky
af02baae78
Allow larger SPLIT_USB_TIMEOUT with default SPLIT_USB_TIMEOUT_POLL (#17272)
* Switch SPLIT_USB_DETECT loop to uint16_t

* Add assertion
2022-06-01 00:10:05 +01:00
QMK Bot
292995c8ba Merge remote-tracking branch 'origin/develop' into xap 2022-05-31 05:56:05 +00:00
precondition
d44a950c10
Use TAP_HOLD_CAPS_DELAY for KC_LOCKING_CAPS_LOCK (#17099) 2022-05-30 22:55:33 -07:00
QMK Bot
6579526ace Merge remote-tracking branch 'origin/develop' into xap 2022-05-31 05:38:38 +00:00
Nick Brassel
8545473307
Removes terminal from QMK. (#17258) 2022-05-30 22:38:08 -07:00
zvecr
17dbcedc8b bind xap_broadcast_secure_status to secure_hook_quantum 2022-05-22 22:47:50 +01:00
QMK Bot
8356cb615f Merge remote-tracking branch 'origin/develop' into xap 2022-05-20 00:39:32 +00:00
Pascal Getreuer
b5608cbb6d
Continue Caps Word when AltGr (right Alt) is held. (#17156)
This is a minor bug fix for Caps Word. Currently, Caps Word turns off
whenever a non-shift mod becomes active. This is done to avoid
interfering with hotkeys.

This commit makes an exception to continue Caps Word when AltGr (right
Alt) is held. Outside the US, the AltGr key is used to type additional
symbols (https://en.wikipedia.org/wiki/AltGr_key). Depending on the
language, these may include symbols used within words like accented
letters where it would be desirable to continue Caps Word.
2022-05-20 01:39:00 +01:00
QMK Bot
89e0d40e3b Merge remote-tracking branch 'origin/develop' into xap 2022-05-15 11:27:31 +00:00
Ryan
4a8bd7b9a5
Rename keymap_extras headers for consistency (#16939) 2022-05-15 21:27:01 +10:00
QMK Bot
774d3ce428 Merge remote-tracking branch 'origin/develop' into xap 2022-05-15 11:25:08 +00:00