1
0
Fork 0
forked from forks/qmk_firmware
Commit graph

800 commits

Author SHA1 Message Date
Nick Brassel 049e964e61
Attempt to fix configurator. (#22555) 2023-11-28 14:07:21 +00:00
Nick Brassel 5501e804ff
QMK Userspace (#22222)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2023-11-28 07:53:43 +11:00
Nick Brassel 0fcd13f552
[CLI] Remove duplicates from search results (#22528) 2023-11-22 12:08:26 +11:00
Nick Brassel 46b996a55e
CLI parallel search updates (#22525) 2023-11-22 11:14:34 +11:00
Sergey Vlasov 7e27d72cbc
Fix qmk find failure due to circular imports (#22523)
There was an import cycle in the Python modules:

  - `qmk.build_targets` imported `qmk.cli.generate.compilation_database`;
  - importing `qmk.cli.generate.compilation_database` requires
    initializing `qmk.cli` first;
  - the initialization of `qmk.cli` imported the modules for all CLI
    commands;
  - `qmk.cli.compile` imported `qmk.build_targets`.

This cycle did not matter in most cases, because `qmk.cli` was imported
first, and in that case importing `qmk.cli.generate.compilation_database`
did not trigger the initialization of `qmk.cli` again.  However, there was
one corner case when `qmk.bulld_targets` was getting imported first:

  - The `qmk find` command uses the `multiprocessing` module.
  - The `multiprocessing` module uses the `spawn` start method on macOS
    and Windows.
  - When the `spawn` method is used, the child processes initialize
    without any Python modules loaded, and the required modules are loaded
    on demand by the `pickle` module when receiving the serialized objects
    from the main process.

The result was that the `qmk find` command did not work properly on macOS
(and probably Windows too); it reported exceptions like this:

    ImportError: cannot import name 'KeyboardKeymapBuildTarget' from partially initialized module 'qmk.build_targets' (most likely due to a circular import)

Moving the offending `qmk.cli.generate.compilation_database` import into
the method which actually uses it fixes the problem.
2023-11-21 15:05:29 +00:00
Joel Challis e279c78ba3
Enable linking of encoders to switch within layout macros (#22264) 2023-11-20 15:41:48 +00:00
Sergey Vlasov 62cca5c43a
qmk find: Fix failure with multiple filters (#22497)
When multiple `-f FILTER` options were specified, `qmk find` did not
return anything at all instead of printing the list of entries that
matched all of the specified filters.

The problem was that the statement in `_filter_keymap_targets()` that
filled `targets` had a wrong indent and therefore was executed for every
filter instead of only once after applying all filters, and
`valid_keymaps` was actually an iterator and therefore could be used
only once.  Moving the statement outside of the loop fixes the problem.
2023-11-19 08:26:00 +11:00
Nick Brassel 4938210711
CLI refactoring for common build target APIs (#22221) 2023-11-15 16:24:54 +11:00
QMK Bot d8176fb0f2 Merge remote-tracking branch 'origin/master' into develop 2023-11-11 09:51:03 +00:00
Nick Brassel 211fbbd16d
Add qmk license-check developer-level CLI command. (#22075) 2023-11-11 20:50:33 +11:00
Joel Challis 8ea955c72f
Improve argument handling of c2json (#22170)
* Improve argument handling of c2json

* Add automagic
2023-11-01 22:37:05 +00:00
Joel Challis b31426252e
Generate switch statement helpers for keycode ranges (#20059) 2023-11-01 13:11:42 +11:00
Joel Challis fbbb221a31
Implement data driven lighting defaults (#21825) 2023-11-01 01:26:24 +00:00
Joel Challis a19ae3d784
Add dd mapping for hardware based split handedness (#22369) 2023-11-01 00:55:48 +00:00
Joel Challis 17c3182b1c
Remove use of broken split.main (#22363) 2023-10-30 00:49:56 +00:00
Joel Challis 559450a099
Fix 'to_c' for config.h mappings (#22364) 2023-10-29 23:41:44 +00:00
Joel Challis 98530cad3b
Implement data driven dip switches (#22017)
* Add data driven dip switches

* Autogen weak matrix_mask
2023-10-29 01:09:02 +01:00
Joel Challis e4c54a9612
Support additional split sync items for info.json (#22193) 2023-10-21 01:48:05 +01:00
QMK Bot 20cefe254d Merge remote-tracking branch 'origin/master' into develop 2023-10-16 22:44:27 +00:00
Nick Brassel f6c70c40af
Allow for disabling of parallel processing of qmk find and qmk mass-compile. (#22160)
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
2023-10-17 09:43:50 +11:00
QMK Bot 690792eca9 Merge remote-tracking branch 'origin/master' into develop 2023-10-08 11:45:49 +00:00
Joel Challis 7ca652ce6d
Flag vial keymaps in 'qmk lint' (#22227) 2023-10-08 12:45:13 +01:00
QMK Bot 0ca60eb759 Merge remote-tracking branch 'origin/master' into develop 2023-10-05 23:35:02 +00:00
Nick Brassel 127560ae22
Add qmk ci-validate-aliases (#22205) 2023-10-06 10:34:23 +11:00
QMK Bot a268437f17 Merge remote-tracking branch 'origin/master' into develop 2023-09-28 20:48:55 +00:00
Nick Brassel c5706ef791
Allow for qmk mass-compile all:<keymap> (#22116)
Co-authored-by: Joel Challis <git@zvecr.com>
2023-09-29 06:48:20 +10:00
QMK Bot f4677c866e Merge remote-tracking branch 'origin/master' into develop 2023-09-28 10:49:40 +00:00
Nick Brassel fb0c64a567
Allow inline generation of compile_commands.json while doing a qmk compile, using --compiledb (#21549) 2023-09-28 11:48:58 +01:00
Joel Challis 4e86dca49d
Fix parsing/validation for 21939 (#22148) 2023-09-27 03:57:37 +01:00
QMK Bot ac3a1c3569 Merge remote-tracking branch 'origin/master' into develop 2023-09-23 03:08:19 +00:00
Nick Brassel 73ffa4594d
Fix up qmk mass-compile makefile indenting. (#22115) 2023-09-23 13:07:38 +10:00
QMK Bot 8ea8b80b85 Merge remote-tracking branch 'origin/master' into develop 2023-09-22 02:12:53 +00:00
Nick Brassel abd432fd7a
Allow for qmk compile -kb all. (#22022) 2023-09-22 12:12:20 +10:00
QMK Bot 24a922b54b Merge remote-tracking branch 'origin/master' into develop 2023-09-14 20:39:17 +00:00
Andrew Kannan 46d679ab11
qmk format-json: Add an in-place mode to format json command (#21610) 2023-09-14 21:38:42 +01:00
Joel Challis de381ad3b7
Generate keymap.json config options more forcefully (#21960) 2023-09-13 01:12:46 +01:00
Joel Challis 95681b8ff4
Add *_MATRIX_LED_COUNT generation (#21110) 2023-08-27 04:00:14 +01:00
Joel Challis 27ff1d4153
Remove layout aliases from keyboard_aliases.hjson (#21658) 2023-08-01 01:54:28 +01:00
Ryan f407d90598
keycode aliases: work around ChibiOS ch.h include guard (#21497) 2023-07-31 09:35:06 +10:00
Ryan 030511ece3
CLI: Improve error messages when layout key matrix row/col is OOB (#21640) 2023-07-31 09:34:19 +10:00
Stefan Kerkmann a992dc8c08
[Core] Update ChibiOS-Contrib (#21553) 2023-07-17 19:55:31 +10:00
Less/Rikki a0ea7a6b17
feat, docs: WB32 flashing (#21217) 2023-07-08 00:48:45 +10:00
QMK Bot 21263438e5 Merge remote-tracking branch 'origin/master' into develop 2023-07-07 14:08:56 +00:00
Ryan ef39ecd1b7
Adjust width requirement for big enter (#21470) 2023-07-08 00:08:13 +10:00
QMK Bot 8974e056a9 Merge remote-tracking branch 'origin/master' into develop 2023-07-07 12:09:59 +00:00
Pablo Martínez 6bdd8e2782
[Refactor] Python-ify QP's converter code (#20102) 2023-07-07 22:09:17 +10:00
Nick Brassel c814be0296
STM32H723 support (#21352) 2023-06-28 13:07:14 +10:00
Stefan Kerkmann a87c74ebe1
[Bug] Fix non-functional S3 wakeup / resume from suspense (#19780)
* Update ChibiOS-Contrib for USB suspend fixes

* Remove S3 wakup workaround

ChibiOS OTGv1 driver has a remote wakeup bug that prevents the device to
resume it's operation. 02516cbc24 
introduced a hotfix that forcefully restarted the usb driver as a workaround. 
This workaround broke multiple boards which do not use this driver / 
peripheral. With the update of ChibiOS this hotfix is now obsolete.

* Remove restart_usb_driver overrides

they are no longer necessary as the workaround is not needed anymore
for stm32f4

* Remove unused RP_USB_USE_SOF_INTR defines

The SOF interrupt is enabled dynamically by the RP2040 usb driver
2023-06-26 23:55:52 +02:00
Nick Brassel ffdc70bf0a
Consolidate KEYBOARD_OUTPUT+KEYMAP_OUTPUT=>INTERMEDIATE_OUTPUT (#21272) 2023-06-21 08:41:49 +10:00
Ryan a9f677b518
Slightly refine g_led_config parsing (#21170) 2023-06-08 21:08:02 +01:00
Sergey Vlasov 1411c79aef
qmk find: Fix handling of functions in filters (#21090)
Functions in filters did not work properly except when used in the last
(or only) filter.  The problem was caused by the peculiarity of the
`lambda` behavior in Python — any variables from the outer scope are
captured only by reference, therefore any subsequent reassignment of
those variables is propagated to all lambdas created earlier in the same
scope.  Together with the laziness of `filter()` (it returns an iterator
which performs filtering on demand) this resulted in all function
filters using the values of the `key` and `value` variables which
correspond to the last filter in the sequence, therefore the result of
filtering was wrong if some filter with a function was not the last one
in the sequence.

Apparently the shortest way to make a Python lambda capture some
variables by value is to add arguments with default values for such
variables (default values are evaluated when the lambda is created, and
any subsequent reassignments in the outer scope no longer changes them).
This makes filters with functions work properly even when such filters
are not at the last position in the sequence.
2023-05-30 19:24:19 +01:00
Nick Brassel 5642bd1807
Fix up qmk find when not specifying filters. (#21059) 2023-05-27 13:23:07 +10:00
QMK Bot 5efdc28a86 Merge remote-tracking branch 'origin/master' into develop 2023-05-26 02:07:54 +00:00
Pablo Martínez 1c1bc565de
[Bugfix + Refactor] qmk painter-convert-graphics (#19994) 2023-05-26 03:07:06 +01:00
Joel Challis 6e41377824
qmk info - Remove printing of "Keyboard Folder" (#21033) 2023-05-24 23:27:57 +01:00
Joel Challis fb056c5437
Update json2c to use dump_lines (#21013) 2023-05-22 07:03:59 +01:00
QMK Bot 9d96bfc5f5 Merge remote-tracking branch 'origin/master' into develop 2023-05-20 21:29:58 +00:00
Nick Brassel 420e35f922
qmk generate-make-dependencies improvements (#21001)
* Recommendations from @sigprof

* Fix CI tests
2023-05-20 22:29:21 +01:00
Ryan 6d90fa2300
qmk format-json: Expose full key path and respect sort_keys (#20836) 2023-05-20 22:15:05 +10:00
Ryan 102c42b14b
qmk find: usability improvements (#20440) 2023-05-20 22:14:43 +10:00
Peter 7b31c18d46
Fix English word list retrieval in qmk generate-autocorrect-data (#20915) 2023-05-20 22:11:57 +10:00
Ryan dc75c23f5c
CLI: Improve keymap folder resolution (#20981) 2023-05-19 16:05:43 +10:00
Nick Brassel 433dc60686
Merge remote-tracking branch 'upstream/master' into develop 2023-05-15 22:10:42 +10:00
Nick Brassel 507e32b28c
Generate make dependency file during build for info.json's etc. (#20451) 2023-05-15 21:58:12 +10:00
Ryan 578102b400
Fix test_json2c_no_json() (#20756) 2023-05-06 14:00:27 +01:00
Ryan 998a4d744e
Remove FLIP_HALF layouts and move to data driven (#20588) 2023-04-30 01:51:45 +10:00
Nick Brassel d054112de1
Update ChibiOS to latest stable 21.11.x (#20470) 2023-04-19 16:05:06 +10:00
Nick Brassel c9f619124d
Encodermap direction define. (#20454) 2023-04-15 16:18:44 +01:00
QMK Bot 6c172772db Merge remote-tracking branch 'origin/master' into develop 2023-04-09 16:42:12 +00:00
Dasky 6e0acf0548
Add autocomplete to generate-compilation-database (#20387) 2023-04-09 17:41:30 +01:00
QMK Bot 4aa2cd45a1 Merge remote-tracking branch 'origin/master' into develop 2023-04-07 13:08:43 +00:00
Joel Challis e9b36bebb2
Avoid generating empty ENCODER_RESOLUTION (#20179) 2023-04-07 14:07:59 +01:00
QMK Bot 5bc514036b Merge remote-tracking branch 'origin/master' into develop 2023-04-07 06:37:46 +00:00
Nick Brassel 2e766a9c7a
Add Discord webhook at end of each CI run. (#20355) 2023-04-07 16:37:06 +10:00
QMK Bot 0e7acb777a Merge remote-tracking branch 'origin/master' into develop 2023-04-04 05:10:36 +00:00
Nick Brassel 687883cf7d
Resolve keyboard names for qmk mass-compile. (#20335) 2023-04-04 15:09:55 +10:00
Ryan 81f321d331
qmk info: account for ISO enter when calculating layout X offset (#20325) 2023-04-04 01:15:35 +01:00
Albert Y 47a51fda5d
Append user variables to the end of make command (#20177) 2023-04-03 15:20:39 +10:00
QMK Bot 8686c527f7 Merge remote-tracking branch 'origin/master' into develop 2023-03-30 21:41:53 +00:00
Nick Brassel c3c401f91d
[QP] Fix up delta frame boundaries (#20296) 2023-03-31 08:41:11 +11:00
QMK Bot 66f19518b4 Merge remote-tracking branch 'origin/master' into develop 2023-03-29 12:01:55 +00:00
Joel Challis f56580404d
Minify content published to API (#20285) 2023-03-29 13:01:16 +01:00
QMK Bot 2026165d8c Merge remote-tracking branch 'origin/master' into develop 2023-03-29 10:26:46 +00:00
Nick Brassel 5bb8f7ae84
Add ability for qmk mass-compile to build specified targets (#20294) 2023-03-29 21:26:05 +11:00
Joel Challis f186abdf29
Reduce _validate complexity (#20274) 2023-03-28 02:53:28 +01:00
Joel Challis 79b0f9168e
Custom keycodes in JSON (#19925) 2023-03-27 20:01:07 +01:00
Joel Challis e35bb8ebfa
Add force support to 'qmk git-submodule' (#19705) 2023-03-27 19:15:25 +01:00
QMK Bot 2ae5a4a535 Merge remote-tracking branch 'origin/master' into develop 2023-03-24 02:47:22 +00:00
Ryan d6ce42ae5b
Check for multiple matrix positions assigned to same key (#20039) 2023-03-24 13:46:42 +11:00
Joel Challis fa4dfb542f
Strip API specific output from qmk info (#20234) 2023-03-23 11:19:30 +00:00
Albert Y 0e1e543836
Increase verbosity of make command (#20172) 2023-03-21 01:25:08 -07:00
QMK Bot 79ae14ae0a Merge remote-tracking branch 'origin/master' into develop 2023-03-16 20:36:32 +00:00
Nick Brassel 1b3f7fcf7d
Add qmk find command, reuse logic for qmk mass-compile. (#20139) 2023-03-16 20:35:49 +00:00
QMK Bot 291834b162 Merge remote-tracking branch 'origin/master' into develop 2023-03-14 21:31:50 +00:00
Nick Brassel e62fc866db
Let's use workflows to parallelise the builds. (#20120)
* Let's use workflows to parallelise the builds.

* Nofail if files aren't present.

* Formatting.
2023-03-15 08:31:10 +11:00
Ryan 91e0457b0e
JSON encoder: improve sorting of layout dict keys (#19974) 2023-03-13 23:20:54 +11:00
QMK Bot 57112d700a Merge remote-tracking branch 'origin/master' into develop 2023-03-09 22:39:30 +00:00
Ryan 76fb534269
qmk info: add warning when layout is offset (#20070) 2023-03-09 20:27:04 +00:00
Joel Challis c3c40dfda8
Remove some use of keymap.h (#19980) 2023-03-03 11:26:53 +00:00
QMK Bot 0a7f15964c Merge remote-tracking branch 'origin/master' into develop 2023-03-01 23:57:53 +00:00
Ryan 6fabc330e3
Check all keys have matrix positions when parsing C LAYOUT macros (#19781) 2023-03-02 10:56:45 +11:00
Ryan 9b09e7c6d7
Check all rows have the correct number of columns when parsing g_led_config (#19954) 2023-03-01 01:51:18 +00:00
Joel Challis 9f2cd9119f
Reallocate user/kb keycode ranges (#19907) 2023-02-23 09:50:09 +11:00
Nick Brassel 1283863c0e
Add mass-compile ability to filter by key existence. (#19885) 2023-02-18 18:04:50 -08:00
Stefan Kerkmann e922b46a86
Update pico-sdk to 1.5.0 (#19829) 2023-02-13 15:51:51 +01:00
Joel Challis 6ceff1367d
Tidy up use of keycode range helpers (#19813) 2023-02-12 17:09:34 +00:00
Joel Challis 90f3d6201a
Reduce false positives in layout name validation (#19646) 2023-02-11 20:36:11 +00:00
Nick Brassel 9991894514
Generate encodermap output from keymap.json. (#18915)
Co-authored-by: Joel Challis <git@zvecr.com>
2023-02-11 13:45:51 +11:00
Jouke Witteveen 3137883956
Typographic updates to source generation (#19160) 2023-02-10 22:39:13 +00:00
Joel Challis 1d0b4c8d38
Tidy up use of keycode range helpers (#19756) 2023-02-10 21:10:14 +00:00
Pablo Martínez d55b07696b
Add commit info to version.h (#19542)
* Initial commit

* Fix import order

* Fix deleted code instead of debug print line

* Format

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

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

* Renaming

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

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

* Update lib/python/qmk/git.py

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

---------

Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
2023-02-02 18:23:27 +00:00
fauxpark ef6505ad75 Merge remote-tracking branch 'upstream/master' into develop 2023-01-30 18:55:36 +11:00
Ryan 2c878b1b16
Clean up qmk generate-autocorrect-data (#19710) 2023-01-30 03:37:02 +00:00
QMK Bot d14863c00b Merge remote-tracking branch 'origin/master' into develop 2023-01-24 14:20:10 +00:00
Natan-P b24fa2f9db
escaped stray backslash in bux.py (#19667) 2023-01-24 14:19:34 +00:00
Joel Challis fe6502f12e
Publish keymap.json to API (#19167) 2023-01-20 03:38:19 +00:00
Joel Challis 4973950ddc
Print distro in doctor output (#19633) 2023-01-19 10:25:47 +00:00
QMK Bot 3723c0e3d5 Merge remote-tracking branch 'origin/master' into develop 2023-01-19 01:06:08 +00:00
Nick Brassel 327f7ee9a7
Fixup ChibiOS header inclusion search ordering. (#19623)
* Add STM32F446-Nucleo onekey. 

* Fixup onekey build for F446, all keymaps.

* Fixup board inclusion search ordering.
2023-01-19 01:05:29 +00:00
Joel Challis 0b25528b6b
Fix 'No LAYOUTs defined' check (#19537) 2023-01-19 00:27:11 +00:00
Joel Challis 0ce3f6bcfe
De-duplicate platform detection (#19603) 2023-01-19 00:27:00 +00:00
Joel Challis a1f253cbef
qmk compile/qmk flash - Validate keymap argument (#19530) 2023-01-19 00:24:13 +00:00
Nick Brassel 4723f308ad
Remove CLI commands: multibuild, cformat, fileformat, pyformat. (#19629) 2023-01-19 10:56:15 +11:00
Joel Challis 88ec588ae7
Remove make all-<platform> build targets (#19496) 2023-01-19 10:44:41 +11:00
QMK Bot 364a910b92 Merge remote-tracking branch 'origin/master' into develop 2023-01-18 22:37:06 +00:00
Nick Brassel 17c9388af5
Allow for wildcard filtering in qmk mass-compile (#19625) 2023-01-18 22:36:32 +00:00
David Hoelscher 45851a10f6
Add RGB565 and RGB888 color support to Quantum Painter (#19382) 2023-01-14 21:24:54 +11:00
Stefan Kerkmann ec09087543
Update ChibiOS[-Contrib], SIO driver, configs (#17915)
Co-authored-by: Nick Brassel <nick@tzarc.org>
2023-01-12 21:47:36 +11:00
Joel Challis 46c85c93f0
Revert "De-duplicate platform detection (#19545)" (#19564)
This reverts commit e11235ee14.
2023-01-11 19:58:27 +00:00
Joel Challis e11235ee14
De-duplicate platform detection (#19545) 2023-01-11 02:13:32 +00:00
Joel Challis 20474ae232
Fix CLI community detection (#19562) 2023-01-11 12:38:35 +11:00
Joel Challis b57714f793
qmk doctor - Handle timeouts while checking binaries (#19549) 2023-01-09 09:27:41 +00:00
Joel Challis 1b045b1e60
Handle doctor permission issues while checking udev (#19548) 2023-01-09 08:21:21 +00:00
Joel Challis 974a1eaf2a
Ignore defaults.hjson values if already set (#19511)
* Ignore defaults.hjson values if already set

* Add warning when nothing is merged
2023-01-07 17:05:53 +00:00
Joel Challis 5c730d971e
Migrate submodule dirty check to CLI (#19488) 2023-01-06 04:16:52 +00:00
QMK Bot b2384f1809 Merge remote-tracking branch 'origin/master' into develop 2023-01-05 23:41:28 +00:00
Sergey Vlasov 4a7d65b9d7
Fix MATRIX_COLS and MATRIX_ROWS generation for custom matrix (#19508)
The code which generated the MATRIX_COLS and MATRIX_ROWS defines from
the JSON information was checking the presence of the `matrix_pins` key,
which may not exist if a custom matrix is used.  Check the presence of
`matrix_size` instead.
2023-01-05 23:40:53 +00:00
zvecr 115c241f21 Merge remote-tracking branch 'origin/master' into develop 2023-01-04 04:17:58 +00:00
Nick Brassel 691668340c
Add qmk mass-compile, which intends to supercede qmk multibuild whilst providing support for filtering as per data-driven definitions. (#18971) 2023-01-04 04:10:18 +00:00
Joel Challis c345278101
Replace list_keyboards.sh with CLI calls (#19485) 2023-01-03 14:15:29 +11:00
Joel Challis b297531dbf
Migrate 'make git-submodule' to CLI command (#19479) 2023-01-03 09:11:57 +11:00
Joel Challis 3a5a4c708f
Report submodule status when not valid work-tree (#19474) 2023-01-03 09:00:29 +11:00
Joel Challis 24adecd922
Implement XAP style merge semantics for DD keycodes (#19397) 2023-01-01 19:16:38 +00:00
Joel Challis e4cfbd2532
Allow CLI to flash .uf2 files (#19462) 2023-01-01 15:51:29 +11:00
QMK Bot 422fd8aed8 Merge remote-tracking branch 'origin/master' into develop 2023-01-01 00:44:40 +00:00
Joel Challis b8e12eed80
WSL qmk flash firmware.bin workaround (#19434) 2023-01-01 11:44:33 +11:00
Joel Challis 61696fda83
CLI flashers should allow files outside qmk_firmware folder (#19454) 2023-01-01 11:43:30 +11:00
jack 003cee0098
Validate keyboard name before accepting further input (#19394) 2022-12-23 18:18:57 +00:00
QMK Bot 8f506b5bc2 Merge remote-tracking branch 'origin/master' into develop 2022-12-23 11:12:33 +00:00
Joel Challis ab1898e660
Minor alignment of rgb_breathe_table generator (#19403) 2022-12-23 11:11:56 +00:00