Commit Graph

2363 Commits

Author SHA1 Message Date
Joel Challis
952b88528f
Fix processing of recently added system keycodes (#20058) 2023-03-08 06:38:11 +00:00
Joel Challis
3be5d90b6d
Remove some use of keymap.h (#20006) 2023-03-03 17:50:40 +00:00
Joel Challis
c3c40dfda8
Remove some use of keymap.h (#19980) 2023-03-03 11:26:53 +00:00
Joel Challis
9f2cd9119f
Reallocate user/kb keycode ranges (#19907) 2023-02-23 09:50:09 +11:00
Joel Challis
961f0b7b2d
Reallocate SAFE_RANGE (#19909) 2023-02-23 09:49:07 +11: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
precondition
93f2ed3abf
[Bug] Fix compilation error when defining QUICK_TAP_TERM_PER_KEY (#19893) 2023-02-22 11:03:36 -08:00
Joel Challis
0152dd811d
Move KC_MISSION_CONTROL/KC_LAUNCHPAD keycodes to core (#19884) 2023-02-19 18:59:50 +11:00
Drashna Jaelre
48a79b08cc
Fix functions when NO_ACTION_TAPPING is defined (#11528) 2023-02-19 12:08:03 +11:00
Joel Challis
f587a0c548
Align sequencer keycodes (#19875) 2023-02-18 15:44:36 +00:00
Drashna Jaelre
a63808c23f
[Bug] Fix compiliation issue for Key Overrides (#19856) 2023-02-15 21:06:10 +00:00
Pascal Getreuer
7d692d64f3
Fix Layer Mod handling of with right-handed mods. (#19845) 2023-02-14 12:44:42 -08:00
Albert Y
9908ed7ecd
Add swap hands status function (#19831)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-02-14 12:44:18 -08:00
Dasky
74770ac79b Merge branch 'master' into develop 2023-02-14 03:05:44 +00:00
Albert Y
cd91a3ced7
Update fractal attribution comment (#19832) 2023-02-13 10:58:27 -07:00
Nick Brassel
b8ac4dddb6
Fixup develop compiles. (#19828) 2023-02-13 08:57:23 +11:00
Drashna Jaelre
b47f179a4a
Make Magic handling more consistent in Action Keycode handling (#9126)
Co-authored-by: Ryan <fauxpark@gmail.com>
2023-02-13 04:48:14 +11:00
Joel Challis
6ceff1367d
Tidy up use of keycode range helpers (#19813) 2023-02-12 17:09:34 +00:00
dexter93
3ae87b1555
core: allow locking the matrix state (#18852)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2023-02-13 03:38:36 +11:00
Eric.a Gebhart
db1eeea478
Add combo hook to allow per layer combo reference layers. (#16699)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2023-02-13 03:31:04 +11:00
Ryan
bbf7a20b33
Refactor Leader key feature (#19632)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-02-13 03:19:02 +11:00
Joel Challis
d10350cd2c
Restore packing of midi note keycodes (#19468) 2023-02-13 02:55:51 +11:00
Sergey Vlasov
584b7cf801
Fix build failures with OPT = 0 due to inline functions (#19767)
Co-authored-by: Joel Challis <git@zvecr.com>
2023-02-12 17:14:34 +11:00
Drashna Jaelre
b1f4d49c43
[Bug] Fix tri layer compiler issue if NO_ACTION_LAYER is defined (#19821) 2023-02-12 17:07:01 +11:00
jack
9c6942ea40
Remove config.h include from quantum files (#19817) 2023-02-12 02:40:16 +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
Joel Challis
2ffdec5dc2
Move more unicode ranges to DD (#19755) 2023-02-10 21:08:54 +00:00
jpe230
49c912f9b4
QP: Correct rotation and offset when using LVGL (#19713)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: Joel Challis <git@zvecr.com>
2023-02-02 14:31:54 +11:00
Joel Challis
d84a7351ea
Strip out more of config_common (#19722) 2023-01-30 20:40:12 +00:00
Nick Brassel
f6dd8dea2e
Remove usages of config_common.h from config.h files. (#19714) 2023-01-31 06:03:30 +11:00
Ryan
2d843088a2
Normalise Swap Hands keycodes (#19720) 2023-01-30 18:37:19 +00:00
Ryan
242b80c63f
Move MIDI code out of tmk_core (#19704) 2023-01-30 18:47:50 +11:00
Joel Challis
968cc1fe7b
Relocate diode direction definitions (#19715) 2023-01-30 15:10:40 +11:00
Ryan
043d8e1140
Remove deprecated Quantum keycodes (#19712) 2023-01-29 16:44:16 +00:00
Joel Challis
8cc2e0e906
Fix quantum ring_buffer for ChibiOS (#19683) 2023-01-28 21:07:51 +00:00
Nick Brassel
ea05045923
Allow overriding of keymap/encodermap layer count. (#19325) 2023-01-24 07:10:03 +11:00
Ryan
cf935d97ae
Fix functions with empty params (#19647)
* Fix functions with empty params

* Found a bunch more
2023-01-20 16:21:17 +00:00
Jouke Witteveen
db7ca07909
Process Tap Dances before WPM/Velocikey (#19599) 2023-01-16 21:23:57 -08:00
Albert Y
0ff52925c0
Refactor pixel rain animation (#19606) 2023-01-16 17:54:51 -08:00
David Hoelscher
45851a10f6
Add RGB565 and RGB888 color support to Quantum Painter (#19382) 2023-01-14 21:24:54 +11:00
QMK Bot
8bc85c0f42 Merge remote-tracking branch 'origin/master' into develop 2023-01-10 03:22:17 +00:00
Drashna Jaelre
90fd08bf4b
[Bug] Use correct functions for RGB Matrix support in VIA (#19554) 2023-01-10 03:21:38 +00:00
David Kosorin
0f5500182c
Allow mod-tap hold action on one shot layer (#19214) 2023-01-02 11:16:24 +01:00
QMK Bot
fc2c9ccbc5
Regenerate Files (#19463) 2023-01-01 02:20:11 +00:00
Drashna Jaelre
b585ece5ef
Add Split support for Haptic feedback (#19203) 2023-01-01 11:56:32 +11:00
Drashna Jaelre
ac561b9473
[Bug] Prevent dynamic keymaps from processing layers that don't exist (#19225) 2023-01-01 11:55:14 +11:00
Joel Challis
d0ebafaea6
Align definition of unicode_map (#19452) 2023-01-01 11:54:12 +11:00
Albert Y
77092675aa
Update RGB matrix reactive gradient timer scale (#19415) 2022-12-30 11:38:15 +11:00
Albert Y
7f2ac4c576
De-obfuscate random8 functions in RGB matrix animations (#19416) 2022-12-27 12:11:31 -08:00
Albert Y
809c05ddf2
Use random8 for jellybean effect (#19418) 2022-12-27 12:10:07 -08:00
Joel Challis
517f8af99e
Revert changes to keymap_steno.h (#19412) 2022-12-23 23:42:33 +00:00
QMK Bot
8f506b5bc2 Merge remote-tracking branch 'origin/master' into develop 2022-12-23 11:12:33 +00:00
Joel Challis
ab1898e660
Minor alignment of rgb_breathe_table generator (#19403) 2022-12-23 11:11:56 +00:00
Joel Challis
e5721bbd37
Remaining DD keymap_extras migration (#19110)
* Parse headers to data

* Regen headers from data
2022-12-21 23:35:23 +00:00
Stefan Kerkmann
85984902cf
Introduce IS_EVENT instead of !IS_NOEVENT (#19366) 2022-12-17 14:06:27 +00:00
Stefan Kerkmann
dedc54a328
[Core] guard action related debug messages (#19348) 2022-12-15 23:38:25 +01:00
QMK Bot
62b89f8184 Merge remote-tracking branch 'origin/master' into develop 2022-12-15 08:19:43 +00:00
Joshua Diamond
571a9794af
Fix non-functional RGBLIGHT_EFFECT_TWINKLE on ARM (#19335) 2022-12-15 00:18:54 -08:00
Ryan
1978007fae
Tap Dance: remove qk_ prefix (#19313) 2022-12-14 12:40:25 -08: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
Joel Challis
1124bbc1db
Remove deprecated led_set_kb (#19273)
* Remove led_set_kb maintaining existing led_set_user behaviour

* Also call led_set_user
2022-12-14 11:14:10 +00:00
Ryan
e2117564c5
Leader: remove qk_ prefix (#19304) 2022-12-14 13:46:01 +11:00
Ryan
9e4cfcd181
UCIS: remove qk_ prefix (#19302) 2022-12-14 13:44:36 +11:00
precondition
515dd18c28
Remove IGNORE_MOD_TAP_INTERRUPT_PER_KEY in favour of HOLD_ON_OTHER_KEY_PRESS_PER_KEY (#15741) 2022-12-13 22:20:07 +11:00
jpe230
102f22f7e9
[Core] Quantum Painter - LVGL Integration (#18499)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-12-13 07:51:14 +11:00
Albert Y
cbabc8dbe6
[Core] Replace Tapping Force Hold feature with Quick Tap Term (#17007)
* 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>
2022-12-12 16:52:22 +01:00
Joel Challis
9bc7e9afbd
Initial uk+us DD keymap_extras migration (#19031) 2022-12-09 00:54:52 +00:00
Ruslan Sayfutdinov
85ee55ff3b
Detect host OS based on USB fingerprint (#18463)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-12-09 03:45:30 +11:00
dexter93
f2a8a13dba
Core: Support inverted scan logic for optical switches (#19053) 2022-12-09 03:09:01 +11:00
Drashna Jaelre
50661ab65c
Remove RGBLIGHT_ANIMATIONS from core (+cleanup) (#19216) 2022-12-01 13:06:45 -08:00
QMK Bot
c146563f4b Merge remote-tracking branch 'origin/master' into develop 2022-11-29 16:35:30 +00:00
Ryan
8a8000b4ec
Fix Czech sendstring LUT (#19193) 2022-11-29 16:34:57 +00:00
Felix Kuehling
4ae7525923
Bug17281 - Retain momentary layers until the end of tapping (#17282)
* 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>
2022-11-28 09:16:38 +01:00
Christopher Hoage
9b51f02f45
Fix encoder_init call order in keyboard_init (#19140) 2022-11-27 10:07:35 +11:00
Ryan
e12ca14af8
Change RGB_MATRIX_STARTUP_* defines to RGB_MATRIX_DEFAULT_* (#19079) 2022-11-27 04:18:24 +11:00
Ryan
1e95f7be8f
Joystick feature improvements (#19052) 2022-11-27 03:14:45 +11:00
Ryan
a5a20cc792
Change LED_MATRIX_STARTUP_* defines to LED_MATRIX_DEFAULT_* (#19080) 2022-11-27 03:14:35 +11:00
Selene ToyKeeper
31fb55ae7b
fixed MOUSEKEY_INERTIA on AVR (#19096)
Co-authored-by: Selene ToyKeeper <git@toykeeper.net>
2022-11-16 13:46:11 -08:00
Joel Challis
57ac917b43
Extend eeconfig kb/user datablock API (#19094) 2022-11-16 18:06:49 +11:00
nicknimchuk
c1ef943ce0
Add missing prototype for get_hold_on_other_key_press to resolve #18855 (#19056)
Closes undefined
2022-11-14 03:34:59 +11:00
Drashna Jaelre
8812872794
Only trigger encoder callbacks on primary side (#18467)
Co-authored-by: zvecr <git@zvecr.com>
2022-11-14 02:51:19 +11:00
Ryan
6cc9513ab0
Digitizer feature improvements (#19034) 2022-11-12 23:28:11 +00:00
Drashna Jaelre
1caedd10c4
Don't clear keys on layer change unless STRICT_LAYER_RELEASE is enabled (#18577)
* 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?
2022-11-12 02:11:50 +00:00
Joshua Diamond
f6baf916a9
Avoid repeated calls to rgblight_set() in tight succession when setting lighting layers (#18338)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2022-11-10 20:27:40 +11:00
Wilba
bc6f8dc8b0
VIA V3 - The Custom UI Update (#18222) 2022-11-10 07:46:44 +11:00
Christopher Hoage
af52a9f8ad
Fix jump in report value when scale changes during cirque get report (#18992)
Fixes undefined
2022-11-09 09:48:46 -08:00
Ryan
d810878d5e
Normalise output selection (Bluetooth) keycodes (#19004) 2022-11-08 19:03:31 +00:00
Joel Challis
e4d2ba9a4d
Align haptic feedback keycode names (#18964) 2022-11-07 02:43:53 +00:00
Ryan
8b658dcc9a
Normalise MIDI keycodes (#18972)
* `MI_ON`, `MI_OFF`, `MI_TOG` -> `MI_TOGG`

* `MI_CH*`, `MI_CHU` -> `MI_CHNU`, `MI_CHD` -> `MI_CHND`

* `MI_VEL_*` -> `MI_VL*`, `MI_VELU`, `MI_VELD`

* `MI_TRNS_*` -> `MI_TR*`, `MI_TRNSU` -> `MI_TRSU`, `MI_TRNSD` -> `MI_TRSD`

* `MI_OCT_*` -> `MI_OC*`, `MI_OCTU`, `MI_OCTD`

* Misc controls

* Note keycodes

* Add legacy keycodes

* Regenerate keycodes

* Typo
2022-11-07 02:26:15 +00:00
Sergey Vlasov
a7b2f4233c
Fix keycode parameter extraction to match the new DD keycodes (#18977)
* Add macros to extract parameters from keycode values

Implement both encoding and decoding for keycodes like TO(layer) or
LM(layer, mod) in one place, so that the decoding won't get out of sync
with the encoding.

While at it, fix some macros for creating keycode values that did not
apply the appropriate masks to parameters (and therefore could allow the
result to be out of range if a wrong parameter was passed).

* keymap_common: Use extraction macros for keycodes

* pointing_device_auto_mouse: Use extraction macros for keycodes

Fixes #18970.

* process_autocorrect: Use extraction macros for keycodes

* process_caps_word: Use extraction macros for keycodes

(Also fix a minor bug - SH_TG was not handled properly)

* process_leader: Use extraction macros for keycodes

(Technically the code is not 100% correct, because it always assumes
that the LT() or MT() action was a tap, but it's a separate issue that
already existed before the keycode changes.)

* process_unicode: Use extraction macros for keycodes

* process_unicodemap: Use extraction macros for keycodes
2022-11-06 21:39:05 +00:00
Nick Brassel
219afaba42
Reworked backlight keycodes. (#18961)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-11-06 08:11:59 +11:00
Drashna Jaelre
352beeac2f
[Bug] Fix compilation issue with WPM (#18965) 2022-11-05 19:05:01 +00:00
Joel Challis
69fa02c37d
Align audio keycode names (#18962)
* Align audio keycode names

* Update docs

* Update quantum
2022-11-05 17:05:19 +00:00
Joel Challis
fd4c3f46fb
Align dynamic tapping term keycode names (#18963)
* Align dynamic tapping term keycode names

* regen header
2022-11-05 16:58:30 +00:00
Nick Brassel
5233c69bc6
Remove thermal printer. (#18959) 2022-11-06 00:15:55 +11:00
Nick Brassel
4d33f356a6
Macro keycode name refactoring (#18958) 2022-11-05 23:22:11 +11:00
Ryan
fe00c80211
Reduce includes for send_string header (#18952) 2022-11-05 21:45:40 +11:00
Joel Challis
a69ab05dd6
Initial DD keycode migration (#18643)
* Initial DD keycode migration

* Sort magic keycodes
2022-11-05 10:30:09 +00:00
Nick Brassel
f82e90bdea
Formalise keyboard- and user-specific EEPROM blocks (#18874)
* Formalise keyboard and user eeconfig datablocks.

* Add debounce helper that checks a condition and issues post-write function invocation.

* Naming.
2022-11-04 19:20:11 +00:00
Joel Challis
ea98aa8e5e
Reduce includes for dip_switch header (#18951) 2022-11-04 11:54:35 +00:00
Joel Challis
fb96b88842
Reduce includes for wpm header (#18949) 2022-11-04 00:50:59 +00:00
Joel Challis
1249f74b31
Reduce includes for caps_word header (#18948) 2022-11-03 23:42:58 +00:00
Ryan
fe18df9d41
Normalise Dynamic Macro keycodes (#18939)
* `DYN_REC_START1` -> `QK_DYNAMIC_MACRO_RECORD_START_1`

* `DYN_REC_START2` -> `QK_DYNAMIC_MACRO_RECORD_START_2`

* `DYN_MACRO_PLAY1` -> `QK_DYNAMIC_MACRO_PLAY_1`

* `DYN_MACRO_PLAY2` -> `QK_DYNAMIC_MACRO_PLAY_2`

* `DYN_REC_STOP` -> `QK_DYNAMIC_MACRO_RECORD_STOP`

* Update docs
2022-11-03 23:01:06 +00:00
Joel Challis
3de296f420
Reduce includes for crc header (#18947) 2022-11-03 21:36:58 +00:00
Joel Challis
f11a247127
Reduce includes for sequencer header (#18946) 2022-11-03 20:44:36 +00:00
Drashna Jaelre
ae5f818d5a
Simplify Keymap Config EEPROM (#18886)
* Simplify Keymap Config EEPROM

* Decrement eeconfig magic number due to eeconfig changes

* Update quantum/eeconfig.h

Co-authored-by: Joel Challis <git@zvecr.com>
2022-11-01 01:02:43 +00: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
Ryan
22be7e79ac
Normalise Auto Shift keycodes (#18892)
* Normalise Auto Shift keycodes

* Add keycode table to main list

* Add old keycodes to legacy header
2022-10-28 13:53:15 +01:00
Ryan
2ff1d85290
Normalise Autocorrect keycodes (#18893) 2022-10-28 12:21:24 +01:00
Ryan
7407347be1
Remove rgblight_list.h (#18878)
* Remove rgblight_list defines with no usage

* Remove rgblight_setrgb_*[_at] defines

* Remove rgblight_sethsv_* defines

* Remove rgblight_sethsv_noeeprom_* defines

* Delete rgblight_list.h and remove all references
2022-10-27 23:50:14 +01:00
Ryan
90f6b75873
Remove KC_DELT (#18882) 2022-10-27 19:33:38 +01:00
Ryan
efe520645e
Normalise Combo keycodes (#18877) 2022-10-27 13:59:58 +01:00
Ryan
8436f0dfa6
Add missing Space Cadet alias (#18876) 2022-10-27 13:08:14 +01:00
Ryan
002b58f0e4
Normalise Space Cadet keycodes (#18864) 2022-10-27 11:19:16 +01:00
Joel Challis
8e0945c822
Fix rgb_matrix_set_flags_noeeprom declaration (#18860) 2022-10-27 09:52:51 +01:00
Nick Brassel
91b1e8a3e5
Allow overriding of dynamic keymap start address. (#18867) 2022-10-27 18:29:26 +11:00
Selene ToyKeeper
2a61bfc27d
add "inertia" mode for mouse keys (#18774)
Co-authored-by: Selene ToyKeeper <git@toykeeper.net>
2022-10-26 20:49:44 +01:00
Joel Challis
ec2414c074
Deprecate SECURE_* keycodes for QK_SECURE_* (#18847)
* Deprecate SECURE_* keycodes for QK_SECURE_*

* Update keycode process

* Update process_secure.c

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2022-10-25 22:59:17 +01:00
Ryan
812001de7f
Deprecate ONESHOT_* keycodes for QK_ONE_SHOT_* (#18844)
* Deprecate `ONESHOT_*` keycodes for `QK_ONE_SHOT_*`

* Docs
2022-10-25 17:50:22 +01:00
Ryan
1d34f380eb
Deprecate KEY_OVERRIDE_* keycodes for KO_* (#18843) 2022-10-25 14:45:57 +01:00
Joel Challis
4f63be4d1d
Remove some assumptions on sequential keycode ranges (#18838) 2022-10-24 22:07:34 -07:00
Selene ToyKeeper
e863c431f6
added BS_TOGG so BS_SWAP and BS_NORM can be on a single key (#18837)
Co-authored-by: Selene ToyKeeper <git@toykeeper.net>
2022-10-24 22:02:21 -07:00
Ryan
a80b886751
Deprecate CAPS_WORD/CAPSWRD for CW_TOGG (#18834) 2022-10-24 17:30:37 +01:00
Ryan
6bbe8b6edd
Normalise Joystick and Programmable Button keycodes (#18832) 2022-10-24 15:50:33 +01:00
Ryan
74484e21af
Deprecate VLK_TOG for VK_TOGG (#18807) 2022-10-22 21:45:20 +01:00
Ryan
4f3af09209
Remove legacy fauxclicky and unicode keycodes (#18800) 2022-10-21 21:43:55 +01:00
Ryan
7cbff9d921
Deprecate KC_LOCK for QK_LOCK (#18796) 2022-10-21 15:46:10 +01:00
Ryan
b33fc34967
Deprecate KC_LEAD for QK_LEAD (#18792) 2022-10-21 14:25:54 +01:00
Ryan
1cb1a5a374
Remove legacy Grave Escape keycodes (#18787) 2022-10-20 18:04:11 -07:00
Ryan
af678521c1
Remove quantum/audio from global VPATH (#18753) 2022-10-20 14:41:45 +01:00
Ryan
c347e732be
Remove legacy EEPROM clear keycodes (#18782)
* `EEP_RST` -> `EE_CLR`, default-ish keymaps

* `EEP_RST` -> `EE_CLR`, user keymaps

* `EEP_RST` -> `EE_CLR`, community layouts

* `EEP_RST` -> `EE_CLR`, userspace

* `EEP_RST` -> `EE_CLR`, docs & core
2022-10-20 12:20:07 +01:00
Ryan
18dc851e37
Remove legacy Debug keycode (#18769)
* `DEBUG` -> `DB_TOGG`, default-ish keymaps

* `DEBUG` -> `DB_TOGG`, user keymaps

* `DEBUG` -> `DB_TOGG`, community layouts

* `DEBUG` -> `DB_TOGG`, userspace

* `DEBUG` -> `DB_TOGG`, docs & core
2022-10-19 11:33:05 +01:00
QMK Bot
e59cb51be0
[CI] Format code according to conventions (#18756) 2022-10-18 08:29:19 +11:00
Jamal Bouajjaj
9d4c4ceee1
4 Driver support for IS31FL3737 (#18750)
* Added 4 driver support for the IS31FL3737 LED driver

* Updated docs for IS31FL3737 to support 4 drivers
2022-10-18 08:26:58 +11:00
Ryan
bad8c5992b
Remove legacy sendstring keycodes (#18749) 2022-10-17 13:45:23 +01:00
Ryan
74223c34a9
Remove legacy keycodes, part 6 (#18740)
* `KC_RSHIFT` -> `KC_RSFT`

* `KC_RCTRL` -> `KC_RCTL`

* `KC_LSHIFT` -> `KC_LSFT`

* `KC_LCTRL` -> `KC_LCTL`
2022-10-16 14:14:40 +01:00
Ryan
5e4b076af3
Remove legacy keycodes, part 5 (#18710)
* `KC_SLCK` -> `KC_SCRL`
* `KC_NLCK` -> `KC_NUM`
2022-10-15 22:29:43 +01:00
Ryan
f0b2bfd5ca
Programmable Button API refactor and improve docs (#18641) 2022-10-15 14:33:24 +11:00
Ryan
5629ba1807
Remove legacy keycodes, part 4 (#18683)
* `KC_PGDOWN` -> `KC_PGDN`

* `KC_PSCREEN` -> `KC_PSCR`

* `KC_SCOLON` -> `KC_SCLN`

* `KC_BSLASH` -> `KC_BSLS`

* `KC_BSPACE` -> `KC_BSPC`
2022-10-13 18:28:14 +01:00
James Thomson
41159326ca
Fix boundary in RGB_MATRIX_INDICATOR_SET_COLOR (#18650) 2022-10-11 11:33:02 -07:00
Ryan
e96d829724
Remove legacy keycodes, part 3 (#18669)
* `KC__VOLDOWN` -> `KC_VOLD`

* `KC__VOLUP` -> `KC_VOLU`

* `KC__MUTE` -> `KC_MUTE`

* `KC_POWER` -> `KC_PWR`
2022-10-11 14:21:47 +01:00
Ryan
c6f1b594a2
Remove legacy keycodes, part 2 (#18660)
* `KC_SYSREQ` -> `KC_SYRQ`

And one `KC_ALT_ERASE` -> `KC_ERAS`

* `KC_NONUS_BSLASH` -> `KC_NUBS`

* `KC_NUMLOCK` -> `KC_NUM`

* `KC_CLCK` -> `KC_CAPS`

* `KC_SCROLLLOCK` -> `KC_SCRL`

* `KC_LBRACKET` -> `KC_LBRC`

* `KC_RBRACKET` -> `KC_RBRC`

* `KC_CAPSLOCK` -> `KC_CAPS`
2022-10-10 20:06:26 +01:00
Joel Challis
9d43cc319c
Fix mouse use within send_string (#18659) 2022-10-09 18:00:26 -07:00
Ryan
4b2d71de52
Remove legacy international keycodes (#18588) 2022-10-09 14:51:09 +11:00
jpe230
86938fd958
Allow QK_MAKE to work with converters (#18637) 2022-10-08 09:13:58 -07:00
Joel Challis
f090cfe75c
Relocate US ANSI shifted keycode aliases (#18634) 2022-10-07 23:36:38 +01:00
Thomas Weißschuh
cbe1c22d46
quantum: led: split out led_update_ports() for customization of led behaviour (#14452) 2022-10-06 21:24:41 +11:00
Dasky
c255174cf3
Implement split comms watchdog (#18599) 2022-10-06 20:52:42 +11:00
precondition
49030e3e5b
Use get_u16_str instead of snprintf in autoshift_timer_report (#18606) 2022-10-05 10:42:05 -07:00
Stefan Kerkmann
c76d2074b6
[Bug] Fix ST7565 handler deadlock (#18609) 2022-10-05 19:22:57 +02:00
QMK Bot
86ce1d4b04 Merge remote-tracking branch 'origin/master' into develop 2022-10-05 16:55:12 +00:00
George Rodrigues
959f4cbb62
docs: some typos (#18582)
probably hacktoberism
2022-10-05 17:32:07 +01:00
Ryan
d1b6b06202
Remove legacy locking caps/num/scroll keycodes (#18601) 2022-10-05 16:21:40 +01:00
Drashna Jaelre
64b1ed4550
Fix Per Key LED Indicator Callbacks (#18450)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
2022-10-04 15:24:22 -07:00
Stefan Kerkmann
996a9006d3
[Core] PWM Backlight for RP2040 (#17706) 2022-10-04 23:10:24 +02:00
Stefan Kerkmann
56f7b34289
[Core] rewrite locking in split transaction handlers (#18417) 2022-10-05 05:49:29 +11:00
Sergey Vlasov
ca0c12847a
Fix layer switching from tap dances by redoing the keymap lookup (#17935) 2022-10-03 20:48:16 +11:00
Jason Ken Adhinarta
c0e6a28bc6
Prevent tap dance from wiping dynamic macros (#17880) 2022-10-03 18:26:47 +11:00
precondition
e78fa1fbf0
Fix comment of CM_QUES (Colemak question mark) (#18557)
`#define CM_QUES S(CM_SLSH) // /` → `#define CM_QUES S(CM_SLSH) // ?`
2022-10-01 01:52:46 -07:00
Ryan
2c96c75263
Small un/register_code() cleanups (#18544) 2022-09-30 16:29:24 -04:00
Drashna Jaelre
dbe214c326
Handle mouse keys more consistently (#18513) 2022-09-29 10:50:47 -07:00
Ryan
f80058d96e
Start Bluetooth API (#18366) 2022-09-29 18:38:09 +01:00
Nick Brassel
cbbb45c13f
Start moving towards introspection-based data retrieval (#18441) 2022-09-29 18:25:55 +01:00
izmishi
703d8cd417
Fix retain brightness when val is changed while a layer is active (#18426)
* Fix retain brightness when val is changed while a layer is active

* Fix retain brightness for RGBLIGHT_MODE_STATIC_GRADIENT

* Fix formatting
2022-09-28 13:16:24 -04:00
Ryan
be8907d634
Further refactoring of joystick feature (#18437) 2022-09-27 18:37:13 +10:00
Drashna Jaelre
fb400f2ac2
Enabling Pointing Device support in register code functions (#18363) 2022-09-26 20:49:32 -07:00
Drashna Jaelre
d909038b28
Move Oneshot mod callbacks to after mods are set (#18101) 2022-09-26 20:49:15 -07:00
Ryan
ea2819b2c2
Change {LED,RGB}_DISABLE_TIMEOUT to {LED,RGB}_MATRIX_TIMEOUT (#18415) 2022-09-26 14:40:15 +10:00
Thomas
94d5fe6f90
Allow Active High for Pointing Device Motion Pin (#18404)
Needed by the Cirque Trackpad for motion detection
2022-09-24 08:44:14 -07:00
QMK Bot
df30327c19
Format code according to conventions (#18466) 2022-09-24 00:34:44 -07:00
Alabastard-64
7c1797f52f
[Core] Pointing Device Automatic Mouse Layer (#17962)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-09-23 23:43:55 -07:00
Ryan
36c410592d
Change DRIVER_LED_COUNT to {LED,RGB}_MATRIX_LED_COUNT (#18399) 2022-09-23 22:46:23 +10:00
QMK Bot
731000533f Merge remote-tracking branch 'origin/master' into develop 2022-09-19 18:35:02 +00:00
Marius Renner
652d1d8a6d
Fix int8_t overflow in RGB heatmap effect (#18410) 2022-09-19 19:34:29 +01:00
Stefan Kerkmann
2aa3a8e059
[Core] remove busy waiting from rgblight functions (#18418) 2022-09-19 18:05:31 +02:00
Nick Brassel
1849897444
[QP] Add RGB565 surface. Docs clarification, cleanup, tabsification, and reordering. (#18396) 2022-09-19 07:30:08 +10:00
Joshua Diamond
a3a47a6556
Work around WinCompose issue for U+Axxx or U+Exxx (#18260)
* Work around WinCompose issue for U+Axxx or U+Exxx

* tzarc's more efficient version

Co-authored-by: Thomas <mail@tpreisner.de>
2022-09-18 11:51:04 -04:00
Dasky
db6a637398
Fix EECONFIG_KEYMAP_UPPER_BYTE init (#18394)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-09-17 20:58:46 +01:00
Drashna Jaelre
fb29c0ae53
[Core] Add getreuer's Autocorrect feature to core (#15699)
Co-authored-by: Albert Y <76888457+filterpaper@users.noreply.github.com>
2022-09-17 17:50:54 +10:00
Drashna Jaelre
d67d388e77
Move mousekey keycodes into newly freed up keycode block (#16076) 2022-09-17 15:49:00 +10:00
Joshua Diamond
a26f1ddafa
Chromeos keycodes (#18212) 2022-09-17 15:48:09 +10:00
Dasky
e1aed8da08
Move fake EE_HANDS (#18352) 2022-09-16 00:06:00 +01:00
Dasky
40b0b3a983
Fix cirque tap from secondary side (#18351) 2022-09-14 23:48:43 -07:00
Joel Challis
8d715fc16b
Remove deprecated RESET keycode alias (#18271) 2022-09-14 11:15:57 -07:00
Ryan
3d667f0970
Refactor Unicode feature (#18333) 2022-09-12 08:49:04 -07:00
Ryan
f7d2b001bc
Move Bluetooth-related function calls up to host/keyboard level (#18274)
* Move Bluetooth-related function calls up to host/keyboard level

* Remove pointless set_output() call

* Move bluetooth (rn42) init to end of keyboard_init()

* Enable SPI/UART for ChibiOS targets

* Some more slight tweaks
2022-09-07 19:59:24 +01:00
Ryan
8833b28361
Remove UNICODE_KEY_OSX and UC_OSX (#18290) 2022-09-06 18:07:08 +01:00
QMK Bot
165c15e250 Merge remote-tracking branch 'origin/master' into develop 2022-09-06 04:26:03 +00:00
Joel Challis
0306bdf7fd
Remove use of legacy keycode (#18281) 2022-09-06 05:25:32 +01:00
Drashna Jaelre
423826a34a
Better handle EEPROM reset keycode (#18244) 2022-09-01 20:43:06 -07:00
Joshua Diamond
e4bf832368
Add unicode mode change callbacks (#18235) 2022-08-31 16:39:16 -07:00
Jeff Epler
9632360caa
Use a macro to compute the size of arrays at compile time (#18044)
* Add ARRAY_SIZE and CEILING utility macros

* Apply a coccinelle patch to use ARRAY_SIZE

* fix up some straggling items

* Fix 'make test:secure'

* Enhance ARRAY_SIZE macro to reject acting on pointers

The previous definition would not produce a diagnostic for
```
int *p;
size_t num_elem = ARRAY_SIZE(p)
```
but the new one will.

* explicitly get definition of ARRAY_SIZE

* Convert to ARRAY_SIZE when const is involved

The following spatch finds additional instances where the array is
const and the division is by the size of the type, not the size of
the first element:
```
@ rule5a using "empty.iso" @
type T;
const T[] E;
@@

- (sizeof(E)/sizeof(T))
+ ARRAY_SIZE(E)

@ rule6a using "empty.iso" @
type T;
const T[] E;
@@

- sizeof(E)/sizeof(T)
+ ARRAY_SIZE(E)
```

* New instances of ARRAY_SIZE added since initial spatch run

* Use `ARRAY_SIZE` in docs (found by grep)

* Manually use ARRAY_SIZE

hs_set is expected to be the same size as uint16_t, though it's made
of two 8-bit integers

* Just like char, sizeof(uint8_t) is guaranteed to be 1

This is at least true on any plausible system where qmk is actually used.

Per my understanding it's universally true, assuming that uint8_t exists:
https://stackoverflow.com/questions/48655310/can-i-assume-that-sizeofuint8-t-1

* Run qmk-format on core C files touched in this branch

Co-authored-by: Stefan Kerkmann <karlk90@pm.me>
2022-08-30 10:20:04 +02:00
Stefan Kerkmann
e99ec28f5f
[Core] Introduce pointing device specific debug messages (#17663) 2022-08-29 19:16:49 +02:00
Nick Brassel
d910e8df77
Use TAP_CODE_DELAY for encoder mapping by default (#18098) 2022-08-28 21:53:08 -07:00
Drzony
f2edb73974
Fix mouse report comparison failing on shared EP (#18060)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2022-08-28 21:34:42 -07:00
Ryan
d983251c10
Switch over MANUFACTURER and PRODUCT to string literals (#18183) 2022-08-28 09:59:40 -07:00
James Young
efdd4f4d50
Clean-up of #define _ADJUST 16 instances (#18182)
* enum layer_names: 40percentclub/nori default keymap

* enum layer_names: ergotravel default keymap

* enum layer_names: handwired/atreus50 default keymap

* enum layer_names: handwired/ortho5x13 default keymap

* enum layer_names: keebio/levinson default keymap

* enum layer_names: keebio/nyquist default keymap

* enum layer_names: keebio/rorschach default keymap

* enum layer_names: keebio/viterbi default keymap

* enum layer_names: keebio/wavelet default keymap

* enum layer_names: lets_split default keymap

* enum layer_names: maple_computing/launchpad reference keymaps

Update `default` and `default_rgb` keymaps.

* enum layer_names: maple_computing/minidox default keymap

* enum layer_names: miniaxe reference keymaps

Update `default` and `underglow` keymaps.

* enum layer_names: omkbd/ergodash/mini default keymap

* enum layer_names: omkbd/ergodash/rev1 default keymap

* enum layer_names: orthodox default keymap

* enum layer_names: unikeyboard/divergetm2 default keymap

* enum layer_names: woodkeys/scarletbandana default keymap

* add _Static_assert to keymap_introspection.c
2022-08-27 23:13:44 -07:00
Joel Challis
a2765bfe19
Add missing SS_LOPT and SS_ROPT defines (#18175) 2022-08-27 09:41:10 +10:00
precondition
5021cf58ad
Fix DV_SCLN and DV_COLN in keymap_spanish_dvorak.h (#18043) 2022-08-15 18:41:05 +01:00
Stefan Kerkmann
8ce946b5c8
[Bug] Add key event check to is_tap_record and remove is_tap_key (#18063) 2022-08-15 16:40:51 +02:00
precondition
8e9ee29fe3
Remove duplicate COMBINING HORN in keymap_us_extended.h (#18045) 2022-08-14 22:25:37 -07:00
Pascal Getreuer
95c43a2759
Fix Caps Word to treat mod-taps more consistently. (#17463)
* 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>
2022-08-14 20:25:32 +01:00
Chewxy
6fc7c03e95
Added emacs as an "operating system" for input mode. (#16949) 2022-08-14 20:24:52 +01:00
precondition
0a6327d20c
Replace ; by : in the shifted symbols ASCII art of keymap_norman (#18029)
Thanks!
2022-08-14 12:18:42 -04:00
Joel Challis
ba04ecfabd
Align TO() max layers with other keycodes (#17989) 2022-08-14 21:25:46 +10:00
precondition
2c3b447641
Use ANSI ASCII art and fix comments for LT_COLN and LT_UNDS in keymap_lithuanian_qwerty.h (#18028) 2022-08-13 17:50:32 -07:00
precondition
96731ba88e
Fix LV_CCAR and LV_NCED (#18025) 2022-08-13 10:24:15 -07:00
Pascal Getreuer
6a0d90f81a
Fix Caps Word capitalization when used with Combos + Auto Shift. (#17549) 2022-08-13 23:48:51 +10:00
lokher
a02aff9c77
Add led matrix support for CKLED2001 (#17643) 2022-08-13 14:39:06 +01:00
precondition
4ff39b5652
KR_DQUO S(KR_COLN) → KR_DQUO S(KR_QUOT) (#18011) 2022-08-12 19:20:58 -07:00
precondition
e3415d6b97
define CZ_PERC S(CZ_PLUS) → define CZ_PERC S(CZ_EQL) (#18008) 2022-08-12 19:20:35 -07:00
precondition
20f0f40220
Remove invisible variation selector-15 from keymap_japanese.h (#18007) 2022-08-12 19:16:50 -07:00
precondition
b4fbb340c5
Use LT_ZCAR in place of LT_PLUS for modded kc definitions (#18000) 2022-08-12 19:13:43 -07:00
precondition
db4c4b1f78
Fix Bépo's BP_NNBS (narrow non-breaking space) (#17999)
Co-authored-by: Ryan <fauxpark@gmail.com>
2022-08-12 19:13:22 -07:00
QMK Bot
15422b3b26 Merge remote-tracking branch 'origin/master' into develop 2022-08-12 02:04:13 +00:00
Joel Challis
7e7387c0d1
Remove legacy keycode use from command (#18002) 2022-08-12 03:03:36 +01:00
Albert Y
cde9dd8b90
Refactor Pixel Fractal effect (#17602)
* Refactor effect with smaller array

* Add RGB_MATRIX_USE_LIMITS call

* Remove spaces

Co-authored-by: Drashna Jaelre <drashna@live.com>

Co-authored-by: Drashna Jaelre <drashna@live.com>
2022-08-11 22:41:42 +01:00
QMK Bot
67461a0a47 Merge remote-tracking branch 'origin/master' into develop 2022-08-07 19:33:39 +00:00
Takeshi ISHII
5ecd745514
fix comment space code in quantum/matrix_common.c (#17942) 2022-08-07 20:32:59 +01:00
Drashna Jaelre
ac25109312
Always run pointing device init (#17936) 2022-08-07 02:18:03 -07:00
Stefan Kerkmann
f27b617f36
[Core] Process all changed keys in one scan loop, deprecate QMK_KEYS_PER_SCAN (#15292) 2022-08-06 20:51:13 +10:00
Stefan Kerkmann
ed9bdcbc36
[Core] guard RPC invocation by checking RPC info against crc checksum (#17840) 2022-08-06 18:46:59 +10:00
David Hoelscher
2bdd73f801
Add ST7735 driver to Quantum Painter (#17848) 2022-07-31 19:58:25 -07:00
Drzony
0b726a437b
Implement relative mode for Cirque trackpad (#17760) 2022-07-29 21:20:34 -07: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
precondition
95c1cc425e
Rename postprocess_steno_user → post_process_steno_user (#17823) 2022-07-28 21:51:01 -07: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
Joel Challis
c982d6c5e3
Avoid OOB in dynamic_keymap_reset (#17695) 2022-07-26 17:38:28 +01:00
Daniel Kao
1de6811ebe
Cirque circular scroll: Support POINTING_DEVICE_COMBINED (#17654) 2022-07-25 23:19:33 -07:00
Drashna Jaelre
325da02e57
Fix QK_MAKE's reboot check (#17795) 2022-07-25 23:06:26 +01:00
JayceFayne
d02cefe613
implement tap_code16_delay (#17748) 2022-07-23 19:21:20 +01:00
jack
a6f3194397
Add ability to enter bootloader mode from QK_MAKE (#17745) 2022-07-23 17:43:32 +01: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
Wilba
4efe6330c4
VIA Encoder Map Support (#17734) 2022-07-21 09:53:42 +10:00
mknj
9a31bbb3fa
fix syntax error (#17732) 2022-07-20 22:59:18 +01:00
Drashna Jaelre
ee17ffadea
Move Pointing Device code to a subdirectory (#17684) 2022-07-20 17:32:00 +01: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
Albert Y
2f73e65837
Add LED limit call (#17679) 2022-07-14 12:37:47 +01:00
Albert Y
1862ac5454
Fix the use of LED limits (#17678) 2022-07-14 12:36:51 +01:00
Albert Y
300dab7962
[Code] Add solid reactive gradient mode (#17228) 2022-07-14 12:22:53 +01: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
Drashna Jaelre
09e4001bba
[Bug] Fix compile issue with LED Matrix (#17658) 2022-07-13 01:10:51 -07:00
Drashna Jaelre
1dfe2bb49a
Update LED/RGB Matrix flag function behavior (#17651) 2022-07-12 22:18:02 -07:00
Daniel Kao
5db705d054
Cirque trackpad features: circular scroll, inertial cursor (#17482) 2022-07-12 21:17:40 -07: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
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
Stefan Kerkmann
8224f62806
Make debounce() signal changes in the cooked matrix as return value (#17554) 2022-07-07 10:00:40 +02: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
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
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
Marek Wyborski
b8e8a20ca6
Improve ENCODER_DEFAULT_POS to recognize lost ticks (#16932) 2022-07-02 22:12:41 +10:00
Ryan
3ecb0a80af
Feature-ify Send String (#17275) 2022-07-02 22:10:08 +10:00
Osamu Aoki
871eeae4ea
PoC: Swap Escape and Caps (#16336) 2022-07-02 22:08:48 +10:00
torkel104
8b78fac451
Fix keys being discarded after using the leader key (#17287) 2022-07-02 22:03:40 +10:00
Jouke Witteveen
0112938140
Expose the time of the last change to the LED state (#17222) 2022-07-02 21:57:05 +10: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
Nick Brassel
5846b40f74
RP2040 emulated EEPROM. (#17519) 2022-07-02 15:18:50 +10: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
Nick Brassel
b67ae67687
[QP] Add ILI9488 support. (#17438) 2022-07-02 13:20:45 +10: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
Nick Brassel
34e244cecf
Wear-leveling EEPROM drivers: embedded_flash, spi_flash, legacy (#17376) 2022-06-30 07:42:23 +10:00
Dasky
dcdc7290e5
RGB Matrix Heatmap - Skip positions with NO_LED (#17488) 2022-06-29 01:25:03 -07: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
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
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
Thomas Kriechbaumer
0d013a21e1
[Split] Verify Split Pointing Device config (#17481) 2022-06-26 09:15:25 -07:00
Thomas Kriechbaumer
01bc974365
improvements for Cirque Pinnacle trackpads (#17091) 2022-06-25 22:22:28 +02:00
precondition
3b9e186019
Do not enable PERMISSIVE_HOLD when TAPPING_TERM exceeds 500ms (#15674) 2022-06-24 12:40:09 +02: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
SmugSam
2239527871
In honor of king terry (#17387) 2022-06-23 02:47:15 +01: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
Dasky
62eaec52e0
Init eeconfig before reading handedness (#17256) 2022-06-20 15:31:27 +01: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
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
Jouke Witteveen
1706da9054
tap-dance: Restructure code and document in more detail (#16394) 2022-06-13 22:12:55 +02:00
Drashna Jaelre
80034a847f
Ensure that rgb+via compiles in all cases (#17355) 2022-06-10 22:01:46 -07:00
Dasky
568924c76c
Add missing bracket for VIA brightness scaling (#17354) 2022-06-10 19:07:58 -07:00
yiancar
0fd08da806
Scale brigthness for VIA (#17352)
Co-authored-by: yiancar <yiancar@gmail.com>
2022-06-10 17:20:01 -07: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
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
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
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
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
precondition
d44a950c10
Use TAP_HOLD_CAPS_DELAY for KC_LOCKING_CAPS_LOCK (#17099) 2022-05-30 22:55:33 -07:00
Nick Brassel
8545473307
Removes terminal from QMK. (#17258) 2022-05-30 22:38:08 -07: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
Ryan
4a8bd7b9a5
Rename keymap_extras headers for consistency (#16939) 2022-05-15 21:27:01 +10:00
Drashna Jaelre
f090881aeb
[Feature] Add support for multiple switchs/solenoids to Haptic Feedback engine (#15657) 2022-05-15 21:24:35 +10:00
Drashna Jaelre
db887e63d7
Enhancement and fixes of "Secure" feature (#16958) 2022-05-14 23:07:08 +01:00
Drashna Jaelre
cd8d2b7f7f
Revert "Fix kinetic mouse mode (#16951)" (#17095) 2022-05-14 13:03:07 -07:00