QMK Bot
96ee4c21a3
Merge remote-tracking branch 'origin/master' into develop
2025-08-03 03:01:47 +00:00
Joel Challis
ae07dee941
Improve 'new-keymap' error handling when default keymap is missing ( #25536 )
2025-08-03 04:01:13 +01:00
Joel Challis
865c29f4de
Ensure keyboard aliases do not point to themselves ( #25500 )
2025-07-17 13:36:04 +01:00
Joel Challis
507c948ed8
Allow `qmk flash <filename>` to flash AT32 boards ( #25497 )
2025-07-16 14:56:29 +01:00
Joel Challis
f0b04b2a3a
Only userspace should be searched for keyboard aliases when locating keymaps ( #25477 )
2025-07-14 14:47:21 +01:00
Joel Challis
a1a5869ef8
Add MATRIX_MASKED DD config ( #25383 )
2025-06-27 08:17:45 +01:00
QMK Bot
02bed7e5a5
Merge remote-tracking branch 'origin/master' into develop
2025-06-15 01:56:45 +00:00
Nick Brassel
7f9ceef3dd
More compiledb fixes. ( #25355 )
2025-06-15 11:56:10 +10:00
QMK Bot
ef6e9a5312
Merge remote-tracking branch 'origin/master' into develop
2025-06-11 04:30:11 +00:00
Nick Brassel
0516cf5ed8
Specify language standard when generating compilation database. ( #25354 )
2025-06-11 14:29:37 +10:00
Joel Challis
0326355edc
Remove `DEFAULT_FOLDER` handling ( #23281 )
2025-06-09 05:08:56 +01:00
Pablo Martínez
955809bd5a
Add `compiler_support.h` ( #25274 )
2025-05-22 23:31:15 +10:00
Nick Brassel
919e2a4f5c
Use relative paths for schemas, instead of $id. Enables VScode validation. ( #25251 )
2025-05-19 22:10:39 +10:00
Stefan Kerkmann
f686ad9e63
[Core] STM32G0x1 support ( #24301 )
2025-05-19 15:51:28 +10:00
Pascal Getreuer
f4171412a6
Enable community modules to define LED matrix and RGB matrix effects. ( #25187 )
...
Co-authored-by: Joel Challis <git@zvecr.com>
2025-05-12 09:30:19 +10:00
Nick Brassel
ac991405d0
Deprecate `qmk generate-compilation-database`. ( #25237 )
2025-05-06 09:52:41 +10:00
Joel Challis
614b631ee2
Ensure `qmk_userspace_paths` maintains detected order ( #25204 )
2025-05-05 03:43:14 +01:00
Joel Challis
5f31d5cc80
Resolve alias for `qmk new-keymap` keyboard prompts ( #25210 )
2025-05-05 11:14:40 +10:00
Joel Challis
dbe30a1b6f
Generate versions to keycode headers ( #25219 )
2025-05-05 10:44:08 +10:00
QMK Bot
a992e32bd5
Merge remote-tracking branch 'origin/master' into develop
2025-05-05 00:23:26 +00:00
Joel Challis
cf5ce64b1b
Workaround for resolving keyboard alias for config file values ( #25228 )
2025-05-05 10:22:51 +10:00
Drashna Jaelre
12caf0be4e
Add additional hooks for Community modules ( #25050 )
2025-05-05 10:21:47 +10:00
Joel Challis
8244659b44
Extend lint checks to reject duplication of defaults ( #25149 )
2025-04-24 05:39:56 +01:00
QMK Bot
24d896ca06
Merge remote-tracking branch 'origin/master' into develop
2025-04-23 02:10:54 +00:00
Joel Challis
da2e897f55
Update 'qmk generate-api' to only publish pure DD keymaps ( #24782 )
2025-04-23 12:10:14 +10:00
Joel Challis
8cd71917ce
Avoid duplication in generated community modules `rules.mk` ( #25135 )
2025-04-23 10:27:47 +10:00
Joel Challis
83818d1d6f
Prompt for converter when creating new keymap ( #25116 )
2025-04-22 17:59:16 +01:00
Joel Challis
ec324af22e
Add lint warning for empty url ( #25182 )
2025-04-21 20:07:05 +01:00
QMK Bot
c8763c9fdb
Merge remote-tracking branch 'origin/master' into develop
2025-04-19 22:10:27 +00:00
Joel Challis
edf34315af
Fix 'Would you like to clone the submodules?' prompt under msys ( #24958 )
2025-04-20 08:09:54 +10:00
Joel Challis
e27dd0f26f
Exclude external userspace from lint checking ( #24680 )
2025-04-11 22:19:02 +10:00
QMK Bot
4dc846f21c
Merge remote-tracking branch 'origin/master' into develop
2025-04-09 00:15:49 +00:00
Nick Brassel
575abc48a3
More Windows->Unix style path fixes. ( #25119 )
2025-04-09 10:15:14 +10:00
QMK Bot
4d3726050e
Merge remote-tracking branch 'origin/master' into develop
2025-04-05 21:22:08 +00:00
Joel Challis
625d62efdf
Fix 'qmk lint -kb' argument handling ( #25093 )
2025-04-06 07:21:04 +10:00
Pascal Getreuer
da166d4d8b
Add "license" field to Community Module JSON schema. ( #25085 )
...
Add "license" field to community module schema.
2025-04-01 16:06:42 +11:00
Nick Brassel
1a6a9a7c77
[Modules] Provide access to current path in `rules.mk`. ( #25061 )
2025-03-26 10:30:45 +00:00
Stefan Kerkmann
c9d62ddc78
[Core] use `keycode_string` in unit tests ( #25042 )
...
* tests: use keycode_string feature
With a proper keycode to string implementation in qmk there is no need
to use the unit tests only implementation anymore.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
* tests: remove keycode_util feature
This feature is no longer used as we switched the tests to the
keycode string implementation.
Signed-off-by: Stefan Kerkmann <karlk90@pm.me>
2025-03-21 08:47:22 +01:00
Joel Challis
f820a186d4
Align to latest CLI dependencies ( #24553 )
...
* Align to latest CLI dependencies
* Update docs
2025-03-20 14:04:10 +11:00
Nick Brassel
386a5019a8
Fixup MSYS + unix-style paths in Community Modules. ( #25012 )
...
Fixup MSYS + unix-style paths.
2025-03-19 12:45:28 +11:00
Nick Brassel
1efc82403b
Community modules ( #24848 )
2025-02-26 22:25:41 +11:00
Joel Challis
110cc0923b
Reject readme dummy content ( #24913 )
2025-02-16 10:22:57 +00:00
Joel Challis
37e234252e
Extend lint to reject 'blank' files ( #23994 )
2025-02-12 17:16:27 +00:00
QMK Bot
14c7164b01
Merge remote-tracking branch 'origin/master' into develop
2025-02-08 12:18:11 +00:00
Joel Challis
2699e2f7c8
Avoid WindowsPath errors for 'qmk format-text' ( #24905 )
2025-02-08 12:17:35 +00:00
Ryan
273d8d6a1a
`qmk docs`: restore `--port` and `--browser` arguments ( #24623 )
...
* `qmk docs`: restore `--port` and `--browser` arguments
* Make docs command args always a list
2025-02-01 21:19:30 +11:00
Joel Challis
0c14fc3a21
Resolve keyboard_aliases when processing keyboard make targets ( #24834 )
2025-01-30 06:22:05 +11:00
QMK Bot
cfcb8488ed
Merge remote-tracking branch 'origin/master' into develop
2025-01-29 19:18:02 +00:00
Joel Challis
76b5cef793
Reject keyboard.json next to info.json ( #24882 )
2025-01-30 06:17:29 +11:00
Pascal Getreuer
544ddde113
[Core] Add Chordal Hold, an "opposite hands rule" tap-hold option similar to Achordion, Bilateral Combinations. ( #24560 )
...
* Chordal Hold: restrict what chords settle as hold
* Chordal Hold: docs and further improvements
* Fix formatting.
* Doc rewording and minor edit.
* Support Chordal Hold of multiple tap-hold keys.
* Fix formatting.
* Simplification and additional test.
* Fix formatting.
* Tighten tests.
* Add test two_mod_taps_same_hand_hold_til_timeout.
* Revise handing of pairs of tap-hold keys.
* Generate a default chordal_hold_layout.
* Document chordal_hold_handedness().
* Add license notice to new and branched files in PR.
* Add `tapping.chordal_hold` property for info.json.
* Update docs/reference_info_json.md
* Revise "hand" jsonschema.
* Chordal Hold: Improved layout handedness heuristic.
This commit improves the heuristic used in generate-keyboard-c for
inferring key handedness from keyboard.json geometry data.
Heuristic summary:
1. If the layout is symmetric (e.g. most split keyboards), guess the
handedness based on the sign of (x - layout_x_midpoint).
2. Otherwise, if the layout has a key of >=6u width, it is probably the
spacebar. Form a dividing line through the spacebar, nearly vertical
but with a slight angle to follow typical row stagger.
3. Otherwise, assume handedness based on the widest horizontal
separation.
I have tested this strategy on a couple dozen keyboards and found it to
work reliably.
* Use Optional instead of `| None`.
* Refactor to avoid lambdas.
* Remove trailing comma in chordal_hold_layout.
* Minor docs edits.
* Revise to allow combining multiple same-hand mods.
This commit revises Chordal Hold as described in discussion in
https://github.com/qmk/qmk_firmware/pull/24560#discussion_r1894655238
1. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RCTL_T(KC_A)↑" before the tapping
term, RCTL_T(KC_A) is settled as tapped.
2. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, RSFT_T(KC_C)↑", both RCTL_T(KC_A)
and RSFT_T(KC_C) are settled as tapped.
3. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, KC_U↓" (all keys on the same side),
both RCTL_T(KC_A) and RSFT_T(KC_C) are settled as tapped.
4. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓, LSFT_T(KC_T)↓", with the third key
on the other side, we allow Permissive Hold or Hold On Other Keypress
to decide how/when to settle the keys.
5. In "RCTL_T(KC_A)↓, RSFT_T(KC_C)↓" held until the tapping term, the
keys are settled as held.
1–3 provide same-hand roll protection. 4–5 are for combining multiple
same-hand modifiers.
I've updated the unit tests and have been running it on my keyboard, for
a few hours so far, and all seems good. I really like this scheme. It
allows combining same-side mods, yet it also has roll protection on
streaks. For me, this feels like Achordion, but clearly better streak
handling and improved responsiveness.
* Fix formatting.
* Add a couple tests with LT keys.
* Remove stale use of CHORDAL_HOLD_LAYOUT.
* Fix misspelling lastest -> latest
* Handling tweak for LTs and tests.
* Fix formatting.
* More tests with LT keys.
* Fix formatting.
2025-01-27 12:32:23 +01:00
Joel Challis
d30cd87556
Update via2json layout macro searching ( #24640 )
2025-01-20 03:45:47 +00:00
Joel Challis
f9430e530b
Ensure `qmk flash` rejects invalid files for uf2 compatible bootloaders ( #24802 )
...
Ensure 'qmk flash' rejects invalid files for uf2 compatible bootloaders
2025-01-10 16:21:07 +00:00
QMK Bot
4d182ec117
Merge remote-tracking branch 'origin/master' into develop
2025-01-01 01:59:15 +00:00
Joel Challis
53680fa6da
Fix g_led_config parse warning ( #24769 )
2025-01-01 01:58:41 +00:00
QMK Bot
92534d8e3d
Merge remote-tracking branch 'origin/master' into develop
2024-12-27 19:43:49 +00:00
Joel Challis
f549948bbd
Skip parsing g_led_config when matrix_size is missing ( #24739 )
2024-12-28 06:42:54 +11:00
Ryan
0f3993b9a3
default_keyboard.h generation tweaks ( #24715 )
2024-12-15 19:06:05 +00:00
QMK Bot
cb7608b9e2
Merge remote-tracking branch 'origin/master' into develop
2024-12-15 04:00:50 +00:00
Joel Challis
767dfbbd3f
Resolve `cli.log.warn` warnings ( #24551 )
2024-12-15 15:00:18 +11:00
jack
0228806ae8
Change `new-keymap` keymap name prompt ( #24701 )
2024-12-11 12:28:30 -08:00
Ryan
1da8aa8259
Improve "feature/encoder config both specified" warnings ( #24641 )
2024-11-30 05:30:45 +00:00
Nick Brassel
7d8f193988
Allow codegen of `keymap.json` => `keymap.c` without requiring layers/layout etc. ( #23451 )
2024-11-24 20:32:30 +11:00
Ryan
65a8a5ff69
`qmk find`: expand operator support ( #24468 )
2024-11-21 22:57:36 +11:00
HorrorTroll
39161b9ee7
Added MCU support for ArteryTek AT32F415 ( #23445 )
2024-11-21 17:28:28 +11:00
QMK Bot
074bbbfb21
Merge remote-tracking branch 'origin/master' into develop
2024-11-21 06:22:51 +00:00
Ryan
638b22d057
`qmk new-keyboard`: separate dev board and MCU selection ( #24548 )
2024-11-21 17:22:14 +11:00
Ryan
9bea332a21
`qmk via2json`: Improve macro parsing ( #24345 )
2024-11-21 17:20:05 +11:00
Ryan
8cbcdcac62
`qmk new-keymap`: validate keymap name ( #23420 )
2024-11-21 17:18:51 +11:00
Pablo Martínez
88afd53b1f
[CLI] Refactor painter arguments to table instead of commandline ( #24456 )
...
Co-authored-by: Nick Brassel <nick@tzarc.org>
2024-11-21 17:16:46 +11:00
QMK Bot
f8b4e24d37
Merge remote-tracking branch 'origin/master' into develop
2024-11-14 09:43:56 +00:00
Nick Brassel
a8a47c4011
Perform test compiles during `qmk doctor`. ( #24282 )
...
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2024-11-14 20:43:23 +11:00
QMK Bot
b17322b9b8
Merge remote-tracking branch 'origin/master' into develop
2024-11-08 04:57:57 +00:00
Nick Brassel
580d18d2e9
Speed improvements to `qmk find`. ( #24385 )
2024-11-08 04:57:22 +00:00
Joel Challis
292e0af293
Bump minimum required Python version ( #24554 )
2024-10-31 23:21:20 +00:00
QMK Bot
f1f875063c
Merge remote-tracking branch 'origin/master' into develop
2024-10-30 11:27:27 +00:00
Joel Challis
465cbc87de
Handle 'MILCInterface' object has no attribute 'log_level' error ( #24549 )
2024-10-30 11:26:53 +00:00
QMK Bot
114b3db96a
Merge remote-tracking branch 'origin/master' into develop
2024-10-30 05:17:31 +00:00
Joel Challis
e6daffce46
Handle `cli._subcommand.__name__` deprecation warning ( #24533 )
2024-10-30 05:16:59 +00:00
QMK Bot
64f533fa47
Merge remote-tracking branch 'origin/master' into develop
2024-09-13 20:53:01 +00:00
Sergey Vlasov
0b3ece1189
`qmk find`: Fix handling of keys with dots in filter functions ( #24393 )
2024-09-14 06:52:31 +10:00
Joel Challis
3bd303f204
Remove `arm_atsam` platform ( #24337 )
2024-09-02 03:48:17 +01:00
Joel Challis
7a4f21d340
Reject via keymaps in lint ( #24325 )
2024-08-26 03:56:03 +01:00
Nick Brassel
5741eb7b10
Fixup python tests for missing `via` keymaps.
2024-08-26 09:57:35 +10:00
QMK Bot
5f8aaf236f
Merge remote-tracking branch 'origin/master' into develop
2024-08-15 13:37:59 +00:00
Joel Challis
39324e642f
Update Discord URL ( #24283 )
2024-08-15 14:37:27 +01:00
QMK Bot
2c6409fdd8
Merge remote-tracking branch 'origin/master' into develop
2024-08-12 12:34:54 +00:00
Nick Brassel
380e0c9cad
Userspace: add support for adding environment variables during build ( #22887 )
2024-08-12 22:34:22 +10:00
Joel Challis
783f97ff32
Remove handling of keyboard level keymap templates ( #24234 )
2024-08-12 22:29:05 +10:00
Ryan
1f942bb17e
Small tweaks to keymap generation ( #24240 )
2024-08-04 12:28:40 +01:00
Ryan
9f387f525c
Remove `handwired/pytest/has_template` ( #24232 )
2024-08-03 16:55:02 +01:00
QMK Bot
9c1e1d1fee
Merge remote-tracking branch 'origin/master' into develop
2024-07-28 18:16:45 +00:00
Dasky
d538451adb
Remove AVR GCC version warning ( #24206 )
2024-07-28 19:16:15 +01:00
QMK Bot
c25b3bbe90
Merge remote-tracking branch 'origin/master' into develop
2024-07-24 05:17:22 +00:00
Nick Brassel
8c35011d0a
[CLI] Only generate files if contents change. ( #24038 )
...
Don't overwrite if the content doesn't change.
2024-07-24 06:16:51 +01:00
Joel Challis
4ab36df48f
Move split.soft_serial_pin to split.serial.pin ( #24127 )
2024-07-18 09:02:53 +10:00
QMK Bot
e69be076fc
Merge remote-tracking branch 'origin/master' into develop
2024-07-17 19:31:51 +00:00
Joel Challis
63ef6516d3
Avoid path issues with `qmk flash` on Windows ( #24130 )
2024-07-17 20:31:18 +01:00
QMK Bot
eed2a74be9
Merge remote-tracking branch 'origin/master' into develop
2024-07-03 12:01:26 +00:00
Nick Brassel
bc8ac86422
Minimum python version listing. ( #23989 )
2024-07-03 22:00:53 +10:00
Ryan
bc0c69570b
Rename encoder pins defines ( #24003 )
2024-07-03 17:18:27 +10:00