Compare commits

..
Author SHA1 Message Date
Joel Challis
58e319b764 lint 2026-07-03 22:37:11 +01:00
Joel Challis
21823a69b8 Fix args handling 2026-07-03 22:31:32 +01:00
Joel Challis
c6ef6c580f Require --keyboard for some CLI subcommands 2026-07-03 22:27:10 +01:00
QMK Bot
e38f3097cb Merge remote-tracking branch 'origin/master' into develop 2026-07-03 03:49:08 +00:00
Pascal Getreuer
cf93bbb78f
[Docs] Tap-hold doc improvements and suggest an HRMs starter recipe (#26284)
* Enhance tap-hold docs.

* Minor edits.

* Move note on Quick Tap to a sub bullet for visibility.

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

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
2026-07-03 11:48:28 +08:00
QMK Bot
9f75ab2c92 Merge remote-tracking branch 'origin/master' into develop 2026-06-26 13:20:50 +00:00
Trent Piepho
b1093e9da5
Fix VERBOSE make flag (#26289)
The docs say set this to true to enable verbose output, but setting it to
anything, even "false", would enable verbose mode.

The qmk python build program actually does this, supplying "VERBOSE=false"
to make, which turns verbose mode on, not off!  The reason it's not verbose
is that the wrapper also adds the "-s" switch that has the same effect as
turning verbose mode back off.

After fixing the flag, there's no reason to add the "-s", so remove that code.
2026-06-26 14:20:10 +01:00
Nick Brassel
5734360a86
Restrict the EXTRAKEY_ENABLE System Control HID usage range. (#26295) 2026-06-25 16:29:47 +10:00
Joel Challis
0ec0cdde81
Consistently handle datablock init (#26282) 2026-06-24 20:36:51 +01:00
QMK Bot
ee9354d36e Merge remote-tracking branch 'origin/master' into develop 2026-06-23 20:31:27 +00:00
dependabot[bot]
0cb6461c6a
Bump actions/cache from 5 to 6 (#26293)
Bumps [actions/cache](https://github.com/actions/cache) from 5 to 6.
- [Release notes](https://github.com/actions/cache/releases)
- [Changelog](https://github.com/actions/cache/blob/main/RELEASES.md)
- [Commits](https://github.com/actions/cache/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/cache
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-23 21:30:44 +01:00
Joel Challis
dd905c9531
Split ducky/one2sf/1967st into ansi/iso variants (#26277) 2026-06-23 15:31:31 +01:00
Joel Challis
963986c475
Automatically handle duplicate matrix LED mappings (#26278) 2026-06-22 18:31:14 +01:00
QMK Bot
aae4189aa4 Merge remote-tracking branch 'origin/master' into develop 2026-06-22 17:28:58 +00:00
Benoit Brummer
198026cf27
ploopyco: fix bitwise typos in opt_encoder_tiny state definitions (#26288)
Fixes a bug in the state machine definitions within `opt_encoder_tiny.c` that caused severely delayed or unresponsive scrolling.
2026-06-22 18:28:13 +01:00
Joel Challis
fd624d016b
Fix nifty_numpad issues (#26283)
* eeconfig_init_kb_datablock should not call eeconfig_init_user_datablock

* Fix lint warnings
2026-06-21 10:49:42 +01:00
gitaen
6741f9dc26
Add converter/thinkpad_t6x/pico_t61 keyboard (#26266)
This adds support for Frank Adams pico_t61 board which is similar to
the currently supported converter/thinkpad_t6x/rpi_pico one.

Common options and shared default keymap have been moved to the upper
directory (keyboards/converter/thinkpad_t6x).
2026-06-19 19:40:51 +01:00
QMK Bot
f8910d3a60 Merge remote-tracking branch 'origin/master' into develop 2026-06-19 16:32:31 +00:00
dependabot[bot]
c638100030
Bump actions/checkout from 6 to 7 (#26274)
Bumps [actions/checkout](https://github.com/actions/checkout) from 6 to 7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-19 17:30:08 +01:00
Arca Artem
1d2f52e407
process_key_lock: clear entire key state in cancel_key_lock() (#26269)
cancel_key_lock() called UNSET_KEY_STATE(0x0), which expands to clearing
only bit 0 of key_state[0]. The lock state is a 256-bit map spread across
key_state[0..3], so every locked key other than keycode 0x00 stayed
latched after a cancel.

Zero all four words so cancel_key_lock() releases every locked key, as
its name and its public declaration in process_key_lock.h imply.
2026-06-19 17:24:11 +01:00
Jack Sangdahl
746eff22db
Add additional layouts for mkh_studio/bully (#26271)
* Add extra spacebar layouts

- Rename LAYOUT -> LAYOUT_all
  - Resize keys to not be 0.5u tall
- Add layout alias for the above
- Add LAYOUT_split_space
- Add LAYOUT_full_space

* Remove whitepsace
2026-06-18 15:59:10 -07:00
Joel Challis
d36397fdd4
Implement Plover HID for VUSB (#26267) 2026-06-19 06:55:21 +10:00
Joel Challis
8522bb342d
Enable modules to persist data (#26201) 2026-06-18 18:43:32 +01:00
precondition
721affff7b
repeat_key.c: add implementation for get_last_record (#26263)
The `get_last_record` signature was present in repeat_key.h but without
any implementation in repeat_key.c which caused compilation errors for
any user of `get_last_record`.
2026-06-18 18:41:12 +01:00
gitaen
4f6c5d2745
Remove pin ordering restriction in RP2040 ps2 driver (#26256) 2026-06-15 09:36:02 +10:00
Nick Brassel
92dc82ae08
Plover HID cleanup. (#26262) 2026-06-15 08:33:35 +10:00
Graham Held
b64014d5df
Custom plover HID report type (#26018)
Co-authored-by: Nick Brassel <nick@tzarc.org>
Co-authored-by: dnaq <dnaq@users.noreply.github.com>
2026-06-14 12:38:34 +10:00
Puneet Dixit
0d401d1182
Preserve Azoteq mouse buttons (#26248)
Co-authored-by: Deepak kudi <deepakkudi23@adsl-172-10-9-116.dsl.sndg02.sbcglobal.net>
2026-06-14 09:04:01 +10:00
QMK Bot
6ada0933db Merge remote-tracking branch 'origin/master' into develop 2026-06-13 21:20:24 +00:00
Nick Brassel
85886db43b
Fixup make format-core, make pytest, make format-and-pytest. (#26259) 2026-06-13 22:19:43 +01:00
QMK Bot
0515002e7d Merge remote-tracking branch 'origin/master' into develop 2026-06-13 12:29:41 +00:00
mellanslag-de
d8c8872753
Key Overrides: Fix Ghost Modifier Bug on macOS (with Karabiner Elements) (#25886) 2026-06-13 22:28:41 +10:00
QMK Bot
7f702d2262 Merge remote-tracking branch 'origin/master' into develop 2026-06-13 12:06:29 +00:00
yiancar
520b726b5c
Float65 Keyboard (#26197)
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: yiancar <yiancar@gmail.com>
2026-06-13 22:00:51 +10:00
QMK Bot
6a0e2a8868 Merge remote-tracking branch 'origin/master' into develop 2026-06-13 11:30:00 +00:00
Samuel Baumgartner
4dc0a6e9e3
Feature/owlab link65 (#26163)
Co-authored-by: Joel Challis <git@zvecr.com>
2026-06-13 21:29:19 +10:00
QMK Bot
90082403de Merge remote-tracking branch 'origin/master' into develop 2026-06-10 23:54:21 +00:00
Futats
7b30455a93
Fix python syntax errors in except clauses (#26254)
* Update rules_mk.py

fix syntax error

* Update config_h.py

second syntax error
2026-06-11 07:53:41 +08:00
QMK Bot
cffafbbdc7 Merge remote-tracking branch 'origin/master' into develop 2026-06-09 18:27:28 +00:00
Yoichiro Tanaka
1ef87578e2
Fix audio.pins in keyboard.json not being converted to C defines (#26107)
* Fix audio.pins in keyboard.json not being converted to C defines

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix audio.pins in keyboard.json not being converted to C defines

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>

* Fix 'list index out of range' on missing config

---------

Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-authored-by: zvecr <git@zvecr.com>
2026-06-09 11:26:41 -07:00
QMK Bot
55be8f2c2b Merge remote-tracking branch 'origin/master' into develop 2026-06-08 00:37:23 +00:00
Joel Challis
f34bc9a6bc
Partially revert 26073 (#26252) 2026-06-08 08:36:45 +08:00
QMK Bot
df94ffcc66 Merge remote-tracking branch 'origin/master' into develop 2026-06-03 21:49:34 +00:00
フィルターペーパー
486f01f513
Trim copilot PR review instructions (#26240)
* Trim copilot PR review instructions

* Remove  unactionable and subjective rules
* Limit review to keyboards only
* Defer advance code review to collaborators

* Improve non-pristine default keymap message

* Clarify info.json rules for PR review

* Narrow applyTo scope to keyboards/**
2026-06-04 05:48:47 +08:00
QMK Bot
ee74da3a4d Merge remote-tracking branch 'origin/master' into develop 2026-06-01 11:34:14 +00:00
dependabot[bot]
c53dd0fbb6
Bump postcss from 8.5.8 to 8.5.15 in /builddefs/docsgen (#26243)
Bumps [postcss](https://github.com/postcss/postcss) from 8.5.8 to 8.5.15.
- [Release notes](https://github.com/postcss/postcss/releases)
- [Changelog](https://github.com/postcss/postcss/blob/main/CHANGELOG.md)
- [Commits](https://github.com/postcss/postcss/compare/8.5.8...8.5.15)

---
updated-dependencies:
- dependency-name: postcss
  dependency-version: 8.5.15
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-06-01 12:33:30 +01:00
QMK Bot
480d808683 Merge remote-tracking branch 'origin/master' into develop 2026-06-01 08:08:15 +00:00
Nick Brassel
11abc31420
Additional bootstrapper safety checks (#26242)
* Unset `grep` options to prevent issues with forcing colour.
* Treat `musl`-based Linux distros are unsupported.
* Fix bootstrapper tests
2026-06-01 09:07:29 +01:00
zvecr
62a8db33a3 Branch point for 2026q3 Breaking Change 2026-06-01 07:59:12 +01:00
zvecr
f0c79ee455 Merge branch 'develop' 2026-06-01 07:51:54 +01:00
zvecr
6b54261fa5 Merge point for 2026q2 breaking changes. 2026-06-01 02:24:35 +01:00
zvecr
58d4decf48 Stub out changelog 2026-06-01 02:21:55 +01:00
Joel Challis
a9efff322c
Fail when a duplicate module name is detected (#26238) 2026-05-29 20:32:28 +01:00
Joel Challis
7b51d7e665
Add API version assertion for split_data_sync module (#26237) 2026-05-29 07:56:36 +01:00
QMK Bot
613d63aa66 Merge remote-tracking branch 'origin/master' into develop 2026-05-28 03:21:00 +00:00
ascYAOBT
5b630f7a08
Add hnk100 (#25909) 2026-05-28 04:20:21 +01:00
QMK Bot
286bc43459 Merge remote-tracking branch 'origin/master' into develop 2026-05-28 02:05:49 +00:00
Joel Challis
2ea1a0192f
Fix qmk compile -km <keyboard> -km all (#26234)
Pass required print_failures argument to mass compile commands.
2026-05-28 03:05:01 +01:00
QMK Bot
25f641f2ff Merge remote-tracking branch 'origin/master' into develop 2026-05-27 02:32:14 +00:00
Julian Yap
1620390d67
Add new keyboard - Pando58 (#26148) 2026-05-27 03:31:34 +01:00
QMK Bot
781b8ff406 Merge remote-tracking branch 'origin/master' into develop 2026-05-26 23:44:11 +00:00
Joel Challis
05c4322c65
Align Mouse USB descriptor (#26230) 2026-05-27 00:43:26 +01:00
tom-royle
462556f4de
Add the Troyle/macro keys dual keyboard to QMK (#25806) 2026-05-27 00:42:50 +01:00
フィルターペーパー
d19204824d
Mask out active mods when unregistering after retro tapping (#26127)
Do not unregister modifiers still held by other keys
2026-05-27 00:20:24 +01:00
QMK Bot
2fa6ed6631 Merge remote-tracking branch 'origin/master' into develop 2026-05-26 22:29:47 +00:00
blindassassin111
c20d0a83b5
Adding support for the KHS-01 (#26101) 2026-05-26 23:29:08 +01:00
QMK Bot
719b03f9c1 Merge remote-tracking branch 'origin/master' into develop 2026-05-26 20:22:01 +00:00
Jubakuba
3c338996f0
Adding Volt 80 Custom PCB Support (#26158)
* Adding Volt 80 Custom PCB Support

* update license

* lint fix

* requested changes

* requested changes 2

* requested changes 3 because I'm incompetent

* requested changes

* drashna recommends

* Update keyboards/percent_studio_aftermarket/keyboard.json

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

* Update keyboards/percent_studio_aftermarket/keymaps/default/keymap.c

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

* Update keyboards/percent_studio_aftermarket/keyboard.json

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

* Update keyboards/percent_studio_aftermarket/percent_studio_aftermarket.c

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

* Update keyboards/percent_studio_aftermarket/percent_studio_aftermarket.c

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

* Fix JSON formatting by removing extra lines

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2026-05-26 13:21:19 -07:00
Simon Arlott
06c24a811e
[Keyboard] Add nomis/rpi_pico_25x1 macropad (#25346) 2026-05-26 03:24:57 +01:00
QMK Bot
e56d518fc9 Merge remote-tracking branch 'origin/master' into develop 2026-05-26 02:17:58 +00:00
Andrew Kannan
3a8ea37a13
Add Minimi40 to QMK (#25575) 2026-05-26 03:17:19 +01:00
QMK Bot
fdcf53854a Merge remote-tracking branch 'origin/master' into develop 2026-05-26 00:43:27 +00:00
Klesh Wong
f8aec1f50c
fix(input): Resolve lost mouse clicks in PS/2 streaming mode (#25942) 2026-05-26 01:42:44 +01:00
QMK Bot
47fd58e63e Merge remote-tracking branch 'origin/master' into develop 2026-05-26 00:38:03 +00:00
Simon
2604a49cda
Candy87 PCB Firmware (#24298) 2026-05-26 01:37:24 +01:00
QMK Bot
e3b26fa6ba Merge remote-tracking branch 'origin/master' into develop 2026-05-25 01:51:09 +00:00
X-Bows Tech
c701efbb53
Add Numpad_V2 (#26164) 2026-05-25 02:50:28 +01:00
QMK Bot
88cf7d87ec Merge remote-tracking branch 'origin/master' into develop 2026-05-25 01:48:41 +00:00
sizezero
d9bf44c7a9
[Keyboard] add aokay/mid1 (#26004) 2026-05-25 02:48:02 +01:00
Logan Butler
f31df2ed6b
Add reverse keymap to SouthPad v2 (#25707) 2026-05-24 16:34:32 +01:00
QMK Bot
e4bf68ca94 Merge remote-tracking branch 'origin/master' into develop 2026-05-23 23:04:17 +00:00
Idle Builds
393d3a5b21
Add Idle Builds Dinkey 32|30 keyboard (#26175) 2026-05-24 00:03:49 +01:00
Idle Builds
5e3985024d
Add Idle Builds Dinkey 34 keyboard (#26176) 2026-05-24 00:03:31 +01:00
QMK Bot
459542a255 Merge remote-tracking branch 'origin/master' into develop 2026-05-23 22:45:56 +00:00
Jon Colverson
12e5b7db97
[Keyboard] Add PicoLX (#26220) 2026-05-23 23:45:12 +01:00
QMK Bot
9879063f8c Merge remote-tracking branch 'origin/master' into develop 2026-05-23 22:34:25 +00:00
Dominic
316fc06d8c
Support for Alatus PCB (#26116) 2026-05-23 23:33:44 +01:00
QMK Bot
4d25dfae32 Merge remote-tracking branch 'origin/master' into develop 2026-05-23 05:04:40 +00:00
Erick Bazán
a033e172b9
[Keyboard] Add Wolf Singa Kohaku Solder, Solder RGB, and Hotswap (#26105) 2026-05-23 06:03:58 +01:00
QMK Bot
e9ee03983e Merge remote-tracking branch 'origin/master' into develop 2026-05-23 04:53:50 +00:00
diegorodriguezv
a187ebeec6
Add szr35 keyboard (#25662) 2026-05-23 05:53:07 +01:00
QMK Bot
e173b4020d Merge remote-tracking branch 'origin/master' into develop 2026-05-23 04:41:08 +00:00
VPavliashvili
ffe57097eb
Add ergo-v-1 keyboard (#25908) 2026-05-23 05:40:28 +01:00
George Norton
6ee28ac86f
Clip mouse report values to the logical range from the USB descriptor. (#26195) 2026-05-23 04:08:44 +01:00
QMK Bot
a3caec1580 Merge remote-tracking branch 'origin/master' into develop 2026-05-23 03:07:56 +00:00
sigman
99a67d1172
Changing VID for Southpaw65ext (#26104)
* fix: assign vid instead of generic

* fix: add copyright clause in keymaps

* review: 0x1209 -> vid

* change: vid 0x7f00

* fix: hex number case
2026-05-23 11:07:15 +08:00
QMK Bot
08d91c3d4e Merge remote-tracking branch 'origin/master' into develop 2026-05-23 00:39:19 +00:00
Yoichi NAKAYAMA
7e9c4508c8
[Docs][MouseKeys] Document the effect of the acceleration key in default mode. (#26213)
* Document the effect of the acceleration key in default mode.

* Move description into TIPS

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>

---------

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-05-23 08:38:40 +08:00
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
QMK Bot
4b19065f7b Merge remote-tracking branch 'origin/master' into develop 2026-05-22 21:39:19 +00:00
Chris West
ed0d5fde7b
Fix spelling error in feature_layers.md (#26227)
Corrected spelling of 'tricker' to 'trickier' in the Advanced Users section.
2026-05-22 22:38:37 +01:00
Konstantin Đorđević
cf2dcd6e24
Add usage clarifications to docs/features/unicode.md (#26156)
* Add usage clarifications to docs/features/unicode.md

* Apply suggestions from code review

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>

---------

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-05-22 13:57:44 +08:00
QMK Bot
62d25f02a4 Merge remote-tracking branch 'origin/master' into develop 2026-05-19 01:59:28 +00:00
Joel Challis
0269eea2c9
Add EECONFIG_{KB,USER}_DATA_SIZE docs (#26200) 2026-05-19 02:58:50 +01:00
QMK Bot
078ec10e42 Merge remote-tracking branch 'origin/master' into develop 2026-05-17 03:07:28 +00:00
Nick Brassel
1836382f66
GCC 16.1 compatibility fix. (#26216)
Co-authored-by: Joel Challis <git@zvecr.com>
2026-05-17 13:06:47 +10:00
Serge Baranov
0efd817f42
fix(ws2812-pwm): allow WS2812_PWM_TICK_FREQUENCY override (#26186)
Wrap the define in #ifndef so a keyboard's config.h can set it. The
default (CPU_CLOCK / 2) works for a fixed SYSCLK, but boards that
change SYSCLK at runtime (meletrix/zoom_tkl drops to 16 MHz on
battery) need a tick frequency that divides into both the high and
low TMRCLKs. Every other knob in the file is already #ifndef-guarded;
this one was the only flat #define.
2026-05-17 00:14:52 +01:00
Joel Challis
ce4f342ceb
Remove FORCE_NKRO (#26206) 2026-05-16 02:27:19 +01:00
Joel Challis
2b88b7b20a
Ignore Uninteresting test warnings during test teardown (#26161) 2026-05-09 18:10:34 +08:00
Joel Challis
1a56fbece2
Fix USER_PRINT stripping out uprintf (#25919) 2026-05-07 22:33:31 +01:00
Joel Challis
a498daf627
Migrate SPLIT_OLED_ENABLE (#26194) 2026-05-07 22:32:38 +01:00
Joel Challis
5db9f2fb41
Remove OLED_DISPLAY_128X32 config (#26190) 2026-05-07 22:27:02 +01:00
Kenneth Fossen
c9f942e43c
Add Handwired Bouvet Macropad (#26040)
* Bouvet MacroPad v1

* Working macropad and encoders

* Fix matrix, and custom keymap

* The perfect developer keyboard

* Move to handwired

* Rev 1.1

* Move to handwired

* Turn off debugging

* Fix copyright

* qmk lint

* Update keyboard.json

* cleanup

* Update image

* Move encoder config

* Update keyboards/handwired/bouvet/macropad/v1/keyboard.json

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

* Cleanup

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2026-05-03 10:02:39 -07:00
フィルターペーパー
8d8cd1ca61
Minor combo code optimisation (#26073)
* Remove redundant index initialisation
* Add early break for overlap scan
* Remove dead no_combo_keys_pressed code
* Avoid duplicate timer reset
2026-05-03 04:06:27 +01:00
QMK Bot
f0622da7a8 Merge remote-tracking branch 'origin/master' into develop 2026-05-03 03:02:54 +00:00
prkrln
504533b3b4
Add pad9 keyboard (#26051) 2026-05-03 04:02:11 +01:00
QMK Bot
c5391ca2d6 Merge remote-tracking branch 'origin/master' into develop 2026-04-30 23:27:43 +00:00
Sinopoli Mauro
ba9642c83d
Add sector245/s245_streamdeck keyboard (#26013) 2026-05-01 00:26:54 +01:00
QMK Bot
4a962d7679 Merge remote-tracking branch 'origin/master' into develop 2026-04-30 22:57:56 +00:00
Joel Challis
c2f7a5b5c5
Fix config.h bool parsing (#26166) 2026-04-30 23:57:08 +01:00
Joel Challis
e2c7d621a1
Add workaround for undefined reference to weak function under mingw (#26167) 2026-04-30 23:56:35 +01:00
Scott Lamb
0c5e36d056
Fix make test:all failures seen on macOS Tahoe (#26136) 2026-04-28 19:31:00 +01:00
Joel Challis
7d40a3328f
Require "url" field to not be empty (#25152) 2026-04-26 13:48:59 +10:00
Joel Challis
21c193f77b
Print correct test names (#26160) 2026-04-19 08:37:12 +08:00
Joel Challis
1182760a7c
Bind gtest colour to QMKs 'COLOR' variable (#26159) 2026-04-19 08:34:54 +08:00
QMK Bot
60638d3043 Merge remote-tracking branch 'origin/master' into develop 2026-04-18 03:55:46 +00:00
Isaac Rex
ccc6c6ce0b
[Keyboard] Added Nifty Numpad (#23019)
* Initial commit of Nifty Numpad keyboard

* Initial commit of Nifty Numpad keyboard

* Fixed double repo

* Updated available effects

* Added a default and VIA keymap, moved cadence to its own keymap

* Fixed qmk_firmware submodule issue

* Updated Nifty Numpad readme

Updated Cadence keymap

Updated vscode settings to match QMK master

* Added Nifty Numpad

* Added config.h to idle_rgb_example

* renamed info.json, removed rules.mk

* Updated to conform with most recent PR checklist

- Removed VIA keymap
- Formatted keyboard.json with qmk format-json
- Updated custom keycodes in nifty_numpad.h to start at QK_USER

* Address review feedback

- Remove the config.h file from the idle_rgb_example keymap as the only
  settings was equal to the default
- Added empty endline to the end of idle_rgb_example/rules.mk and post_rules.mk
- Updated RGB_DEF custom keycode to QK_KB

* Removed commented layout visuals

* Updated RGB Matrix keycodes

* Updated use of eeconfig_update_kb_datablock to new signature
2026-04-17 20:55:09 -07:00
Dimitris Mantzouranis
cc291cff7f
VIA v13 (#26001) 2026-04-17 08:53:05 +10:00
Joel Challis
70694abdfe
Bump googletest to v1.16.0 (#26154) 2026-04-16 15:23:15 +01:00
Joel Challis
1daa191e09
Add includes for std::setw (#26153) 2026-04-16 00:38:42 +01:00
QMK Bot
2ddd7c0667 Merge remote-tracking branch 'origin/master' into develop 2026-04-14 10:23:24 +00:00
ijouw
2dc7d991b1
Either output Unicode or insert in Leader sequence (#25940) 2026-04-14 11:18:33 +01:00
kbd0
c93ef27143
[Keyboard] Add Kbd0 Curve0 75% ANSI (#25997) 2026-04-14 11:17:28 +01:00
QMK Bot
3a7e4d933e Merge remote-tracking branch 'origin/master' into develop 2026-04-14 10:03:12 +00:00
Nick Brassel
15e8658e81
Deploy qmk_udev during bootstrap, updated CLI bootstrap docs (#26147) 2026-04-14 11:02:31 +01:00
QMK Bot
710e041c39 Merge remote-tracking branch 'origin/master' into develop 2026-04-13 21:50:08 +00:00
Toast
c6475e0476
Implement num lock light for Keychron V5 (#26019) 2026-04-13 22:49:27 +01:00
QMK Bot
d99f3acd8c Merge remote-tracking branch 'origin/master' into develop 2026-04-13 20:29:42 +00:00
Danny
3001d81e3d
Add Sinc LM Rev. 1 (#26134) 2026-04-13 16:28:59 -04:00
QMK Bot
84cd973c49 Merge remote-tracking branch 'origin/master' into develop 2026-04-11 09:15:48 +00:00
dependabot[bot]
407e6e242e
Bump actions/github-script from 8 to 9 (#26142)
Bumps [actions/github-script](https://github.com/actions/github-script) from 8 to 9.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v8...v9)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '9'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-04-11 10:15:09 +01:00
QMK Bot
2c98f3782a Merge remote-tracking branch 'origin/master' into develop 2026-04-09 12:26:50 +00:00
QMK Bot
18ed7c6caf
[CI] Format code according to conventions (#26138)
Format code according to conventions
2026-04-09 13:26:08 +01:00
QMK Bot
cbb8d156b0 Merge remote-tracking branch 'origin/master' into develop 2026-04-09 11:04:35 +00:00
Joel Challis
92c0e2cee1
Align C formatting extensions (#26137) 2026-04-09 12:03:53 +01:00
QMK Bot
ded30bb42e Merge remote-tracking branch 'origin/master' into develop 2026-04-09 10:31:14 +00:00
Joel Challis
6a11370434
Avoid BrokenPipeError errors in qmk clean 2026-04-09 11:30:33 +01:00
Nick Brassel
dd74b2326f
ChibiOS, ChibiOS-Contrib updates (redux) (#26079)
* Reapply "Update ChibiOS, ChibiOS-Contrib." (#26074)

This reverts commit c0bbf2f0f9.

* Updated repo.

* Update `lib/chibios` to 21.11.5 release.
2026-04-06 21:05:36 +10:00
Joel Challis
fbb0acdaa0
Remove deprecated isLeftHand (#25897)
Refactor deprecated isLeftHand
2026-04-06 08:49:05 +08:00
QMK Bot
a34c3b915e Merge remote-tracking branch 'origin/master' into develop 2026-04-05 05:39:18 +00:00
Joel Challis
2bd8e43256
Enhance checks for invalid keyboard build targets (#26122)
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-04-05 15:38:40 +10:00
QMK Bot
915edc3a3f Merge remote-tracking branch 'origin/master' into develop 2026-04-05 05:38:20 +00:00
Joel Challis
933cb8cc35
Update CI workflow to dynamically set keymaps (#26120) 2026-04-05 15:37:41 +10:00
QMK Bot
50a411c95e Merge remote-tracking branch 'origin/master' into develop 2026-04-02 07:24:20 +00:00
Joel Challis
1426eedfc1
Fix cache list command in CI workflow 2026-04-02 08:23:41 +01:00
QMK Bot
7b4565a409 Merge remote-tracking branch 'origin/master' into develop 2026-04-02 05:00:38 +00:00
Joel Challis
e4b998ccb0
Only attempt cache deletion if exists (#26124) 2026-04-02 16:00:00 +11:00
QMK Bot
4dd01f4331 Merge remote-tracking branch 'origin/master' into develop 2026-04-01 08:41:58 +00:00
Joel Challis
b5af7a3390
Enable ccache within CI (#26121) 2026-04-01 19:41:19 +11:00
windexlight
593cd168c6
Fix possible repeat key infinite recursion (#25926)
Guard against infinite recursion when pressing this sequence after fresh boot: repeat key press -> another key press/release -> repeat key release.
2026-03-31 11:12:01 +01:00
QMK Bot
c31ebfeb0a Merge remote-tracking branch 'origin/master' into develop 2026-03-30 04:26:07 +00:00
Joel Challis
ed80e21858
Resolve 'using serial compilation of 2 LTRANS jobs' warning (#26113) 2026-03-30 15:25:29 +11:00
Joel Challis
6f4a45e392
Fix color diagnostics for arm-none-eabi-gcc (#26115) 2026-03-30 14:42:29 +11:00
QMK Bot
53e1f9e0bd Merge remote-tracking branch 'origin/master' into develop 2026-03-30 03:25:10 +00:00
Joel Challis
9d24bc8a33
Fix userspace detection in Makefile (#26117) 2026-03-30 11:24:32 +08:00
Joel Challis
534f59a169
Fix cc-option on arm-none-eabi-gcc (#26114)
Fix `cc-option` on ARM

Modify cc-option to ignore unresolved symbols during compilation tests.
2026-03-30 10:25:46 +08:00
Joel Challis
7382c0a6f2
Remove deprecated audio pin defines (#26111) 2026-03-28 07:29:27 +00:00
Joel Challis
43a27da296
Remove override of QK_{LED,RGB}_MATRIX_TOGGLE keycode (#25672) 2026-03-28 02:41:17 +00:00
Dominic Clifton
3d0ccbb1d5
Add an mcu_reset impl for the kiibohd bootloader. (#25963)
* Fixes resetting and split watchdog on the Ergodox Infinity.
2026-03-28 02:31:07 +00:00
QMK Bot
a20facf8ec Merge remote-tracking branch 'origin/master' into develop 2026-03-27 04:02:51 +00:00
QMK Bot
c7fde3d8cc
[CI] Format code according to conventions (#26108)
Format code according to conventions
2026-03-27 03:56:53 +00:00
QMK Bot
941b63c9a9 Merge remote-tracking branch 'origin/master' into develop 2026-03-27 03:16:07 +00:00
Sebastian Morgenstern
0fdb5df94d
Added new pttbutton keyboard (#25952) 2026-03-27 03:15:28 +00:00
QMK Bot
d340f3396f Merge remote-tracking branch 'origin/master' into develop 2026-03-19 19:28:33 +00:00
Joel Challis
bd500ae092
Detect PRs bypassing DD changes (#26094) 2026-03-20 06:27:49 +11:00
QMK Bot
12f92db5d9 Merge remote-tracking branch 'origin/master' into develop 2026-03-19 03:41:28 +00:00
Peter Cock
fec01edaa4
Explain how to use STORE_SETUPS and PRINT_SETUPS (#26070)
* Explain how to use STORE_SETUPS and PRINT_SETUPS

I found the instructions a little terse, but managed.

This also adds a note about PRINT_SETUPS reporting random numbers if STORE_SETUPS hasn't been used.

* Remove line breaks

Existing docs seem to use a mix of hard line breaks at sentence
ends, or 80 chars-ish, versus no line breaks in paragraphs.

* Suggestion during review

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>

---------

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-03-19 11:40:49 +08:00
QMK Bot
9da27a3dcf Merge remote-tracking branch 'origin/master' into develop 2026-03-19 02:22:05 +00:00
Peter Cock
7619e991cf
QMK avoids raw line breaks within paragraphs in Markdown (#26080)
* QMK avoids raw line breaks within paragraphs in Markdown

Mentioned in passing during a few of my recent documentation pull requests, eg #26070.

* Suggestion during review

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>

---------

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-03-19 10:16:35 +08:00
QMK Bot
a3529e1c25 Merge remote-tracking branch 'origin/master' into develop 2026-03-19 01:51:12 +00:00
Dasky
627ad33233
Fix pointing device driver typo (#26091)
fix typo
2026-03-18 18:50:33 -07:00
Dominic Clifton
1f96f890fa
Always generate .map files. (#25961)
* Always generate .map files.

Useful when NOT compiling with debugging C/CXX/AS flags too!

e.g. to find which source file was used to compile-in a weak reference.

* Shorten comment phrase

---------

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-03-16 18:31:16 +08:00
QMK Bot
1a3728db21 Merge remote-tracking branch 'origin/master' into develop 2026-03-16 03:13:48 +00:00
フィルターペーパー
2cbcd76ef0
License violations updates. (#26076) 2026-03-16 03:12:18 +00:00
Joel Challis
322e673bcb
Remove use of andstor/file-existence-action (#26078) 2026-03-16 03:12:04 +00:00
QMK Bot
c27e3aee19 Merge remote-tracking branch 'origin/master' into develop 2026-03-16 02:24:32 +00:00
dependabot[bot]
4be8880177
Bump geekyeggo/delete-artifact from 5 to 6 (#26077)
Bumps [geekyeggo/delete-artifact](https://github.com/geekyeggo/delete-artifact) from 5 to 6.
- [Release notes](https://github.com/geekyeggo/delete-artifact/releases)
- [Changelog](https://github.com/GeekyEggo/delete-artifact/blob/main/CHANGELOG.md)
- [Commits](https://github.com/geekyeggo/delete-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: geekyeggo/delete-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-16 02:23:53 +00:00
フィルターペーパー
86fbc9efe0
Remove blockader user keymap (#26075) 2026-03-16 01:45:39 +00:00
Nick Brassel
c0bbf2f0f9
Revert "Update ChibiOS, ChibiOS-Contrib." (#26074) 2026-03-16 12:29:22 +11:00
QMK Bot
f63d01d786 Merge remote-tracking branch 'origin/master' into develop 2026-03-15 11:22:22 +00:00
Jalal El Mansouri
709628dfb2
Honor BUILD_DIR in mass_compile.py (#25586) 2026-03-15 22:07:43 +11:00
Marcus Ofenhed
f01698b3f8
Add resolution information to digitizer (#25958)
Co-authored-by: Marcus Ofenhed <>
2026-03-15 21:59:23 +11:00
QMK Bot
53c0e30e96
[CI] Format code according to conventions (#26072) 2026-03-15 21:31:43 +11:00
フィルターペーパー
2afc217124
Refactor Pixel Fractal effect (#26071) 2026-03-15 21:29:36 +11:00
HorrorTroll
e4de46b3b0
Added PixArt PMW-3325 mouse sensor driver (#26065)
* Added support PMW3325 sensor driver

* Missing PMW3325 on pointing device document

* Suggested changes resolved
2026-03-15 21:28:40 +11:00
Joel Challis
b6ff72cb03
Bump vitepress to 1.6.4 (#26067) 2026-03-15 21:25:45 +11:00
HorrorTroll
cd78765edc
Update WL backing store from 16 to 32-bit for AT32 (#26066)
Update backing store from 16 to 32-bit for AT32
2026-03-15 02:06:19 -07:00
QMK Bot
71b6b46534 Merge remote-tracking branch 'origin/master' into develop 2026-03-14 15:31:46 +00:00
Joel Challis
e5faeea94d
Unit tests should not run when docs change (#26068) 2026-03-14 15:31:07 +00:00
QMK Bot
263d56ce7e Merge remote-tracking branch 'origin/master' into develop 2026-03-14 13:30:55 +00:00
vuvoth
7ec819eb22
docs: remove hardware link in Ferris Sweep README (#26069)
remove hardware link in Ferris Sweep readme

Corrected wording for Ferris sweep hardware description.
2026-03-14 07:30:14 -06:00
Joel Challis
f7a77c8b70
Update lint to check all keymaps within the repo (#25970) 2026-03-13 23:20:28 +00:00
QMK Bot
53953f4229 Merge remote-tracking branch 'origin/master' into develop 2026-03-13 23:18:13 +00:00
Brandon
7785e87029
Add nulldesignco/v1/nullpad (#26057) 2026-03-13 23:17:29 +00:00
QMK Bot
4b3b32e173 Merge remote-tracking branch 'origin/master' into develop 2026-03-13 23:00:34 +00:00
Peter Cock
afb5335bf3
Switch missing default handler in OS detection docs (#26064)
Switch was missing default handler: control reaches end of non-void function

This warning gets treated as an error on Github Actions
2026-03-13 22:59:54 +00:00
Nick Brassel
e83672fdc4
Update ChibiOS, ChibiOS-Contrib. (#25730) 2026-03-13 18:52:49 +11:00
QMK Bot
af6b953b2c Merge remote-tracking branch 'origin/master' into develop 2026-03-12 10:06:03 +00:00
Nick Brassel
9fd72b352b
Extra bootstrap release package filtering. (#26039) 2026-03-12 21:05:24 +11:00
QMK Bot
59e1a0d437 Merge remote-tracking branch 'origin/master' into develop 2026-03-11 16:43:42 +00:00
Joel Challis
7fe0c9c746
[CI] Build unit tests in parallel (#26058) 2026-03-11 16:43:02 +00:00
QMK Bot
311e915d96 Merge remote-tracking branch 'origin/master' into develop 2026-03-10 23:33:53 +00:00
Joel Challis
5629ecf5ff
Add bootloadHID support to qmk flash (#26053) 2026-03-10 23:33:14 +00:00
QMK Bot
e2f62925d9 Merge remote-tracking branch 'origin/master' into develop 2026-03-10 02:41:42 +00:00
Peter Cock
01e30d407c
[Docs] Show how to flip semicolon and colon (#26030)
* Show how to flip semicolon and colon

* Apply whitespace suggestions from code review

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

* Match line-wrapping

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

---------

Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2026-03-09 19:41:03 -07:00
QMK Bot
d87e72a9b3 Merge remote-tracking branch 'origin/master' into develop 2026-03-10 01:51:17 +00:00
dependabot[bot]
acdc8a1374
Bump actions/download-artifact from 7 to 8 (#26038)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 7 to 8.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v7...v8)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 01:50:49 +00:00
dependabot[bot]
d73c91f19b
Bump actions/upload-artifact from 6 to 7 (#26037)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-10 01:50:37 +00:00
QMK Bot
dfb6158c62 Merge remote-tracking branch 'origin/master' into develop 2026-03-09 22:07:13 +00:00
dependabot[bot]
40e81ad893
Bump rollup from 4.31.0 to 4.59.0 in /builddefs/docsgen (#26036)
Bumps [rollup](https://github.com/rollup/rollup) from 4.31.0 to 4.59.0.
- [Release notes](https://github.com/rollup/rollup/releases)
- [Changelog](https://github.com/rollup/rollup/blob/master/CHANGELOG.md)
- [Commits](https://github.com/rollup/rollup/compare/v4.31.0...v4.59.0)

---
updated-dependencies:
- dependency-name: rollup
  dependency-version: 4.59.0
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-03-09 22:00:42 +00:00
QMK Bot
a1a2e3a390 Merge remote-tracking branch 'origin/master' into develop 2026-03-09 21:17:10 +00:00
Joel Challis
3dcdf41d1c
Fix split data sync link in community modules docs (#26055) 2026-03-09 21:16:30 +00:00
zvecr
6d7589e249 Branch point for 2026q2 Breaking Change 2026-03-08 00:52:03 +00:00
zvecr
d55d65b77f Merge branch 'develop' 2026-03-08 00:46:27 +00:00
zvecr
a56496640e Merge point for 2026q1 breaking changes. 2026-03-07 23:47:50 +00:00
Nick Brassel
032c2aa974
2026q1 develop changelog. (#26046) 2026-03-07 23:46:38 +00:00
QMK Bot
1874bc94e2 Merge remote-tracking branch 'origin/master' into develop 2026-02-24 19:23:41 +00:00
Joel Challis
9e8199c411
Print keymap name within new-keymap error message (#26034) 2026-02-24 19:23:04 +00:00
Joel Challis
4733a2df16
Promote duplication of defaults check to error (#26025) 2026-02-20 15:45:26 +00:00
Joel Challis
2d46c96732
Remove deprecated GPIO defines (#26028) 2026-02-20 14:37:16 +00:00
QMK Bot
3b99406d50 Merge remote-tracking branch 'origin/master' into develop 2026-02-20 12:56:59 +00:00
Joel Challis
7bea08cb12
Enable strict linting for keyboard PRs (#26026) 2026-02-20 12:56:19 +00:00
Joel Challis
5591a68b65
Allow custom data sync for community modules (#25955)
* Allow custom data sync for community modules

* Stub out community_config.h codegen

* Fix SPLIT_TRANSACTION_RPC logic
2026-02-19 22:03:26 +11:00
QMK Bot
a0166fef43 Merge remote-tracking branch 'origin/master' into develop 2026-02-18 00:07:04 +00:00
Joel Challis
e52319b751
Check PRs for invalid keyboard build targets (#25992) 2026-02-18 00:06:23 +00:00
Joel Challis
cde41cf611
Remove config_h_features from generated info.json (#26024) 2026-02-17 22:24:03 +00:00
QMK Bot
878fafeeb8 Merge remote-tracking branch 'origin/master' into develop 2026-02-17 17:01:30 +00:00
Jakob Schikowski
1ba0300da7
Fix JSON type for SELECT_SOFT_SERIAL_SPEED (#26003) 2026-02-17 10:00:51 -07:00
Joel Challis
f8daa3cc40
Add 'none of the above' to new-keyboard dev board prompt (#25998) 2026-02-16 02:18:04 +00:00
QMK Bot
bef076f23e Merge remote-tracking branch 'origin/master' into develop 2026-02-13 18:22:34 +00:00
Joshua Diamond
3ac6f603a8
Mark encoders as such in dmqdesign/spin (#25973) 2026-02-13 18:22:06 +00:00
Joel Challis
63a3fc3591
Fix qmk flash handling of paths relative to qmk_firmware (#25993) 2026-02-13 18:21:51 +00:00
Joel Challis
036c6100bd
Fix incorrect matrix_scan_custom implementations (#25999) 2026-02-13 18:21:36 +00:00
フィルターペーパー
403211f7f8
Remove unused headers (#26011) 2026-02-13 18:20:18 +00:00
フィルターペーパー
888d42d64c
Remove redundant unsigned comparison in apa102_set_brightness (#26010) 2026-02-13 12:35:08 +00:00
フィルターペーパー
6b2a2ab7ac
Return INVALID_DEFERRED_TOKEN on allocation failure (#26012)
Return the proper deferred_token type instead of boolean false.
2026-02-13 14:51:33 +08:00
フィルターペーパー
edd2e3d354
Remove duplicate include of host.h (#26007) 2026-02-12 15:58:59 +00:00
フィルターペーパー
6b423c98e5
Remove an unreachable break statement (#26006) 2026-02-12 15:58:31 +00:00
フィルターペーパー
36cdac8fd3
Remove redundant EEPROM update (#26008) 2026-02-12 15:58:13 +00:00
QMK Bot
59cc10451b
[CI] Format code according to conventions (#26005)
Format code according to conventions
2026-02-11 20:35:16 +00:00
QMK Bot
031277c6d3 Merge remote-tracking branch 'origin/master' into develop 2026-02-11 20:24:10 +00:00
ivan
45ccd2e935
Add ows steno board (#25984) 2026-02-11 12:23:30 -08:00
QMK Bot
4f7a7873c8
[CI] Format code according to conventions (#26000)
Format code according to conventions
2026-02-11 16:06:13 +00:00
Josip Šimun Kuči
5ad6d44e18
[Keyboard] Add Soldered Macro Pad (#25834)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2026-02-12 01:16:55 +11:00
Joel Challis
fac1210609
Enforce EOL when formatting files (#24989) 2026-02-11 07:39:49 +08:00
Joel Challis
a170e6f191
Update lint to validate keymap names (#25969) 2026-02-10 16:48:09 +00:00
Joel Challis
db4d8823d6
Migrate ROW_SHIFTER to core MATRIX_ROW_SHIFTER (#25977) 2026-02-10 16:47:41 +00:00
Joel Challis
9aec0e2c9f
Remove some unnecessary matrix externs (#25975) 2026-02-10 16:47:25 +00:00
QMK Bot
08a064c56d Merge remote-tracking branch 'origin/master' into develop 2026-02-10 08:58:26 +00:00
Mikko Turunen
b01ed7d34f
Adding a new keyboard - Slothie60 (#24931)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2026-02-10 00:36:35 -08:00
QMK Bot
85d4736930 Merge remote-tracking branch 'origin/master' into develop 2026-02-10 08:22:58 +00:00
Sebastiaan Swinkels
a7f524f264
Added MK Point65 keyboards and keymaps (#25392) 2026-02-10 00:20:34 -08:00
Joel Challis
98f05c0136
Allow keymap.json to disable config flags (#25502) 2026-02-10 16:11:02 +08:00
Joel Challis
5dd5d4dd60
Correctly resolve keyboard alias during 'qmk new-keymap' (#25570) 2026-02-10 16:10:12 +08:00
QMK Bot
cf4e526063 Merge remote-tracking branch 'origin/master' into develop 2026-02-10 07:52:13 +00:00
Thanh Son Tran
8a6c081c4a
[Keyboard] Add support Tyson88 (#25699)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Trần Thanh Sơn <son.tt1@teko.vn>
2026-02-09 23:51:34 -08:00
QMK Bot
005b778164 Merge remote-tracking branch 'origin/master' into develop 2026-02-09 01:00:12 +00:00
Joel Challis
b6d46cdc47
Allow json keymaps to include a user provided keymap.h (#25987) 2026-02-09 08:59:34 +08:00
QMK Bot
efafbacb49 Merge remote-tracking branch 'origin/master' into develop 2026-02-06 07:15:00 +00:00
Nate Eagleson
6729379041
Fix typo in ergodox-ez's readme (#25985)
Fix typo in readme.md
2026-02-06 15:14:23 +08:00
QMK Bot
02b49f2949 Merge remote-tracking branch 'origin/master' into develop 2026-01-25 00:44:31 +00:00
Drashna Jaelre
38815db760
Fixup tominabox1 le chiffre default keymap (#25966)
* Fixup tominabox1 le chiffre default keymap

* Apply suggestions from code review

Co-authored-by: Jack Sangdahl <jack@pngu.org>

---------

Co-authored-by: Jack Sangdahl <jack@pngu.org>
2026-01-25 08:43:55 +08:00
QMK Bot
b00bdd0354 Merge remote-tracking branch 'origin/master' into develop 2026-01-20 08:49:29 +00:00
Joel Challis
863b308519
Fix avrdude version check logic (#25957) 2026-01-20 08:48:51 +00:00
QMK Bot
b2b8e54b23 Merge remote-tracking branch 'origin/master' into develop 2026-01-15 00:48:14 +00:00
Nick Brassel
127c664647
Backport GitHub Copilot instructions. (#25953) 2026-01-15 11:47:35 +11:00
フィルターペーパー
87a4c6ab25
Copilot instructions for pull requests (#25857)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2026-01-15 09:19:17 +11:00
QMK Bot
c72581474e Merge remote-tracking branch 'origin/master' into develop 2026-01-13 05:49:36 +00:00
Joel Challis
7d66c11f37
Lint default dynamic keymap layer count (#25948) 2026-01-13 16:48:59 +11:00
Joel Challis
adbd077b15
Minor alignment of CLI formatting commands (#25946) 2026-01-11 20:37:34 +00:00
QMK Bot
e5d1cf0105 Merge remote-tracking branch 'origin/master' into develop 2026-01-11 18:18:09 +00:00
Joel Challis
e391793f73
Remove binary symbols from keymaps (#25947) 2026-01-11 18:15:14 +00:00
QMK Bot
bfc1b2b1cf Merge remote-tracking branch 'origin/master' into develop 2026-01-11 17:48:00 +00:00
Álvaro A. Volpato
70c36c6c97
First support for KKC Wily (#25852) 2026-01-11 09:47:23 -08:00
Ryan
fb27ce6bb2
Add missing labels to DD keycode definitions (#25503)
* Add missing labels to DD keycode definitions

* Use subscript numbers for MIDI note labels to avoid confusion with eg. F-keys

* Somehow missed these
2026-01-11 09:47:15 +08:00
Pablo Martínez
fe1c3fc835
[Bugfix] WS2812 indexing in split boards (#25407)
* initial

* oops

* Update quantum/rgb_matrix/rgb_matrix.c

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>

---------

Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2026-01-11 09:00:36 +08:00
Joel Challis
f8d65460c2
Report permission issues in qmk doctor (#25931)
Report permission issues in 'qmk doctor'
2026-01-10 08:23:43 +08:00
QMK Bot
4ba8da2ebb Merge remote-tracking branch 'origin/master' into develop 2026-01-10 00:01:52 +00:00
Thanh Son Tran
56a2e332e1
Update tyson60 pid (#25935)
* Update support S6xty5

* Delete chconf.h

* Update manufacturer, community layout for hhkb

* Update layout

* fix row index

* Update tyson60s

* Update community layout and layout name

* Update remove rgb test mode

* Update capslock led

* Apply suggestions from code review

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>

* Remove deprecated s6xty5

* Update tyson60 product id

---------

Co-authored-by: Trần Thanh Sơn <son.tt1@teko.vn>
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2026-01-10 08:01:15 +08:00
ms-eevee
df93bfb750
Fixes for is31fl3729 LED matrix driver off-by-one errors (#25902)
Co-authored-by: Evelyn Holloway <dev@evelynonline.ca>
2026-01-09 15:32:55 -08:00
QMK Bot
2b6ed67db4 Merge remote-tracking branch 'origin/master' into develop 2026-01-09 19:51:00 +00:00
dependabot[bot]
e31384babf
Bump JamesIves/github-pages-deploy-action from 4.7.6 to 4.8.0 (#25943)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.7.6 to 4.8.0.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.7.6...v4.8.0)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-version: 4.8.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-01-09 19:50:23 +00:00
QMK Bot
536a0a78b4 Merge remote-tracking branch 'origin/master' into develop 2026-01-08 05:37:18 +00:00
Joel Challis
a0b15d08bc
Short term fix for avr-libc@2.3.0 (#25938) 2026-01-08 16:36:40 +11:00
ijouw
e1c41f1b08
Match Key override index type to bounds type to prevent overflow (#25939)
Use uint16_t to store key override index

Co-authored-by: simon <ijouwy@gmail.com>
2026-01-08 08:41:46 +08:00
QMK Bot
f749cf9940 Merge remote-tracking branch 'origin/master' into develop 2026-01-07 21:08:42 +00:00
Stefan Gluszek
3d591a2000
Update fatotesa keyboard config. (#25811) 2026-01-07 21:08:05 +00:00
Joel Challis
259320ca27
Lint out-of-bounds bootmagic config (#25899)
* Lint OOB bootmagic config

* lint
2026-01-07 18:37:51 +08:00
QMK Bot
85b79cc578 Merge remote-tracking branch 'origin/master' into develop 2026-01-07 10:24:53 +00:00
Joel Challis
1e683923e1
Handle broken symlinks in qmk doctor udev checks (#25934)
Handle broken symlinks in 'qmk doctor' udev checks
2026-01-07 18:24:16 +08:00
QMK Bot
743c8a229f Merge remote-tracking branch 'origin/master' into develop 2026-01-03 23:01:29 +00:00
Pascal Getreuer
3194862502
docs/tap_hold.md fixes: Note that Chordal Hold supports multiple same-side mods and fix heading for Speculative Hold. (#25924)
* Note Chordal Hold supports multiple same-side mods.

* Fix "Speculative Hold" heading from H3 -> H2.
2026-01-04 07:00:50 +08:00
QMK Bot
c5795dd8d7 Merge remote-tracking branch 'origin/master' into develop 2026-01-03 20:32:57 +00:00
Ed Flanagan
8c035c2116
Fix small typo in WS2812 driver doc (#25928)
`ws812` -> `ws2812`
2026-01-03 20:18:41 +00:00
QMK Bot
e159fbefc5 Merge remote-tracking branch 'origin/master' into develop 2026-01-03 19:46:07 +00:00
nullptr
91a9f9e492
Fix RGB Matrix Typing Heatmap overflow (#25915) 2026-01-03 19:45:29 +00:00
QMK Bot
3dc83cd244 Merge remote-tracking branch 'origin/master' into develop 2026-01-03 13:55:57 +00:00
Jack Sangdahl
ddeaa26fef
Add .env, .envrc to gitignore (#25904) 2026-01-03 13:55:17 +00:00
QMK Bot
1051fae08d Merge remote-tracking branch 'origin/master' into develop 2026-01-03 13:53:49 +00:00
Aymeric Wibo
f3a16ef21d
Fix typos in Aleblazer Zodiark readme (#25925) 2026-01-03 13:53:13 +00:00
QMK Bot
0d08ebb70a Merge remote-tracking branch 'origin/master' into develop 2026-01-01 12:19:53 +00:00
QMK Bot
99b5b9ab7f
[CI] Regenerate Files (#25920)
Regenerate Files
2026-01-01 12:19:14 +00:00
QMK Bot
389ec6df82 Merge remote-tracking branch 'origin/master' into develop 2026-01-01 08:38:02 +00:00
Piervit
6a5610a8be
Fix functions layer_debug and default_layer_debug (#25913)
Co-authored-by: Joel Challis <git@zvecr.com>
2026-01-01 00:37:25 -08:00
QMK Bot
4f451a76f2 Merge remote-tracking branch 'origin/master' into develop 2025-12-25 00:25:27 +00:00
Joel Challis
acbeec29da
Reduce frequency of automatic workflow run approval (#25896) 2025-12-25 00:24:50 +00:00
QMK Bot
e05516d817 Merge remote-tracking branch 'origin/master' into develop 2025-12-23 00:01:39 +00:00
Danny
7e35cdda8a
Add FoldKB Rev. 2.1 with added underglow RGB LEDs (#25885) 2025-12-23 00:00:57 +00:00
Joel Challis
ae05baf08b
Fix out-of-bounds bootmagic config (#25898) 2025-12-22 16:09:49 +00:00
Joel Challis
c1161a7a32
Refactor core use of deprecated isLeftHand (#25888) 2025-12-21 20:52:55 +00:00
Joel Challis
f82d4d8680
Refactor keyboard/keymap use of deprecated isLeftHand (#25891) 2025-12-21 20:52:48 +00:00
QMK Bot
d420bcad33 Merge remote-tracking branch 'origin/master' into develop 2025-12-21 04:08:20 +00:00
Joel Challis
dba60e2e65
Re-fix building of XAP keymaps on master/develop (#25892) 2025-12-21 15:07:40 +11:00
QMK Bot
7f9c8429e4 Merge remote-tracking branch 'origin/master' into develop 2025-12-20 20:34:36 +00:00
Joel Challis
c68281b353
Handle building of XAP keymaps on master/develop (#25848) 2025-12-21 07:33:58 +11:00
Joshua Diamond
41c2a7b070
Include userspace version (QMK_USERSPACE_VERSION) in version.h (#25882)
* Include userspace version in version.h

* Update lib/python/qmk/cli/generate/version_h.py

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

* Update lib/python/qmk/cli/generate/version_h.py

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

* Update lib/python/qmk/cli/generate/version_h.py

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

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2025-12-18 22:23:51 -05:00
QMK Bot
bc8218371e Merge remote-tracking branch 'origin/master' into develop 2025-12-19 02:27:38 +00:00
Joel Challis
84d44e6188
Update bootstrap_testing.yml 2025-12-19 02:26:58 +00:00
QMK Bot
27c2960320 Merge remote-tracking branch 'origin/master' into develop 2025-12-19 02:24:07 +00:00
Joel Challis
54e8fad959
Ignore merge commits on bootstrap testing PRs (#25884) 2025-12-19 02:23:29 +00:00
QMK Bot
42a7969d4a Merge remote-tracking branch 'origin/master' into develop 2025-12-15 00:21:42 +00:00
Joel Challis
2c847b0350
Consistently install branch specific dependencies in CI (#25874) 2025-12-15 00:21:06 +00:00
QMK Bot
13f3f189b4 Merge remote-tracking branch 'origin/master' into develop 2025-12-12 21:17:32 +00:00
dependabot[bot]
e1c869b8da
Bump actions/download-artifact from 6 to 7 (#25873)
Bumps [actions/download-artifact](https://github.com/actions/download-artifact) from 6 to 7.
- [Release notes](https://github.com/actions/download-artifact/releases)
- [Commits](https://github.com/actions/download-artifact/compare/v6...v7)

---
updated-dependencies:
- dependency-name: actions/download-artifact
  dependency-version: '7'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 21:16:52 +00:00
QMK Bot
63a1d506a0 Merge remote-tracking branch 'origin/master' into develop 2025-12-12 20:11:55 +00:00
dependabot[bot]
9e0118172f
Bump actions/upload-artifact from 5 to 6 (#25872)
Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 5 to 6.
- [Release notes](https://github.com/actions/upload-artifact/releases)
- [Commits](https://github.com/actions/upload-artifact/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/upload-artifact
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-12 20:11:19 +00:00
QMK Bot
ca8105eac0 Merge remote-tracking branch 'origin/master' into develop 2025-12-12 18:31:29 +00:00
Joel Challis
4f9582da26
Install branch specific dependencies as part of bootstrap testing (#25871) 2025-12-12 18:30:46 +00:00
QMK Bot
f39fc08338 Merge remote-tracking branch 'origin/master' into develop 2025-12-12 18:19:07 +00:00
Joshua Diamond
2e68ddc826
Fix broken compilation when OS_DETECTION_DEBUG_ENABLE is defined (#25869)
Fix include in os_detection (broken in https://github.com/qmk/qmk_firmware/pull/24356)
2025-12-12 18:17:42 +00:00
QMK Bot
1be7cde61f Merge remote-tracking branch 'origin/master' into develop 2025-12-10 19:12:54 +00:00
dependabot[bot]
c1fedab457
Bump peter-evans/create-pull-request from 7 to 8 (#25868)
Bumps [peter-evans/create-pull-request](https://github.com/peter-evans/create-pull-request) from 7 to 8.
- [Release notes](https://github.com/peter-evans/create-pull-request/releases)
- [Commits](https://github.com/peter-evans/create-pull-request/compare/v7...v8)

---
updated-dependencies:
- dependency-name: peter-evans/create-pull-request
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 19:12:17 +00:00
QMK Bot
6585a244fb Merge remote-tracking branch 'origin/master' into develop 2025-12-10 19:12:03 +00:00
dependabot[bot]
2929448605
Bump JamesIves/github-pages-deploy-action from 4.7.5 to 4.7.6 (#25867)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.7.5 to 4.7.6.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.7.5...v4.7.6)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-version: 4.7.6
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-10 19:11:25 +00:00
QMK Bot
e37a611977 Merge remote-tracking branch 'origin/master' into develop 2025-12-09 19:16:43 +00:00
dependabot[bot]
b39661de96
Bump JamesIves/github-pages-deploy-action from 4.7.4 to 4.7.5 (#25865)
Bumps [JamesIves/github-pages-deploy-action](https://github.com/jamesives/github-pages-deploy-action) from 4.7.4 to 4.7.5.
- [Release notes](https://github.com/jamesives/github-pages-deploy-action/releases)
- [Commits](https://github.com/jamesives/github-pages-deploy-action/compare/v4.7.4...v4.7.5)

---
updated-dependencies:
- dependency-name: JamesIves/github-pages-deploy-action
  dependency-version: 4.7.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 19:16:07 +00:00
QMK Bot
a5d7e04c66 Merge remote-tracking branch 'origin/master' into develop 2025-12-09 19:16:05 +00:00
dependabot[bot]
ff75bce86a
Bump actions/github-script from 6 to 8 (#25866)
Bumps [actions/github-script](https://github.com/actions/github-script) from 6 to 8.
- [Release notes](https://github.com/actions/github-script/releases)
- [Commits](https://github.com/actions/github-script/compare/v6...v8)

---
updated-dependencies:
- dependency-name: actions/github-script
  dependency-version: '8'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-12-09 19:15:23 +00:00
Jack Sangdahl
6faca4d663
[Keyboard] Guard encoder behaviour on projectcain/vault* (#25864)
Initial
2025-12-09 11:55:21 +01:00
QMK Bot
34c2e99fb3 Merge remote-tracking branch 'origin/master' into develop 2025-12-09 04:16:18 +00:00
Sắn
0881e0867b
Add support for Kami65 PCB (#24604)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2025-12-08 20:06:24 -08:00
QMK Bot
064d8e9b62 Merge remote-tracking branch 'origin/master' into develop 2025-12-09 03:44:09 +00:00
Philip
e6e66a9f2e
Update dactyl_manuform 5x8 keyboard.json (#24778) 2025-12-08 19:33:02 -08:00
lental
e2d19eda57
Add queue.len() keyboard (#24823)
Co-authored-by: Joel Challis <git@zvecr.com>
2025-12-08 19:30:39 -08:00
Joel Challis
10faca0b85
Move shutdown delay to audio feature (#25859) 2025-12-08 19:14:46 -08:00
Joel Challis
c1b8b3dc6a
Revert test commit 2025-12-09 00:22:31 +00:00
QMK Bot
89cf023d89 Merge remote-tracking branch 'origin/master' into develop 2025-12-09 00:22:02 +00:00
Joel Challis
73a6496516
Trigger develop docs rebuild on push (#25863) 2025-12-09 00:21:25 +00:00
QMK Bot
b68cc43094 Merge remote-tracking branch 'origin/master' into develop 2025-12-08 22:56:39 +00:00
Joel Challis
c8f6e6a936
Revert "Trigger develop docs rebuild on push" (#25862)
Revert "Trigger develop docs rebuild on push (#25860)"

This reverts commit a86322e4a7.
2025-12-08 22:55:58 +00:00
Joel Challis
2b61ca078d
Test commit 2025-12-08 22:44:07 +00:00
QMK Bot
d3d025c337 Merge remote-tracking branch 'origin/master' into develop 2025-12-08 22:32:33 +00:00
Joel Challis
a86322e4a7
Trigger develop docs rebuild on push (#25860) 2025-12-08 22:26:14 +00:00
ploopyco
505e5c7033
Add new mouse "Ploopy Nano 2 Trackball" (#25762) 2025-12-08 14:24:42 -08:00
Diff-fusion
d7c7421784
Fix flash wear leveling sector calculation (#24776) 2025-12-08 21:58:04 +00:00
QMK Bot
b08704f078 Merge remote-tracking branch 'origin/master' into develop 2025-12-08 20:33:07 +00:00
Jon Colverson
107812ceef
[Keyboard] Add PicoFX (#25704) 2025-12-08 20:31:24 +00:00
QMK Bot
1f4110d742 Merge remote-tracking branch 'origin/master' into develop 2025-12-08 20:25:58 +00:00
Fabian Felix Selbach
de8f05b4c3
[Keyboard] Add support for Alpha FS (#25756) 2025-12-08 20:21:12 +00:00
Joel Challis
57b284dfa9
Refactor Makefile logic for locating keymaps (#25808) 2025-12-08 19:55:06 +00:00
Joel Challis
5b94990c5a
Remove redundant URLs from .json (#25856) 2025-12-08 12:11:21 +00:00
QMK Bot
debba50c33 Merge remote-tracking branch 'origin/master' into develop 2025-12-05 22:26:25 +00:00
psych3r
08e5fcfdf4
Fix USER_PATH resolution on case-insensitive filesystems (#25853)
When QMK_USERSPACE is empty, the wildcard check in build_keyboard.mk
incorrectly matches user home directories on case-insensitive filesystems
(macOS/Windows), causing USER_PATH to resolve to an absolute path instead
of a relative path.

This only affects users whose username matches their user directory name
(e.g., username 'psycher' with home '/Users/psycher' and QMK user dir
'users/psycher').

Fix by checking if QMK_USERSPACE is non-empty before performing the
wildcard check.
2025-12-05 22:25:48 +00:00
Joel Challis
511f1ed9de
Remove unused qmk.keymap.write_file/qmk.keymap.write_json (#25854) 2025-12-04 23:31:52 +00:00
QMK Bot
a71a34eb52 Merge remote-tracking branch 'origin/master' into develop 2025-12-04 20:43:10 +00:00
Ivan Gromov
1322922c42
Add kt356 Mini (#25781)
Co-authored-by: Joel Challis <git@zvecr.com>
2025-12-04 12:42:53 -08:00
Ivan Gromov
16dde871d7
Add kt60HS-T v3 (#25822) 2025-12-04 12:42:33 -08:00
QMK Bot
655883a965 Merge remote-tracking branch 'origin/master' into develop 2025-12-04 12:17:04 +00:00
Jacek Królikowski
d39015a401
[DOCS] Add keycodes to info.json docs. More precise matrix masking info (#25801) 2025-12-04 12:15:43 +00:00
QMK Bot
a201bf9398 Merge remote-tracking branch 'origin/master' into develop 2025-12-04 12:15:14 +00:00
sigman
bf0b88c423
Adapt MIUNI32 keyboard for VIA configurator (#25803) 2025-12-04 12:14:37 +00:00
QMK Bot
c2eeeba2e9 Merge remote-tracking branch 'origin/master' into develop 2025-12-04 12:13:57 +00:00
tyler
d4f04fe850
Simplify docs for Key Overrides config (#25787) 2025-12-04 12:13:20 +00:00
zvecr
a4320e4890 Branch point for 2026q1 Breaking Change. 2025-12-01 22:48:34 +00:00
zvecr
b315b707e6 Merge branch 'develop' 2025-12-01 22:07:33 +00:00
zvecr
e10429baae Merge point for 2025q4 breaking changes. 2025-12-01 22:03:23 +00:00
Joel Challis
0e6b73c9ff
2025q4 develop changelog (#25845) 2025-12-01 21:47:16 +00:00
QMK Bot
d45b967cf2 Merge remote-tracking branch 'origin/master' into develop 2025-12-01 01:46:53 +00:00
Joel Challis
e2bf515df4
Fix python format warnings (#25841) 2025-12-01 12:17:13 +11:00
Joel Challis
2cac8b587f
Remove macos-13 runner from bootstrap testing (#25843) 2025-12-01 12:16:25 +11:00
QMK Bot
d383e93526 Merge remote-tracking branch 'origin/master' into develop 2025-12-01 01:16:10 +00:00
Joel Challis
83b42ea9dc
Update Bootstrap testing triggers (#25842) 2025-12-01 12:15:31 +11:00
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
Joel Challis
b5dfb2bd1e
Partially skip generating community modules when none enabled (#25819) 2025-11-28 08:29:46 +11:00
QMK Bot
ee44cbdedb Merge remote-tracking branch 'origin/master' into develop 2025-11-27 19:47:31 +00:00
dependabot[bot]
330a8597f8
Bump actions/checkout from 4 to 6 (#25829) 2025-11-28 06:46:53 +11:00
QMK Bot
9acd127cc1 Merge remote-tracking branch 'origin/master' into develop 2025-11-27 13:37:29 +00:00
Nick Brassel
9c2ca00074
QMK CLI Environment bootstrapper (#25038)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Pascal Getreuer <getreuer@google.com>
2025-11-28 00:36:49 +11:00
QMK Bot
9ab8e4cd5a Merge remote-tracking branch 'origin/master' into develop 2025-11-25 10:07:38 +00:00
Danny
594558ec7b
Add Demod LM Rev. 1 (#25793) 2025-11-25 10:07:16 +00:00
andrew morton
5e1b1f5023
Add support for Coffee Break Keyboards' Coffeevan (#25805) 2025-11-25 10:07:01 +00:00
QMK Bot
bbccd8f9cc Merge remote-tracking branch 'origin/master' into develop 2025-11-25 01:32:43 +00:00
Nathan Sunday
cc567c917b
[Keyboard] Add Keenome Keys' "The Grid v2" (#25813)
* Add 'the_grid_v2' to QMK

* Per documentation, formatted keyboard.json and add license to keymap.c

* Update keyboards/keenome_keys/the_grid_v2/keyboard.json

Co-authored-by: Jack Sangdahl <jack@pngu.org>

* Create readme.md for The Grid v2 keyboard

Added detailed readme for The Grid v2 keyboard including setup and bootloader instructions.

* Revise readme for The Grid v2 keyboard

Updated readme with specific hardware details.

---------

Co-authored-by: Jack Sangdahl <jack@pngu.org>
2025-11-24 18:32:03 -07: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
QMK Bot
c7e17538ee
[CI] Format code according to conventions (#25820) 2025-11-23 22:28:34 +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
Pascal Getreuer
4015c40ba4
[Bug][Core] Fix Speculative Hold to enable also right-handed RSFT, RCTL by default. (#25797) 2025-11-23 22:24:02 +11:00
Joel Challis
53de903fb8
Better defaulting of {RGB,LED}_MATRIX_DEFAULT_FLAGS (#25785) 2025-11-23 22:21:55 +11:00
Xelus22
fd65390496
[core] add BCD versions of QMK Version (#25804)
Co-authored-by: Joel Challis <git@zvecr.com>
2025-11-23 22:21:13 +11:00
Joel Challis
28a11ff6f7
Fix preference of output file for 'qmk generate-autocorrect-data' (#25818) 2025-11-23 05:02:32 +00:00
Jack Sangdahl
1a7f544e0d
[CLI] Lint error on missing keyboard readme (#25814) 2025-11-22 06:57:58 +00:00
Joel Challis
3e0b22af68
Fix community layout keymap discovery (#25802) 2025-11-22 04:30:27 +00:00
QMK Bot
7edb4d2ed8 Merge remote-tracking branch 'origin/master' into develop 2025-11-21 02:13:50 +00:00
dependabot[bot]
81cc69c2dd
Bump actions/checkout from 5 to 6 (#25807)
Bumps [actions/checkout](https://github.com/actions/checkout) from 5 to 6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](https://github.com/actions/checkout/compare/v5...v6)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-11-21 02:13:14 +00:00
QMK Bot
93274019a9 Merge remote-tracking branch 'origin/master' into develop 2025-11-19 03:51:29 +00:00
andrew morton
0fde9c9cac
[Keyboard] Add Coffee Break Keyboards Acai (#25796)
* Add support for Coffee Break Keyboards Acai

* Apply suggestions from code review

Co-authored-by: Jack Sangdahl <jack@pngu.org>

* Ran qmk format-json

* Misssed one of @waffle87's suggestions

* Misssed another of @waffle87's suggestions

* Try hosting on imgur.com

* Remove empty layers, add boot to layer 2

* Enhance the default keymap

* Use correct keycodes for RGB

---------

Co-authored-by: Jack Sangdahl <jack@pngu.org>
2025-11-18 20:50:47 -07:00
QMK Bot
b708a43730 Merge remote-tracking branch 'origin/master' into develop 2025-11-19 03:46:07 +00:00
Joel Challis
5bb7476400
Short term fix for skip_converter KeyError in 'qmk userspace-add' (#25798) 2025-11-19 03:45:29 +00:00
Joel Challis
8eebc613cf
Merge upstream uf2conv changes (#25786) 2025-11-17 02:24:23 +00:00
QMK Bot
a2adc92066 Merge remote-tracking branch 'origin/master' into develop 2025-11-17 02:12:13 +00:00
yiancar
6242c09f7d
Hyper7 v4 (#25728) 2025-11-17 02:10:59 +00:00
QMK Bot
224ea2eb18 Merge remote-tracking branch 'origin/master' into develop 2025-11-17 02:09:46 +00:00
Ivan Gromov
eb5703d12e
Add imi60-HS (#25773) 2025-11-17 02:09:09 +00:00
QMK Bot
921c0039f4 Merge remote-tracking branch 'origin/master' into develop 2025-11-17 02:07:35 +00:00
Joel Challis
bb2ca21647
Fix detection of hid bootloader flashing tool (#25790) 2025-11-17 02:06:59 +00:00
ploopyco
1a4af3adf9
Add PixArt PAW-3222 mouse sensor driver (#25763) 2025-11-12 09:02:52 +11:00
フィルターペーパー
99b1dc84da
Fix Magic GUI masking logic (#25780) 2025-11-12 09:02:08 +11:00
Joel Challis
98504424b1
Align use of keymap level _kb callbacks (#25774) 2025-11-12 09:00:28 +11:00
Joel Challis
8ec3de0f92
Add return code to qmk userspace-doctor (#25775) 2025-11-12 08:59:06 +11:00
Stefan Kerkmann
c68e4dec10
[Core] suspend: suppress wake up keypress (#23389)
* suspend: suppress wake up keypress

Waking the host from suspend is done by pressing any key on the
keyboard, the regular key codes assigned to the keys are not important
and must not be sent - otherwise they usually end up in password prompts
as ghost characters that have to be deleted again. This commit adds
suppression for all keys pressed at the time of wake up. Once a key is
released it functions as a regular key again.

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

* suspend: update wake up matrix after wake up delay

If USB_SUSPEND_WAKEUP_DELAY is set, the keyboard sleeps during wake up -
which can be up to multiple seconds. To handle key presses and releases
in that time frame we have to handle the following cases:

1. Key not pressed before suspend, and not pressed after wakeup → do
   nothing (normal case).
2. Key not pressed before suspend, but pressed after wakeup → set the
   wakeup_matrix bit to 1 (so that the press and release events would be
   suppressed).
3. Key pressed before suspend, but not pressed after wakeup → do nothing
   (the release event will be generated on the first matrix_task() call
   after the wakeup).
4. Key pressed before suspend, and still pressed after wakeup → do
   nothing (the release event will be generated some time later).

Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>

* keyboards: anavi: macropad8: disable snake and rgb_test effects

...to shrink the binary size.
2025-11-11 23:35:03 +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
QMK Bot
e06d79e9c6 Merge remote-tracking branch 'origin/master' into develop 2025-11-11 12:22:27 +00:00
QMK Bot
019cba746d Merge remote-tracking branch 'origin/master' into develop 2025-11-11 12:21:26 +00:00
Drashna Jaelre
28eeb92f8e
Add I2C Transmit and Receive function (#25637)
* feat: adds a transmit and receive i2c method

* fix: address the i2c transmit and receive length on u16

* Add AVR/LUFA implementation

Didn't add a progmem version, since that would only apply to receive.
Figured it wasn't worth it, but can add.

* Rearrange order of functions

* Add docs

* Fix doc gen error

* Fix lint issues

* fix more lint issues
2025-11-11 23:02:35 +11:00
Pascal Getreuer
efc5d63383
[Core] Speculative Hold option for mod-taps: hold mods instantly while unsettled. (#25572) 2025-11-11 22:27:12 +11:00
QMK Bot
2af9aac61c Merge remote-tracking branch 'origin/master' into develop 2025-11-08 21:02:36 +00:00
QMK Bot
fb6d7762b9 Merge remote-tracking branch 'origin/master' into develop 2025-11-08 20:49:51 +00:00
Joel Challis
6e35013bc2
Generate CUSTOM_MATRIX = lite without matrix_pins.custom (#25453) 2025-11-08 20:48:48 +00:00
QMK Bot
cf05c7d1e4 Merge remote-tracking branch 'origin/master' into develop 2025-11-08 18:44:13 +00:00
QMK Bot
4b393a1ff5 Merge remote-tracking branch 'origin/master' into develop 2025-11-06 23:43:35 +00:00
Joel Challis
01952bf39a
Implement minimal connection update logic (#25334) 2025-11-06 23:34:23 +00:00
フィルターペーパー
1a991ffd24
Guard remapping logic with MAGIC_ENABLE (#25537)
* Only perform key and mod remapping in keycode_config() and mod_config() when MAGIC_ENABLE is defined.
* If not set, these functions now return the original keycode or modifier unchanged.
* Reduces firmware size, and unnecessary code when MAGIC_ENABLE is not enabled.
* Removed space saving suggestion with magic functions from squeezing AVR documentation
2025-11-06 23:03:28 +00:00
Joel Challis
01d81b9550
Rework converter docs (#18314) 2025-11-06 18:36:07 +00:00
QMK Bot
a00177d172 Merge remote-tracking branch 'origin/master' into develop 2025-11-04 23:06:14 +00:00
QMK Bot
b905c246b5 Merge remote-tracking branch 'origin/master' into develop 2025-11-04 07:07:30 +00:00
Alin Marin Elena
547d75145b
add SteelSeries prime, a stripped down prime+ (#24719) 2025-11-04 14:45:08 +11:00
QMK Bot
f1ec600fac Merge remote-tracking branch 'origin/master' into develop 2025-11-04 00:12:57 +00:00
Pablo Jiménez Mateo
c67e4c2cae
Add classic48 keyboard (#25492)
Co-authored-by: Pablo Jimenez Mateo <pablojimenezmateo@gmail.com>
2025-11-01 22:55:16 -07:00
Tvrd Rad Keyboards
5ba424ca17
Add TRKeyboard TRK2 keyboard (#25754)
Co-authored-by: Jack Sangdahl <jack@pngu.org>
Co-authored-by: Joel Challis <git@zvecr.com>
2025-11-01 22:53:04 -07:00
QMK Bot
e7012f4d9e Merge remote-tracking branch 'origin/master' into develop 2025-11-02 00:07:22 +00:00
Nimish Gåtam
8c93a33cd3
making flowtap timer public so it can be used easily with combos (#25731) 2025-11-01 23:17:50 +00:00
QMK Bot
6aade0ecdc Merge remote-tracking branch 'origin/master' into develop 2025-10-30 20:17:21 +00:00
QMK Bot
ce43c98b65 Merge remote-tracking branch 'origin/master' into develop 2025-10-30 20:06:27 +00:00
Nick Brassel
acd7ad37e6
Update ChibiOS-Contrib. (#25751) 2025-10-28 23:32:31 +11:00
Aleks
cbd55b7890
Restrict mouse timer activation to movement keycodes (#25716)
Co-authored-by: フィルターペーパー <76888457+filterpaper@users.noreply.github.com>
2025-10-27 15:11:57 +11:00
QMK Bot
dadbec4d46 Merge remote-tracking branch 'origin/master' into develop 2025-10-27 01:19:48 +00:00
Filios92
cb3149b7f2
Fix RGB matrix not syncing and turning off properly on timeout (#25467) 2025-10-26 16:47:04 -07:00
QMK Bot
64c84e64c7 Merge remote-tracking branch 'origin/master' into develop 2025-10-23 10:45:10 +00:00
QMK Bot
a05306d153 Merge remote-tracking branch 'origin/master' into develop 2025-10-23 00:56:13 +00:00
QMK Bot
946d651f57 Merge remote-tracking branch 'origin/master' into develop 2025-10-22 15:20:28 +00:00
QMK Bot
7ea7930b8c Merge remote-tracking branch 'origin/master' into develop 2025-10-21 09:58:58 +00:00
QMK Bot
e91938088a Merge remote-tracking branch 'origin/master' into develop 2025-10-20 01:51:25 +00:00
フィルターペーパー
81df543086
Debounce: Deprecate num_rows parameter (#25632) 2025-10-19 03:14:37 +01:00
Boudewijn van Groos
4f21beb715
Fix drv haptics docs by using the correct function name (#25733) 2025-10-18 22:31:52 +01:00
QMK Bot
18051f1723 Merge remote-tracking branch 'origin/master' into develop 2025-10-18 10:18:38 +00:00
QMK Bot
3eb8d3bea3 Merge remote-tracking branch 'origin/master' into develop 2025-10-14 06:36:00 +00:00
Joel Challis
f4068dbfb0
Update STM32F446 default HSE to 8MHz (#25717) 2025-10-13 06:40:45 +01:00
Marek Schmitt
08405df150
Add new macropad Sharkropad (#24961) 2025-10-11 05:45:17 +01:00
QMK Bot
3c751f217a Merge remote-tracking branch 'origin/master' into develop 2025-10-10 22:18:03 +00:00
Jack Sangdahl
9f1a7380ab
Fixup kprepublic/bm60hsrgb/rev2 (#25644)
* Fixup kprepublic/bm60hsrgb/rev2

- Remove RGBLight configuration and throw error if RGBLight & RGB Matrix
  are enabled together - the WS2812 driver cannot be used for RGBLight
  as it is being used by this keyboard's custom RGB Matrix driver
- Migrate RGB Matrix configuration to DD
- Migrate default keymap to JSON
- Use short SPDX license headers

* Fix OOB coordinate
2025-10-08 08:01:26 -06:00
Jack Sangdahl
7dca4e8bda
Fixup kprepublic/bm60hsrgb_iso/rev2 (#25648)
Fixup kprepublic/bm60hsrgb_iso/rev2

- Remove RGBLight configuration and throw error if RGBLight & RGB Matrix
  are enabled together - the WS2812 driver cannot be used for RGBLight
  as it is being used by this keyboard's custom RGB Matrix driver
- Migrate RGB Matrix configuration to DD
- Migrate default keymap to JSON
- Use short SPDX license headers
2025-10-08 08:01:08 -06:00
Jack Sangdahl
0aae222ab6
Fixup kprepublic/bm60hsrgb_poker/rev2 (#25649)
Fixup kprepublic/bm60hsrgb/rev2

- Remove RGBLight configuration and throw error if RGBLight & RGB Matrix
  are enabled together - the WS2812 driver cannot be used for RGBLight
  as it is being used by this keyboard's custom RGB Matrix driver
- Migrate RGB Matrix configuration to DD
- Migrate default keymap to JSON
- Use short SPDX license headers
2025-10-08 08:00:50 -06:00
QMK Bot
475cbd24cf Merge remote-tracking branch 'origin/master' into develop 2025-10-08 03:42:22 +00:00
QMK Bot
81a3249e2c Merge remote-tracking branch 'origin/master' into develop 2025-10-08 02:16:35 +00:00
Pablo Martínez
0550830909
[QP] Minor cleanup and support for RGB888 surface (#25706)
Co-authored-by: Drashna Jaelre <drashna@live.com>
2025-10-07 19:10:38 -07:00
QMK Bot
8f86f9794e Merge remote-tracking branch 'origin/master' into develop 2025-10-08 01:16:37 +00:00
QMK Bot
e7d861aea7 Merge remote-tracking branch 'origin/master' into develop 2025-10-07 05:21:16 +00:00
Martin W.
02cf2b56fd
Add Royal Kludge RK61 (#25694) 2025-10-06 17:46:41 +01:00
QMK Bot
5d26dcefa0 Merge remote-tracking branch 'origin/master' into develop 2025-10-06 16:45:06 +00:00
Aidan Smith
c7ed9038d7
E7-V2 Implementation (#25594) 2025-10-06 17:38:27 +01:00
QMK Bot
7a69c714b4 Merge remote-tracking branch 'origin/master' into develop 2025-10-06 16:30:46 +00:00
QMK Bot
074c49ee1c Merge remote-tracking branch 'origin/master' into develop 2025-10-06 16:28:07 +00:00
Pascal Hansjosten
466e0856f5
add durgod venus iso support (#25526) 2025-10-06 17:26:16 +01:00
QMK Bot
60cf3c22f7 Merge remote-tracking branch 'origin/master' into develop 2025-10-06 14:31:39 +00:00
Jack Sangdahl
05355bc49d
Fixup rgbkb/pan (#25678)
Tidy up rgbkb/pan

- Migrate g_led_config to DD and fix coordinates
- Remove RGBLight configuration
- Migrate keymaps to JSON
- Move keymap OLED code to keyboard level
- Remove cutom layout selection logic (post_rules.mk)
- Use short SPDX license headers
2025-10-05 21:06:55 -06:00
QMK Bot
74ac4120db Merge remote-tracking branch 'origin/master' into develop 2025-10-05 23:56:24 +00:00
QMK Bot
9a77ad69e6 Merge remote-tracking branch 'origin/master' into develop 2025-10-05 20:50:42 +00:00
QMK Bot
187119ed7f Merge remote-tracking branch 'origin/master' into develop 2025-10-05 20:46:50 +00:00
James Young
fecfc0f7da
atreus: restore intended matrix implementations (#24082)
* `atreus`: restore intended matrix implementations

PR 24010 inadvertently changed the switch matrix for the
`atreus/astar_mirrored` keyboard in removing the `PCBDOWN` configuration
option, and also made PCB up and down implementations available for all
Atreus variants, which is not intended usage.

This commit restores the intended behaviour, and makes all the keymaps
which are currently present agnostic to hardware variant.
2025-10-05 01:47:45 +01:00
Jack Sangdahl
36fd2437b0
Migrate g_led_config to DD (0-9, A) (#25558) 2025-09-30 17:09:31 +01:00
Pablo Martínez
bbd6e8ab34
[Feature] Implement mod_t packed struct (#25168) 2025-09-30 15:52:43 +01:00
QMK Bot
24bc4aef03 Merge remote-tracking branch 'origin/master' into develop 2025-09-29 22:55:23 +00:00
QMK Bot
532fb2f960 Merge remote-tracking branch 'origin/master' into develop 2025-09-29 19:34:39 +00:00
Joel Challis
6f93a86e6e
Add LED/RGB Matrix flags API docs (#25673) 2025-09-29 20:27:07 +01:00
Joel Challis
0a4c1caf20
Add DD {LED,RGB}_MATRIX_DEFAULT_FLAGS support (#25671) 2025-09-29 20:26:47 +01:00
Joel Challis
883465d9fb
Add generic handling to cycle LED/RGB Matrix flags (#24649) 2025-09-22 00:01:23 +01:00
Ryan
115bf771a8
Custom oled fonts cleanup (#25665) 2025-09-21 21:40:30 +10:00
silvinor
a4b112b1ef
[keyboard] Binepad KnobX1 - refactor x1_layer_led function as weak (#25668)
refactor `x1_layer_led` function as weak
2025-09-19 21:37:18 -06:00
QMK Bot
d1b0397d2f Merge remote-tracking branch 'origin/master' into develop 2025-09-19 02:41:39 +00:00
Joel Challis
46231df62d
Tidy Keebio keyboards (#25653) 2025-09-12 20:00:03 +01:00
Joel Challis
b6310b5a15
Remove encoder resolution where duplicating defaults (#25654) 2025-09-12 16:56:06 +01:00
Joel Challis
d34cade5ab
Generate default encoder resolution for sparse config (#25247) 2025-09-12 13:21:49 +01:00
Joel Challis
cf58a8733d
Add DIP Switch map support to keymap.json (#25431) 2025-09-12 10:23:23 +01:00
Joel Challis
3320e98ccf
Migrate eeconfig_init_kb implementations to config (#25422) 2025-09-12 10:23:16 +01:00
Joel Challis
319da7bfdb
Refactor 40percentclub/ut47 (#25571) 2025-09-12 08:13:12 +01:00
Joel Challis
4a4e4aa083
Remove idobao *_DISABLE_UNDERGLOW behaviour (#25638) 2025-09-12 08:12:48 +01:00
Jack Sangdahl
74b0f054c1
Migrate g_led_config to DD (YZ) (#25650) 2025-09-11 18:34:10 +01:00
QMK Bot
6eee1940e8 Merge remote-tracking branch 'origin/master' into develop 2025-09-11 10:14:38 +00:00
QMK Bot
626cf94653 Merge remote-tracking branch 'origin/master' into develop 2025-09-11 10:04:55 +00:00
QMK Bot
494a691f4c Merge remote-tracking branch 'origin/master' into develop 2025-09-11 08:42:59 +00:00
Christian C. Berclaz
f8d677af88
Add D60B tsangan pcb (#25245)
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2025-09-11 01:19:10 -07:00
QMK Bot
461a1afe57 Merge remote-tracking branch 'origin/master' into develop 2025-09-11 08:17:01 +00:00
QMK Bot
d4fb67fd5b Merge remote-tracking branch 'origin/master' into develop 2025-09-11 08:16:20 +00:00
QMK Bot
3cd8dd6b25 Merge remote-tracking branch 'origin/master' into develop 2025-09-11 00:45:15 +00:00
Jack Sangdahl
a4d10e9f64
Refactor 40percentclub/gherkin (#25608) 2025-09-10 16:33:38 -07:00
Jack Sangdahl
286947b6fa
Refactor 0xcb/splaytoraid (#25609) 2025-09-10 16:33:12 -07:00
Jack Sangdahl
f12902eb16
Refactor 1upkeyboards/sweet16v2 (#25610) 2025-09-10 16:32:48 -07:00
QMK Bot
0351b598f9 Merge remote-tracking branch 'origin/master' into develop 2025-09-10 12:29:59 +00:00
QMK Bot
c113250c4e Merge remote-tracking branch 'origin/master' into develop 2025-09-10 08:53:02 +00:00
フィルターペーパー
633479ced5
Restructure Pixel Rain interval code (#25516)
Co-authored-by: Joel Challis <git@zvecr.com>
2025-09-10 01:41:29 -07:00
Jack Sangdahl
a91de72246
Migrate g_led_config to DD (K7) (#25616) 2025-09-10 09:14:04 +01:00
QMK Bot
50edd425f7 Merge remote-tracking branch 'origin/master' into develop 2025-09-10 08:12:23 +00:00
QMK Bot
514175848e Merge remote-tracking branch 'origin/master' into develop 2025-09-10 01:45:28 +00:00
QMK Bot
7caef16edd Merge remote-tracking branch 'origin/master' into develop 2025-09-10 01:44:04 +00:00
QMK Bot
ff8db0449e Merge remote-tracking branch 'origin/master' into develop 2025-09-09 21:51:51 +00:00
QMK Bot
7772f47f04 Merge remote-tracking branch 'origin/master' into develop 2025-09-09 16:42:16 +00:00
QMK Bot
ab61d9cb51 Merge remote-tracking branch 'origin/master' into develop 2025-09-09 16:35:52 +00:00
QMK Bot
649bbdeaba Merge remote-tracking branch 'origin/master' into develop 2025-09-09 16:34:48 +00:00
Ryan
eda39f4356
Update default OLED font (#25565) 2025-09-09 17:34:33 +01:00
QMK Bot
c3ba5de928 Merge remote-tracking branch 'origin/master' into develop 2025-09-09 16:28:48 +00:00
QMK Bot
592ee1b57f Merge remote-tracking branch 'origin/master' into develop 2025-09-09 16:27:53 +00:00
Jack Sangdahl
db9b295aa7
Migrate g_led_config to DD (L) (#25617) 2025-09-09 11:50:36 +01:00
Jack Sangdahl
3934a7f3c8
Migrate g_led_config to DD (I) (#25600) 2025-09-09 10:18:16 +01:00
Jack Sangdahl
ed2de21603
Migrate g_led_config to DD (M1) (#25618) 2025-09-09 10:10:34 +01:00
Jack Sangdahl
04978d490a
Migrate g_led_config to DD (M2) (#25619) 2025-09-09 10:09:38 +01:00
Jack Sangdahl
7186a63172
Migrate g_led_config to DD (M3) (#25620) 2025-09-09 10:09:14 +01:00
Jack Sangdahl
ff1900190c
Migrate g_led_config to DD (NO) (#25621) 2025-09-09 10:08:42 +01:00
Jack Sangdahl
2818085d3f
Migrate g_led_config to DD (P) (#25622) 2025-09-09 10:08:20 +01:00
Jack Sangdahl
d17671cd23
Migrate g_led_config to DD (QR) (#25623) 2025-09-09 10:07:47 +01:00
Jack Sangdahl
8f22831f01
Migrate g_led_config to DD (S) (#25624) 2025-09-09 10:07:06 +01:00
Jack Sangdahl
6c96bb5a5a
Migrate g_led_config to DD (TUW) (#25625) 2025-09-09 10:06:12 +01:00
Jack Sangdahl
177ff71d0c
Migrate g_led_config to DD (H) (#25599) 2025-09-09 10:04:40 +01:00
Jack Sangdahl
c1b428bb4e
Migrate g_led_config to DD (JK1) (#25601) 2025-09-09 10:03:52 +01:00
Jack Sangdahl
0828fc4b6f
Migrate g_led_config to DD (K2) (#25602) 2025-09-09 10:03:13 +01:00
Jack Sangdahl
1e8de37aa0
Migrate g_led_config to DD (K3) (#25603) 2025-09-09 10:02:29 +01:00
Jack Sangdahl
9cd3080e22
Migrate g_led_config to DD (K4) (#25605) 2025-09-09 10:02:15 +01:00
Jack Sangdahl
ceefde5ec8
Migrate g_led_config to DD (K5) (#25606) 2025-09-09 10:02:01 +01:00
Jack Sangdahl
3a29cdbd7d
Migrate g_led_config to DD (K6) (#25607) 2025-09-09 10:01:17 +01:00
Jack Sangdahl
2d5cb23503
Migrate g_led_config to DD (G) (#25598) 2025-09-09 10:00:32 +01:00
Jack Sangdahl
6aa85699a5
Migrate g_led_config to DD (E, F) (#25561) 2025-09-09 09:59:42 +01:00
Jack Sangdahl
330d195f9a
Migrate g_led_config to DD (D) (#25560) 2025-09-09 09:58:45 +01:00
Jack Sangdahl
4b1b83f42f
Migrate g_led_config to DD (B, C) (#25559) 2025-09-09 09:58:29 +01:00
QMK Bot
f749dedb0d Merge remote-tracking branch 'origin/master' into develop 2025-09-08 06:57:41 +00:00
QMK Bot
e01313e7d0 Merge remote-tracking branch 'origin/master' into develop 2025-09-07 17:25:52 +00:00
フィルターペーパー
4bd5c033c3
Refactor debounce algorithm with static allocation (#25515)
* Refactor debounce counters with direct indexing

* Refactor code to use array indexing for debounce_counters
* Use global MATRIX_ROW_SHIFTER macro

* Refactor debounce algorithm with static allocation

* Converted arrays to static allocation
* Standardised use of MATRIX_ROWS_PER_HAND for array sizing
* Added Doxygen comments for primary debounce functions
* Removed debounce_free()

* Rewrite sym_defer_pr

* Modernise code using sym_defer_pk as template
* Format consistency with other current algorithms

* Use shorter SPDX-License-Identifier

* Remove ChibiOS core memory manager guard
* Keep type definition within DEBOUNCE guard

* Add change log

* Minor optimisation refactor

* Pre-calculate row_offset in per-key matrix loops
* Add inline compiler hints
* Improve readability with blank lines

* Limit elapsed time to the maximum debounce value

* Apply suggestions from code review

Declare counters with "DEBOUNCE_ELAPSED"

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

* Update change log to new breaking change date

---------

Co-authored-by: Joel Challis <git@zvecr.com>
2025-09-07 13:34:05 +01:00
QMK Bot
5830b1b5e3 Merge remote-tracking branch 'origin/master' into develop 2025-09-07 12:09:44 +00:00
Ryan
bcc546aa3f
Update USBaspLoader ISP instructions (#25590) 2025-09-07 13:05:34 +01:00
Joel Challis
19527e8399
Remove duplication of RP2040 config defaults (#25563) 2025-09-06 14:48:07 -07:00
フィルターペーパー
d8ce8cd204
Simplify hue calculation in raindrops animation (#25587) 2025-09-06 14:43:01 -07:00
フィルターペーパー
248d7c1d6d
Simplify tap_code16_delay (#25595)
* Replaced for-loop with single wait_ms(delay) call
* Improve code consistency with tap_code_delay
2025-09-06 10:04:42 +01:00
Nick Brassel
9455c6adec
Branch point for 2025q4 breaking changes 2025-09-06 17:57:39 +10:00
Nick Brassel
6619ea4441
Merge branch 'master' into develop 2025-09-06 17:57:11 +10:00
3108 changed files with 56214 additions and 25709 deletions

243
.github/copilot-instructions.md vendored Normal file
View file

@ -0,0 +1,243 @@
---
applyTo: "keyboards/**"
excludeAgent:
- "coding-agent"
---
# GitHub Copilot Instructions for QMK Pull Request Review
This document provides automated review guidance based on the [QMK PR Checklist](https://docs.qmk.fm/pr_checklist) and it is intended only for use by GitHub Copilot code-review agent during pull request reviews.
> **Scope**: This review applies **only to changes within the `keyboards/` folder**. Changes outside `keyboards/` (e.g., core code, quantum, platforms, drivers) must be flagged and deferred to a QMK Collaborator — do not review them.
## General PR Requirements
### Branch and Submission Standards
- **Source Branch Policy**: Verify PR is NOT submitted from submitter's own `master` branch
- Flag if submitter is using their own `master` branch as source
- Suggest using feature branches instead for cleaner fork management
- **Target Branch Policy**:
- **New keyboard additions** → `master` branch (new folders under `keyboards/`)
- **All other changes** → `develop` branch:
- Keyboard updates, refactors, or moves
- Core code changes
- Data-driven configuration migrations
- Any modifications to existing keyboards
- **PR Scope**: PRs should contain the smallest set of modifications for a single change
- Flag PRs that modify multiple keyboards simultaneously
- Suggest splitting large PRs into focused, incremental changes
- **Merge Conflicts**: Check for unresolved merge conflicts
### File Naming and Structure
- **Lowercase Requirement**: All new directories and filenames must be lowercase
- Exception: Upstream sources with original uppercase (LUFA, ChibiOS)
- Exception: Core files with valid justification
- **Reject**: Board designer preference for uppercase is NOT valid justification
### License Headers
- **Required**: Valid license headers on all `*.c` and `*.h` files
- **Recommended**: GPL2/GPL3 for consistency
- **Format**: Check for proper GPL2+ header or SPDX identifier
```c
// Copyright 2024 Your Name (@yourgithub)
// SPDX-License-Identifier: GPL-2.0-or-later
```
- **Exception**: Simple assignment-only `rules.mk` files don't need headers
- **Flag**: Missing or ambiguous license headers (blocks merge)
---
## Keymap PR Reviews
**Scope**: These rules apply to files within `keyboards/*/keymaps/*` subdirectories.
### Note on Non-Default Keymaps
- Any keymap folder named something other than `default` (e.g., `default_clueboard`, `via`) is a non-default keymap
- **Do not review the content** of non-default keymaps — flag their presence and note that a QMK Collaborator must review them
### Keymap Code Standards
- **Includes**: `#include QMK_KEYBOARD_H` preferred over specific board files
- **Enums**: Suggest using layer enums instead of `#define`s for layers (soft suggestion only)
- **Custom Keycodes**: First entry must be `QK_USER`
- **VIA**: Keymaps should NOT enable VIA
- VIA keymaps belong in [VIA QMK Userspace](https://github.com/the-via/qmk_userspace_via)
---
## Keyboard PR Reviews
**Scope**: These rules apply to keyboard-level files in `keyboards/*` directories, excluding files within the `keymaps/` subdirectories. This includes:
- `info.json` or `keyboard.json` (keyboard root or variant level)
- `readme.md` (keyboard level)
- `rules.mk` (keyboard level)
- `config.h` (keyboard level, not keymap level)
- `<keyboard>.c` and `<keyboard>.h` files
- Hardware configuration files (`halconf.h`, `mcuconf.h`, `chconf.h`)
### Branch Targeting
- **New Keyboards**: Target `master` branch
- New additions to `keyboards/` folder submit to `master`
- **Keyboard Moves**: Must target `develop` branch
- Check `data/mappings/keyboard_aliases.hjson` is updated for moves
- **Keyboard Updates/Refactors**: Must target `develop` to reduce merge conflicts
- **Data Driven Migration**: Must target `develop`
### info.json and keyboard.json Requirements
- **Schema Validation**: Verify that `info.json` and `keyboard.json` files are valid JSON (no syntax errors, no trailing commas, properly closed brackets)
- **Mandatory Elements**:
- `url` field is present and begins with `http://` or `https://`
- `maintainer` field is present and non-empty
- `usb.vid` and `usb.pid` fields are present and match the `0x` hexadecimal format (e.g. `"vid": "0x1234"`, `"pid": "0xFEED"`)
- `usb.device_version` field is present
- Each key entry in every `layout` array must include a `"matrix"` property (e.g. `{"label": "L01", "matrix": [0, 0], "x": 0, "y": 0}`)
- Microcontroller and bootloader specified
- Diode direction (if not using direct pins)
- **Layout Naming**:
- Single layout: Must be named `LAYOUT` or match `LAYOUT_*` pattern
- Multiple layouts: Must include `LAYOUT_all` plus at least one alternate name
### readme.md Requirements
- **Template**: Must follow [official template](https://github.com/qmk/qmk_firmware/blob/master/data/templates/keyboard/readme.md)
- **Flash Command**: Present with `:flash` at end
- **Hardware Link**: Valid availability link (unless handwired)
- Private groupbuys acceptable
- Open-source should link to files
- **Reset Instructions**: Bootloader reset instructions must be present (non-empty)
- **Images**: A keyboard image is preferred but not mandatory
- If present, images must not be hosted in the repository
- If an imgur URL is used, it must link directly to the image (i.e. `https://i.imgur.com/<id>.<ext>`), not the preview page (i.e. not `https://imgur.com/<id>`)
### rules.mk Standards
- **Removed Items**:
- Size comments like `(-/+size)`
### config.h Standards (Keyboard Level)
- **Prohibited**:
- `#define DESCRIPTION`
- Comment blocks explaining features
- Commented-out unused defines
- `#include "config_common.h"`
- **No Vial**: Vial-related files/changes not accepted
### Keyboard Implementation Files
#### `<keyboard>.c`
- **Advanced Code Flag**: ⚠️ If a `<keyboard>.c` file is present in the PR, flag it as possible advanced code requiring QMK Collaborator review
#### `<keyboard>.h`
- **Include**: `#include "quantum.h"` at top
- **Layout Macros**: If `LAYOUT` macros are present, suggest moving them to `info.json` or `keyboard.json`
### Default Keymap Standards
**Scope**: These rules specifically apply to files within `keyboards/*/keymaps/default/` directories.
- **Pristine Requirement**: Bare minimum clean slate
- ⚠️ If `keymap.c` contains anything beyond the `keymaps[]` array, or if the `default` keymap folder contains additional `.c` or `.h` files, flag this as possible advanced code requiring QMK Collaborator review
- **Removed Examples**: Delete `QMKBEST`/`QMKURL` macros
- **Tri Layer**: Use Tri Layer feature instead of manual `layer_on/off()` + `update_tri_layer()`
- **Encoder Map**: Use encoder map feature, `encoder_update_user()` may not be present
- **No VIA**: Default keymap should not enable VIA
### Prohibited Files
- **No VIA JSON**: Belongs in [VIA Keyboard Repo](https://github.com/the-via/keyboards)
- **No KLE JSON**: Not used within QMK
- **Single Keyboard Per PR**: A PR must not modify more than one `keyboards/<folder>/` directory
- Flag PRs that touch multiple top-level keyboard folders (e.g., both `keyboards/mykeyboard1/` and `keyboards/mykeyboard2/`) — each keyboard must be a separate PR
- **No Cross-Keyboard Sources**: Don't include files from other keyboard vendors
- Exception: Core files (e.g., `drivers/sensors/pmw3360.c`)
- Use of vendor-specific code (e.g., `wilba_tech/wt_main.c`) only when keyboard exists in the same enclosing vendor folder (e.g. a `wilba_tech` keyboard)
---
## Review Response Templates
### For source master branch usage:
```
⚠️ This PR appears to be submitted from your own `master` branch. For future PRs, we recommend using feature branches instead of committing to your `master`. This makes it easier to keep your fork updated and manage multiple PRs.
See: [Best Practices: Your Fork's Master](https://docs.qmk.fm/newbs_git_using_your_master_branch)
```
### For incorrect target branch:
```
❌ This PR targets the wrong branch:
- **New keyboard additions** should target `master`
- **Keyboard updates/refactors/moves** should target `develop`
Please change the target branch accordingly.
```
### For missing license headers:
```
❌ Missing GPL-compatible license headers on the following files:
- [list files]
Please add GPL2+ headers (GPL2/GPL3 recommended). Example:
\`\`\`c
// Copyright 2024 Your Name (@yourgithub)
// SPDX-License-Identifier: GPL-2.0-or-later
\`\`\`
```
### For non-lowercase filenames:
```
❌ The following files/directories must be lowercase:
- [list files]
Exception: Only valid if from upstream sources (LUFA, ChibiOS) or justified by core consistency.
```
### For config.h violations:
```
⚠️ Found prohibited config.h elements:
- [list specific issues: `#define DESCRIPTION`, `#include "config_common.h"`, comment blocks, commented-out defines]
Please remove these and refer to [Data Driven Configuration](https://docs.qmk.fm/data_driven_config).
```
### For info.json or keyboard.json issues:
```
⚠️ info.json or keyboard.json needs attention:
- [list missing mandatory fields]
- Please run: \`qmk format-json -i path/to/info.json\` (or keyboard.json)
- Validate with: \`qmk lint -kb <keyboard_name>\`
```
### For non-pristine default keymap:
```
⚠️ Default keymap requires collaborator review:
The default `keymap.c` contains code beyond the `keymaps[]` array. The following was detected:
- [describe: extra functions/definitions in keymap.c, or additional .c/.h files in the default keymap folder]
A QMK Collaborator must review this before merging.
```
### For non-default keymaps:
```
⚠️ Non-default keymap detected: `keyboards/[path]/keymaps/[name]/`
This keymap requires a QMK Collaborator to review its content. No automated review of its code was performed.
```
### For `<keyboard>.c` detected:
```
⚠️ `<keyboard>.c` file detected: `keyboards/[path]/[keyboard].c`
This file may contain advanced hardware configuration. A QMK Collaborator must review this before merging.
```
---
## Constraints and Conduct
- **Scope**: Only review changes within the `keyboards/` folder. Flag any changes outside `keyboards/` and defer to a QMK Collaborator without reviewing them.
- Focus reviews on **objective checklist items** that can be automatically verified
- Flag **definite violations** with ❌
- Suggest improvements for **recommendations** with ⚠️
- **Provide specific file/line references** when flagging issues
- **Link to relevant QMK documentation** for each issue
- **Prioritize blocking issues** (license, merge conflicts, branch policy)
- **Be constructive**: Suggest fixes, not just problems
- **Do not review non-default keymaps** — flag their presence and defer to a QMK Collaborator
- **Do not review `<keyboard>.c` content in detail** — flag its presence and defer to a QMK Collaborator
This is meant as a **first-pass review** to catch common issues before human review. Complex architectural decisions, code quality, and subjective assessments still require human QMK Collaborator review.

View file

@ -25,7 +25,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
fetch-depth: 1
persist-credentials: false

View file

@ -4,7 +4,7 @@ permissions: {}
on:
schedule:
- cron: "*/5 * * * *"
- cron: "*/30 * * * *"
jobs:
automatic_approve:

View file

@ -28,7 +28,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
fetch-depth: 0

289
.github/workflows/bootstrap_testing.yml vendored Normal file
View file

@ -0,0 +1,289 @@
name: Bootstrap Script Testing
on:
push:
branches: [master, develop, xap]
paths:
- 'util/env-bootstrap.sh'
- '.github/workflows/bootstrap_testing.yml'
pull_request:
paths:
- 'util/env-bootstrap.sh'
- '.github/workflows/bootstrap_testing.yml'
workflow_dispatch:
permissions:
contents: read
jobs:
prep:
runs-on: ubuntu-latest
outputs:
any_changed: ${{ steps.file_changes.outputs.any_changed }}
steps:
- name: Get changed files
id: file_changes
if: ${{ github.event_name == 'pull_request' }}
uses: tj-actions/changed-files@v47
with:
use_rest_api: true
files: |
util/env-bootstrap.sh
.github/workflows/bootstrap_testing.yml
bootstrap-test-linux:
name: Bootstrap (Linux)
needs: prep
if: ${{ github.event_name != 'pull_request' || needs.prep.outputs.any_changed == 'true' }}
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
distribution:
# Ubuntu/Debian based
- debian:11
- debian:12
- debian:13
- ubuntu:22.04
- ubuntu:24.04
- ubuntu:26.04
# RHEL/CentOS/Fedora based
- fedora:42
- fedora:43
- fedora:44
- rockylinux:8
- rockylinux:9
- rockylinux/rockylinux:10
- almalinux:8
- almalinux:9
- almalinux:10
# OpenSUSE based (we skip Tumbleweed as it has issues with package mirrors regularly being out of date)
- opensuse/leap:latest
# Gentoo-based
- gentoo/stage3:latest
# Arch based
- archlinux:latest
- cachyos/cachyos:latest
- manjarolinux/base:latest
container:
image: ${{ matrix.distribution }}
options: --privileged
steps:
- name: Install base dependencies
run: |
# Attempt to run the package installation up to 10 times to mitigate transient network issues
for n in $(seq 1 10); do
{
echo "Attempt #$n of 10 to install base dependencies:"
case "${{ matrix.distribution }}" in
*ubuntu*|*debian*)
apt-get update
apt-get install -y sudo git passwd
;;
*fedora*|*rockylinux*|*almalinux*)
dnf install -y sudo git passwd findutils # findutils=xargs
;;
*suse*)
zypper --non-interactive refresh
zypper --non-interactive install sudo git shadow findutils tar # findutils=xargs
;;
*gentoo*)
emerge-webrsync
emerge --noreplace --ask=n sudo dev-vcs/git shadow findutils # findutils=xargs
;;
*archlinux*|*cachyos*|*manjaro*)
pacman -Syu --noconfirm
pacman -S --noconfirm sudo git
;;
esac
} && break || sleep 10
done
# Fix PAM configuration for sudo in containers
# Fix /etc/shadow permissions - common issue in container environments
chmod 640 /etc/shadow || chmod 400 /etc/shadow || true
# Disable problematic PAM modules that commonly fail in RHEL-like containers
sed -i 's/^session.*pam_systemd.so/#&/' /etc/pam.d/sudo || true
sed -i 's/^session.*pam_loginuid.so/#&/' /etc/pam.d/sudo || true
# Ensure proper sudoers configuration
echo 'Defaults !requiretty' >> /etc/sudoers
echo 'Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"' >> /etc/sudoers
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 1
submodules: recursive
path: qmk_firmware
- name: Create test user
run: |
# Create a test user for the bootstrap script
useradd -m -s /bin/bash -U testuser
echo 'testuser:testpassword' | chpasswd || true
# Configure passwordless sudo
echo "root ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # some distros complain about root not being in sudoers
echo "testuser ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers
# Test sudo functionality
sudo -u testuser whoami || echo "Sudo test failed, but continuing..."
- name: Move QMK repository to test user home
run: |
# Add upstream remote to the cloned repository so `qmk doctor` doesn't flag a warning
git -C qmk_firmware remote add upstream https://github.com/qmk/qmk_firmware.git
# Move the QMK repository to the test user's home directory
mv qmk_firmware /home/testuser/qmk_firmware
chown -R testuser:testuser /home/testuser/qmk_firmware
- name: Run bootstrap script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Ensure the bootstrap script can access sudo
sudo -u testuser --preserve-env=GITHUB_TOKEN bash -c "
export CONFIRM=1
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
cd /home/testuser
bash /home/testuser/qmk_firmware/util/env-bootstrap.sh
"
- name: Install dependencies
run: |
sudo -u testuser bash -c "
/home/testuser/.local/share/uv/tools/qmk/bin/python -m pip install -r /home/testuser/qmk_firmware/requirements.txt
"
- name: Test QMK CLI
run: |
sudo -u testuser bash -c "
export PATH=/home/testuser/.local/bin:\$PATH
cd /home/testuser
qmk setup -y -H /home/testuser/qmk_firmware # setup implies doctor, no need to run it separately
cd /home/testuser/qmk_firmware
qmk mass-compile -j $(nproc) -e DUMP_CI_METADATA=yes -f 'keyboard_name==*onekey*' -km reset -p || touch .failed # Compile a bunch of different platforms
"
cd /home/testuser/qmk_firmware
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
[ ! -e .failed ] || exit 1
bootstrap-test-macos:
name: Bootstrap (macOS)
needs: prep
if: ${{ github.event_name != 'pull_request' || needs.prep.outputs.any_changed == 'true' }}
strategy:
fail-fast: false
matrix:
os:
- macos-14 # Apple Silicon ARM64
- macos-15 # Apple Silicon ARM64
- macos-15-intel # Intel x64
- macos-26 # Apple Silicon ARM64
runs-on: ${{ matrix.os }}
steps:
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 1
submodules: recursive
- name: Run bootstrap script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Add upstream remote to the cloned repository so `qmk doctor` doesn't flag a warning
git remote add upstream https://github.com/qmk/qmk_firmware.git
# Run the bootstrap script
export CONFIRM=1
sh ./util/env-bootstrap.sh
- name: Install dependencies
run: |
$HOME/.local/share/uv/tools/qmk/bin/python -m pip install -r requirements.txt
- name: Test QMK CLI
run: |
# Add QMK CLI to PATH (bootstrap script installs it to ~/.local/bin on macOS)
export PATH="$HOME/.local/bin:$PATH"
qmk setup -y -H . # setup implies doctor, no need to run it separately
qmk mass-compile -j $(sysctl -n hw.ncpu) -e DUMP_CI_METADATA=yes -f 'keyboard_name==*onekey*' -km reset || touch .failed # Compile a bunch of different platforms
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
[ ! -e .failed ] || exit 1
bootstrap-test-windows:
name: Bootstrap (Windows)
needs: prep
if: ${{ github.event_name != 'pull_request' || needs.prep.outputs.any_changed == 'true' }}
strategy:
fail-fast: false
matrix:
msys-variant:
- mingw64
- clang64
- ucrt64
runs-on: windows-latest
defaults:
run:
shell: msys2 {0}
steps:
- name: Install MSYS2
uses: msys2/setup-msys2@v2
with:
msystem: ${{ matrix.msys-variant }}
pacboy: >-
git:
- name: Checkout repository
uses: actions/checkout@v7
with:
fetch-depth: 1
submodules: recursive
- name: Run bootstrap script
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
run: |
# Add upstream remote to the cloned repository so `qmk doctor` doesn't flag a warning
git remote add upstream https://github.com/qmk/qmk_firmware.git
# Run the bootstrap script
export CONFIRM=1
sh ./util/env-bootstrap.sh
- name: Install dependencies
run: |
/opt/uv/tools/qmk/Scripts/python -m pip install -r requirements.txt
- name: Test QMK CLI
run: |
# Add QMK CLI to PATH (bootstrap script installs it to /opt/uv/tools/bin on Windows MSYS2)
export PATH="/opt/uv/tools/bin:$PATH"
qmk setup -y -H . # setup implies doctor, no need to run it separately
qmk mass-compile -j $(nproc) -e DUMP_CI_METADATA=yes -f 'keyboard_name==*onekey*' -km reset || touch .failed # Compile a bunch of different platforms
./util/ci/generate_failure_markdown.sh > $GITHUB_STEP_SUMMARY || true
[ ! -e .failed ] || exit 1

View file

@ -32,29 +32,36 @@ jobs:
container: ghcr.io/qmk/qmk_cli
outputs:
keymaps: ${{ steps.generate_slice_length.outputs.keymaps }}
slice_length: ${{ steps.generate_slice_length.outputs.slice_length }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v7
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Determine concurrency
id: generate_slice_length
shell: 'bash {0}'
run: |
target_count=$( {
qmk find -km default 2>/dev/null
qmk find -km xap 2>/dev/null
} | sort | uniq | wc -l)
targets=()
target_count=0
for target in "default" "xap"; do
count=$(qmk find -km $target 2>/dev/null | wc -l)
if [ $count -gt 0 ]; then
target_count=$(($target_count + $count))
targets+=($target)
fi
done
keymaps=$(jq -c -n '$ARGS.positional' --args "${targets[@]}")
slice_length=$((target_count / ($CONCURRENT_JOBS - 1))) # Err on the side of caution
echo "keymaps=$keymaps" >> $GITHUB_OUTPUT
echo "slice_length=$slice_length" >> $GITHUB_OUTPUT
build_targets:
@ -63,7 +70,7 @@ jobs:
strategy:
fail-fast: false
matrix:
keymap: [default, xap]
keymap: ${{ fromJson(needs.determine_concurrency.outputs.keymaps) }}
uses: ./.github/workflows/ci_build_major_branch_keymap.yml
with:
branch: ${{ inputs.branch || github.ref_name }}
@ -82,12 +89,12 @@ jobs:
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
fetch-depth: 0
- name: Download firmwares
uses: actions/download-artifact@v6
uses: actions/download-artifact@v8
with:
pattern: firmware-*
path: .
@ -125,14 +132,7 @@ jobs:
SOURCE_DIR: .
DEST_DIR: ${{ inputs.branch || github.ref_name }}/latest
- name: Check if failure marker file exists
id: check_failure_marker
uses: andstor/file-existence-action@v3
with:
files: ./.failed
- name: Fail build if needed
if: steps.check_failure_marker.outputs.files_exists == 'true'
run: |
# Exit with failure if the compilation stage failed
exit 1
[ ! -e .failed ] || exit 1

View file

@ -27,30 +27,29 @@ jobs:
targets: ${{ steps.generate_targets.outputs.targets }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v7
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Generate build targets
shell: 'bash {0}'
id: generate_targets
run: |
{ # Intentionally use `shuf` here so that we share manufacturers across all build groups -- some have a lot of ARM-based boards which inherently take longer
counter=0
echo -n '{'
qmk find -km ${{ inputs.keymap }} 2>/dev/null | sort | uniq | shuf | xargs -L${{ inputs.slice_length }} | while IFS=$'\n' read target ; do
qmk find -km ${{ inputs.keymap }} 2>/dev/null | sort | uniq | shuf --random-source=<(openssl enc -aes-256-ctr -pass pass:qmk -nosalt </dev/zero 2>/dev/null) | xargs -L${{ inputs.slice_length }} | while IFS=$'\n' read target ; do
if [ $counter -gt 0 ]; then
echo -n ','
fi
counter=$((counter+1))
printf "\"group %02d\":{" $counter
printf "\"group-%02d\":{" $counter
echo -n '"targets":"'
echo $target | tr ' ' '\n' | sort | uniq | xargs echo -n
echo -n '"}'
@ -62,7 +61,7 @@ jobs:
echo "targets=$(jq -c 'keys' targets.json)" >> $GITHUB_OUTPUT
- name: Upload targets json
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v7
with:
name: targets-${{ inputs.keymap }}
path: targets.json
@ -74,45 +73,76 @@ jobs:
container: ghcr.io/qmk/qmk_cli
continue-on-error: true
env:
CCACHE_CONFIGPATH: ~/.cache
strategy:
matrix:
target: ${{ fromJson(needs.generate_targets.outputs.targets) }}
steps:
- name: Install prerequisites
run: |
apt-get update
apt-get install -y jq
- name: Disable safe.directory check
run: |
git config --global --add safe.directory '*'
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v7
with:
submodules: recursive
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Get target definitions
uses: actions/download-artifact@v6
uses: actions/download-artifact@v8
with:
name: targets-${{ inputs.keymap }}
path: .
- name: Deploy submodules
run: |
qmk git-submodule -f
- name: Dump targets
run: |
jq -r '.["${{ matrix.target }}"].targets' targets.json | tr ' ' '\n' | sort
- name: Restore Cache
id: cache
uses: actions/cache/restore@v6
with:
path: ${{ env.CCACHE_CONFIGPATH }}
key: compile-${{ inputs.keymap }}-${{ matrix.target }}
- name: Build targets
continue-on-error: true
run: |
export NCPUS=$(( $(nproc 2>/dev/null || sysctl -n hw.ncpu 2>/dev/null || getconf _NPROCESSORS_ONLN 2>/dev/null) -1 ))
qmk mass-compile -t -j $NCPUS -e DUMP_CI_METADATA=yes $(jq -r '.["${{ matrix.target }}"].targets' targets.json) || touch .failed
targets=$(jq -r '.["${{ matrix.target }}"].targets' targets.json | tr ' ' '\n' | sort)
if [ -z "${targets}" ]; then
echo "Zero build targets detected"
exit 0
fi
qmk mass-compile -t -j $(nproc) -e DUMP_CI_METADATA=yes -e USE_CCACHE=yes $targets || touch .failed
- name: Dump ccache stats
run: |
ccache -s
# Delete the old cache on hit to emulate a cache update. See https://github.com/actions/cache/issues/342.
- name: Delete old cache
env:
GH_TOKEN: ${{ github.token }}
if: steps.cache.outputs.cache-hit
run: |
count=$(gh cache list --ref ${{ github.ref }} --key ${{ steps.cache.outputs.cache-primary-key }} --json id | jq length)
if [ $count -gt 0 ]; then
gh cache delete --ref ${{ github.ref }} ${{ steps.cache.outputs.cache-primary-key }}
fi
- name: Save Cache
uses: actions/cache/save@v6
with:
path: ${{ env.CCACHE_CONFIGPATH }}
key: compile-${{ inputs.keymap }}-${{ matrix.target }}
- name: Upload binaries
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v7
with:
name: firmware-${{ inputs.keymap }}-${{ matrix.target }}
if-no-files-found: ignore
@ -136,17 +166,17 @@ jobs:
steps:
- name: Checkout QMK Firmware
uses: actions/checkout@v5
uses: actions/checkout@v7
- name: Download firmwares
uses: actions/download-artifact@v6
uses: actions/download-artifact@v8
with:
pattern: firmware-${{ inputs.keymap }}-*
path: .
merge-multiple: true
- name: Upload all firmwares
uses: actions/upload-artifact@v5
uses: actions/upload-artifact@v7
with:
name: firmware-${{ inputs.keymap }}
if-no-files-found: ignore
@ -165,7 +195,7 @@ jobs:
truncate --size='<960K' $GITHUB_STEP_SUMMARY || true
- name: Delete temporary build artifacts
uses: geekyeggo/delete-artifact@v5
uses: geekyeggo/delete-artifact@v6
with:
name: |
firmware-${{ inputs.keymap }}-*

View file

@ -24,11 +24,12 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
submodules: recursive
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Run tests
run: qmk pytest

34
.github/workflows/develop_docs.yml vendored Normal file
View file

@ -0,0 +1,34 @@
name: Generate Develop Docs
permissions:
contents: write
on:
push:
branches:
- develop
paths:
- 'builddefs/docsgen/**'
- 'tmk_core/**'
- 'quantum/**'
- 'platforms/**'
- 'docs/**'
- '.github/workflows/docs.yml'
jobs:
generate:
runs-on: ubuntu-latest
steps:
- name: Deploy Develop
if: ${{ github.repository == 'qmk/qmk_firmware' }}
uses: actions/github-script@v9
with:
github-token: ${{ secrets.QMK_BOT_TOKEN }}
script: |
const result = await github.rest.actions.createWorkflowDispatch({
owner: 'qmk',
repo: 'qmk_docs_devel',
workflow_id: 'develop.yml',
ref: 'main',
})

View file

@ -15,7 +15,7 @@ jobs:
if: github.repository == 'qmk/qmk_firmware'
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0

View file

@ -30,14 +30,15 @@ jobs:
container: ghcr.io/qmk/qmk_cli
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
fetch-depth: 1
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Install nvm
run: |
apt-get update && apt-get install -y rsync doxygen
# install nvm
touch $HOME/.bashrc
wget -qO- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash
@ -56,7 +57,7 @@ jobs:
- name: Deploy
if: ${{ github.event_name == 'push' && github.repository == 'qmk/qmk_firmware' }}
uses: JamesIves/github-pages-deploy-action@v4.7.4
uses: JamesIves/github-pages-deploy-action@v4.8.0
with:
token: ${{ secrets.GITHUB_TOKEN }}
branch: gh-pages

View file

@ -21,7 +21,7 @@ jobs:
- riot
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
token: ${{ secrets.QMK_BOT_TOKEN }}
fetch-depth: 0

View file

@ -26,7 +26,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
fetch-depth: 0

View file

@ -19,7 +19,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
fetch-depth: 0
@ -47,7 +47,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@v8
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}

View file

@ -18,7 +18,7 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
fetch-depth: 0
@ -31,7 +31,7 @@ jobs:
with:
use_rest_api: true
- name: Print info
- name: Print git info
run: |
git rev-parse --short HEAD
echo ${{ github.event.pull_request.base.sha }}
@ -57,7 +57,7 @@ jobs:
if [[ $KEYMAP_ONLY -gt 0 ]]; then
echo "linting ${KB}"
qmk lint --keyboard ${KB} && qmk info -l --keyboard ${KB}
qmk lint --strict --keyboard ${KB} && qmk info -l --keyboard ${KB}
exit_code=$(($exit_code + $?))
fi
done
@ -78,10 +78,21 @@ jobs:
fi
exit $exit_code
- name: Verify keyboard aliases
- name: Reset git repo
if: always()
shell: 'bash {0}'
run: |
git reset --hard
git clean -xfd
- name: Verify keyboard targets
if: always()
shell: 'bash {0}'
run: |
qmk ci-validate-keyboard-targets
- name: Verify keyboard aliases
if: always()
shell: 'bash {0}'
run: |
qmk ci-validate-aliases

View file

@ -8,6 +8,9 @@ on:
paths:
- 'data/constants/**'
- 'lib/python/**'
- 'quantum/rgblight/rgblight_breathe_table.h'
- 'quantum/keycodes.h'
- 'quantum/keymap_extras/**'
jobs:
regen:
@ -19,7 +22,10 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v7
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Run qmk generators
run: |

View file

@ -19,7 +19,10 @@ jobs:
- name: Disable safe.directory check
run : git config --global --add safe.directory '*'
- uses: actions/checkout@v5
- uses: actions/checkout@v7
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Run qmk generators
run: |
@ -34,7 +37,7 @@ jobs:
git config user.email 'hello@qmk.fm'
- name: Create Pull Request
uses: peter-evans/create-pull-request@v7
uses: peter-evans/create-pull-request@v8
if: ${{ github.repository == 'qmk/qmk_firmware'}}
with:
token: ${{ secrets.QMK_BOT_TOKEN }}

View file

@ -11,6 +11,7 @@ on:
pull_request:
paths:
- 'builddefs/**'
- '!builddefs/docsgen/**'
- 'quantum/**'
- 'platforms/**'
- 'tmk_core/**'
@ -26,10 +27,12 @@ jobs:
container: ghcr.io/qmk/qmk_cli
steps:
- uses: actions/checkout@v5
- uses: actions/checkout@v7
with:
submodules: recursive
- name: Install dependencies
run: pip3 install -r requirements-dev.txt
- name: Run tests
run: qmk test-c
run: qmk test-c -j $(nproc)

2
.gitignore vendored
View file

@ -65,6 +65,8 @@ cmake-build-debug
CMakeLists.txt
*.pdf
*.zip
.env
.envrc
# Let these ones be user specific, since we have so many different configurations
*.code-workspace

View file

@ -1,4 +1,4 @@
ifndef VERBOSE
ifneq ($(VERBOSE),true)
.SILENT:
endif
@ -38,14 +38,17 @@ $(info QMK Firmware $(QMK_VERSION))
endif
endif
# Try to determine userspace from qmk config, if set.
ifeq ($(QMK_USERSPACE),)
QMK_USERSPACE = $(shell qmk config -ro user.overlay_dir | cut -d= -f2 | sed -e 's@^None$$@@g')
endif
# Determine which qmk cli to use
QMK_BIN := qmk
# Try to determine userspace from qmk config, if set. Handle direct query on qmk_cli>=1.1.7
# falling back to legacy method of only supporting user.overlay_dir config
# sort is used to buffer 'qmk env' output and avoid BrokenPipeError errors
export override QMK_USERSPACE := $(shell \
$(QMK_BIN) env | sort | grep -q QMK_USERSPACE \
&& $(QMK_BIN) env QMK_USERSPACE \
|| $(QMK_BIN) config -ro user.overlay_dir | cut -d= -f2 | sed -e 's@^None$$@@g')
# avoid 'Entering|Leaving directory' messages
MAKEFLAGS += --no-print-directory
@ -115,7 +118,7 @@ endef
TRY_TO_MATCH_RULE_FROM_LIST = $(eval $(call TRY_TO_MATCH_RULE_FROM_LIST_HELPER,$1))$(RULE_FOUND)
# As TRY_TO_MATCH_RULE_FROM_LIST_HELPER, but with additional
# resolution of keyboard_aliases.hjson for provided rule
# resolution of keyboard_aliases.hjson for provided rule
define TRY_TO_MATCH_RULE_FROM_LIST_HELPER_KB
# Split on ":", padding with empty strings to avoid indexing issues
TOKEN1:=$$(shell python3 -c "import sys; print((sys.argv[1].split(':',1)+[''])[0])" $$(RULE))
@ -190,41 +193,9 @@ endef
# Parses a rule in the format <keymap>:<target>
# the keyboard is already known when entering this function
define PARSE_KEYBOARD
# If we want to compile the default subproject, then we need to
# include the correct makefile to determine the actual name of it
CURRENT_KB := $1
# 5/4/3/2/1
KEYBOARD_FOLDER_PATH_1 := $$(CURRENT_KB)
KEYBOARD_FOLDER_PATH_2 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_1)))
KEYBOARD_FOLDER_PATH_3 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_2)))
KEYBOARD_FOLDER_PATH_4 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_3)))
KEYBOARD_FOLDER_PATH_5 := $$(patsubst %/,%,$$(dir $$(KEYBOARD_FOLDER_PATH_4)))
KEYMAPS :=
# get a list of all keymaps
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.)))
ifneq ($(QMK_USERSPACE),)
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_1)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_2)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_3)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_4)/keymaps/*/.)))
KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/keyboards/$$(KEYBOARD_FOLDER_PATH_5)/keymaps/*/.)))
endif
KEYBOARD_LAYOUTS := $(shell $(QMK_BIN) list-layouts --keyboard $1)
LAYOUT_KEYMAPS :=
$$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(ROOT_DIR)/layouts/*/$$(LAYOUT)/*/.)))))
ifneq ($(QMK_USERSPACE),)
$$(foreach LAYOUT,$$(KEYBOARD_LAYOUTS),$$(eval LAYOUT_KEYMAPS += $$(notdir $$(patsubst %/.,%,$$(wildcard $(QMK_USERSPACE)/layouts/$$(LAYOUT)/*/.)))))
endif
KEYMAPS := $$(sort $$(KEYMAPS) $$(LAYOUT_KEYMAPS))
KEYMAPS := $(shell $(QMK_BIN) list-keymaps --keyboard $1)
# if the rule after removing the start of it is empty (we haven't specified a kemap or target)
# compile all the keymaps
@ -329,6 +300,7 @@ endef
define BUILD_TEST
TEST_PATH := $1
TEST_NAME := $$(notdir $$(TEST_PATH))
TEST_ID := $$(patsubst ./tests/%,%,$$(TEST_PATH))
TEST_FULL_NAME := $$(subst /,_,$$(patsubst $$(ROOT_DIR)tests/%,%,$$(TEST_PATH)))
MAKE_TARGET := $2
COMMAND := $1
@ -342,7 +314,7 @@ define BUILD_TEST
TEST_MSG := $$(MSG_TEST)
$$(TEST_FULL_NAME)_COMMAND := \
printf "$$(TEST_MSG)\n"; \
$$(TEST_EXECUTABLE); \
$$(TEST_EXECUTABLE) --gtest_color=$$(COLOR); \
if [ $$$$? -gt 0 ]; \
then error_occurred=1; \
fi; \
@ -480,16 +452,17 @@ distclean_userspace: clean
endif
# Extra targets for formatting and/or pytest, running within the qmk/qmk_cli container to match GHA.
CONTAINER_PREAMBLE := export HOME="/tmp"; export PATH="/tmp/.local/bin:\$$PATH"; python3 -m pip install --upgrade pip; python3 -m pip install -r requirements-dev.txt
.PHONY: format-core
format-core:
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a"
RUNTIME=docker ./util/docker_cmd.sh qmk format-c --core-only -a
RUNTIME=docker ./util/docker_cmd.sh qmk format-python -a
.PHONY: pytest
pytest:
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk pytest"
RUNTIME=docker ./util/docker_cmd.sh qmk pytest
.PHONY: format-and-pytest
format-and-pytest:
RUNTIME=docker ./util/docker_cmd.sh bash -lic "$(CONTAINER_PREAMBLE); qmk format-c --core-only -a && qmk format-python -a && qmk pytest"
RUNTIME=docker ./util/docker_cmd.sh qmk format-c --core-only -a
RUNTIME=docker ./util/docker_cmd.sh qmk format-python -a
RUNTIME=docker ./util/docker_cmd.sh qmk pytest

Some files were not shown because too many files have changed in this diff Show more