413 Commits

Author SHA1 Message Date
QMK Bot
43bbb5e99a [CI] Format code according to conventions (#25828)
Format code according to conventions
2025-11-30 20:46:22 +00:00
QMK Bot
ee60542bd6 Merge remote-tracking branch 'origin/master' into develop 2025-11-30 19:25:52 +00:00
QMK Bot
6ed61c65dd [CI] Format code according to conventions (#25827)
Format code according to conventions
2025-11-30 19:25:13 +00:00
Stephen Ostermiller
1a954e8da5 Reduce tap dance memory usage, move state out of data (#25415)
* Use less tap dance memory.

Use dynamically allocated sparse array for tap dance state, dynamically allocate tap dance state when needed and free it when the tap dance is done.

* new approach

* Use null, check for null

* Reformat with docker

* Use uint8 with idx rather than uint16 with keycode in state

* fix accidental change

* reformat

* Add null check

* add documentation tip suggested by tzarc

* Only allow tap dance state allocation on key down, not on key up

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* Only allow tap dance allocation on key down, not on key up

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* add user action required section

---------

Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2025-11-23 22:32:36 +11:00
Julian Schuler
b321789d7b Fix single key combos activating only once (#25198)
Co-authored-by: Julian Schuler <julianschuler@users.noreply.github.com>
2025-11-23 22:25:59 +11:00
Chaser Huang
1ddcf57382 [Feature Improvement]add option to keep layer state when recording dynamic macros (#24418)
* feat: add option to keep layer state when recording dynamic macros

* Better option macro name and lint changes
2025-11-11 23:30:42 +11:00
Joel Challis
883465d9fb Add generic handling to cycle LED/RGB Matrix flags (#24649) 2025-09-22 00:01:23 +01:00
Joel Challis
f096e5a3f3 Relocate remaining process_record_quantum keycodes (#25328) 2025-06-03 23:44:46 +01:00
Joel Challis
c7cb7ba976 Implement connection keycode logic (#25176) 2025-04-21 22:27:56 +01:00
Pascal Getreuer
ea85ace4a9 Ignore the Layer Lock key in Repeat Key and Caps Word. (#25171) 2025-04-19 11:57:00 -07:00
Pascal Getreuer
8d8dcb089e [Core] Flow Tap tap-hold option to disable HRMs during fast typing (#25125)
aka Global Quick Tap, Require Prior Idle
2025-04-14 09:46:24 -07:00
Nick Brassel
2b00b846dc Non-volatile memory data repository pattern (#24356)
Some checks failed
Update API Data / api_data (push) Has been cancelled
CI Build Major Branch / Determine concurrency (push) Has been cancelled
CLI CI / test (push) Has been cancelled
Update feature branches after develop merge / feature_branch_update (riot) (push) Has been cancelled
Update feature branches after develop merge / feature_branch_update (xap) (push) Has been cancelled
Lint Format / lint (push) Has been cancelled
Regenerate Files / regen (push) Has been cancelled
Unit Tests / test (push) Has been cancelled
CI Build Major Branch / Compile keymap default (push) Has been cancelled
CI Build Major Branch / Consolidation (push) Has been cancelled
* 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
Drashna Jaelre
80c90a6952 [Bug] Fix Underglow keycode processing (#24798)
Some checks are pending
Essential files modified / tag (push) Waiting to run
Regenerate Files / regen (push) Waiting to run
Lint Format / lint (push) Waiting to run
CLI CI / test (push) Waiting to run
Update develop after master merge / develop_update (push) Waiting to run
Generate Docs / generate (push) Waiting to run
Unit Tests / test (push) Waiting to run
Co-authored-by: Ryan <fauxpark@gmail.com>
2025-01-08 08:50:54 -08: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
Joel Challis
968a611476 Review fixes for layer lock feature (#24627) 2024-11-21 13:02:49 +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
Ryan
9c86583981 Backward compatibility for new RGB keycode handling (#24490)
Co-authored-by: Dasky <32983009+daskygit@users.noreply.github.com>
2024-11-20 09:53:33 +11:00
Stefan Kerkmann
3f9d464412 [Core] usb_device_state: consolidate usb state handling across implementations (#24258)
* usb_device_state: add idle_rate, led and protocol

Previously all usb drivers and platform implementations (expect for our
oddball atsam) tracked the same two global variables:

- keyboard_protocol: to indicate if we are in report or boot protocol
- keyboard_idle: for the idle_rate of the keyboard endpoint

And a local variable that was exposed trough some indirection:

- keyboard_led_state: for the currently set indicator leds (caps lock etc.)

These have all been moved into the usb_device_state struct wich is
accessible by getters and setters.

This reduces code duplication and centralizes the state management
across platforms and drivers.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

* usb_device_state: reset protocol on reset

The usb hid specification section 7.2.6 states:

When initialized, all devices default to report protocol. However the
host should not make any assumptions about the device’s state and should
set the desired protocol whenever initializing a device.

Thus on reset we should always do exactly that.

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

* keyboards: fix oversize warnings

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>

---------

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2024-10-18 09:57:08 +02:00
Ryan
6fa11bf219 Separate RGBLight/RGB Matrix keycode handling (#23679)
* Separate RGBLight/RGB Matrix keycode handling

* Remove `_DISABLE_KEYCODES` handling

* Update RGB Matrix keycode docs

* Update underglow keycodes for previously migrated boards

* Update keycodes for boards with custom handling

* Fix typos

* Fix bad merge
2024-10-12 18:43:50 +02:00
フィルターペーパー
8844fba607 Update combo user function variable (#24467) 2024-10-12 00:13:31 +01:00
Filios92
0fd9909657 Add combo key repress feature (#22858)
Co-authored-by: jack <jack@pngu.org>
2024-09-05 23:27:20 -07:00
Nick Brassel
70cbf08b67 Add new connection keycodes for Bluetooth, 2.4GHz. (#24251) 2024-08-27 10:52:23 +10:00
Drashna Jaelre
ab4c13e835 Add dynamic macro keyboard callbacks (#24142) 2024-08-18 01:35:10 +01:00
Nick Brassel
8abaa3bc2d Add support for key override introspection. (#24120) 2024-07-16 09:22:17 +10:00
Nick Brassel
4ae0ca5a11 Tap dance introspection (#24049) 2024-07-06 00:57:54 +01:00
Ryan
c4a74be7f0 Add process_keycode handlers for new RGB Matrix and Underglow keycodes (#23896) 2024-06-13 21:59:46 +10:00
Ryan
224ff1d262 Normalise RGBLight (underglow) keycodes (#23656) 2024-05-07 18:36:50 +10:00
Ryan
bbf63a8466 LED Matrix: replace backlight keycodes with newly added ones (#23455) 2024-04-13 04:15:22 +01:00
Ryan
25f608c1b4 Separate keycode handling for LED Matrix and Backlight (#23426) 2024-04-11 14:06:36 +10:00
Joel Challis
3dee67a05a Remove redundant steno eeconfig init (#22680) 2024-02-01 11:58:30 +00:00
Paul Landers
1f6dfd19cf Ignore space cadet key release when caps word is active (#21721) 2024-01-09 22:07:10 +11:00
3araht
8b48f0dea3 MIDI sustain effect fix on qmk 0.22.2 (#22114) 2024-01-09 22:05:30 +11:00
QMK Bot
8b671b9969 Merge remote-tracking branch 'origin/master' into develop 2024-01-09 10:46:13 +00:00
Kai
13f7b68240 Fix user hook call for dynamic_macro_record_key (#22250) 2024-01-09 21:45:44 +11:00
Joel Challis
b824faca71 Align location of tap dance keycode (#22742) 2023-12-24 06:52:41 +00:00
Ryan
786ebf8760 Remove requirement for keymap_steno.h include in keymaps (#22423)
* Remove requirement for `keymap_steno.h` include in keymaps

* Add back keymap_steno.h with a note for the time being
2023-11-12 18:25:46 +11:00
Less/Rikki
2e1a27da60 fix: make clicky delay silent (#21866) 2023-11-11 21:55:47 +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
Ben Cooper
4ebb065f94 Fix combo_ref_from_layer respect different default layer [#21780] (#21781) 2023-09-25 12:32:20 +10:00
Ryan
70e34e491c Unicode, Unicodemap and UCIS refactor (#21659) 2023-08-27 13:30:19 +10:00
James Young
eab315e935 Fix Dynamic Macro Compilation for avr-gcc 5.4.0 + Linux (#21653)
Co-authored-by: Joel Challis <git@zvecr.com>
2023-08-01 22:49:58 -07:00
Nebuleon
9bc85ff5af Reduce needless precision in audio note frequency calculation (#21496) 2023-07-26 21:05:26 -07:00
leep-frog
2c70d38910 On-each-release tap dance function (#20255)
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2023-07-26 21:04:35 -07:00
Ryan
b090354143 haptic: naming cleanups (#21551) 2023-07-21 09:17:39 +10:00
Ryan
da2d2f947d quantum: remove direct quantum.h includes (#21507) 2023-07-16 23:42:56 +10:00
フィルターペーパー
83c73d42f9 process_combo: restore wait.h header (#21514)
Required for `wait_ms()` function
2023-07-12 09:38:59 +01:00
Ryan
eee0384167 process_keycode: remove direct quantum.h includes (#21486) 2023-07-11 17:07:24 +10:00
precondition
1abf8f3e8b [Feature] Send a dummy keycode to neutralize flashing modifiers in retro tap and key overrides (#20992) 2023-07-08 00:18:02 +10:00
Pablo Martínez
55295ed3dc [Enhancement] More info on apply_autocorrect (#21056)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2023-07-08 00:13:15 +10:00
Chris Salch
e9ff66d8ad Adds a way to separate tab from AUTO_SHIFT_SPECIAL. (#20996) 2023-07-07 21:52:24 +10:00