aboutsummaryrefslogtreecommitdiff
path: root/lib/python/qmk
Commit message (Collapse)AuthorAgeFilesLines
...
* | Produce warning if keyboard is not configured via `keyboard.json` (#23321)Joel Challis2024-04-021-8/+20
| |
* | Align encoder layout validation with encoder.h logic (#23330)Joel Challis2024-03-311-2/+7
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2024-03-311-3/+3
|\|
| * Fix 'qmk compile' mass_compile execution (#23296)Joel Challis2024-03-311-3/+3
| |
* | Migrate features and LTO from rules.mk to data driven (#23302)Joel Challis2024-03-301-0/+6
| |
* | `qmk new-keyboard` - detach community layout when selecting "none of the ↵Joel Challis2024-03-141-4/+14
| | | | | | | | above" (#20405)
* | Reject duplicate matrix locations in LAYOUT macros (#23273)Joel Challis2024-03-131-0/+9
| |
* | Merge remote-tracking branch 'origin/master' into developzvecr2024-03-131-5/+13
|\|
| * Absolute paths for -kb argument should error consistently (#23262)Joel Challis2024-03-131-4/+12
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2024-03-121-1/+6
|\|
| * Flag LAYOUT macros still defined in .h files (#23260)Joel Challis2024-03-121-1/+6
| |
* | Enable 'keyboard.json' as a build target (#22891)Joel Challis2024-03-105-9/+24
| |
* | [Feature] Some metadata on QGF/QFF files (#20101)Pablo Martínez2024-03-104-52/+146
| |
* | Initial 'qmk test-c' functionality (#23038)Joel Challis2024-03-053-0/+48
|/
* Remove cd suggestion from new-keyboard (#23194)Joel Challis2024-03-021-4/+4
|
* CLI Speed improvements. (#23189)Nick Brassel2024-03-021-4/+10
|
* Ensure `qmk generate-compilation-database` copies to userspace as well. (#23129)Nick Brassel2024-02-222-3/+6
|
* [Refactor] `qmk find` (#21096)Pablo Martínez2024-02-172-25/+90
|
* [Enhancement] Prepare for `SyntaxWarning` (#22562)Pablo Martínez2024-02-162-5/+5
|
* [Refactor] Break `QGFImageFile`'s `_save` function into smaller pieces (#21124)Pablo Martínez2024-02-161-136/+168
|
* Fix git-submodule running in wrong location (#23059)Joel Challis2024-02-121-4/+4
|
* Flag invalid keyboard features during lint (#22832)Joel Challis2024-02-081-0/+15
|
* Ensure LTO is enabled as a `info.json` build config option (#22932)Joel Challis2024-02-011-0/+3
| | | | | * feature.lto -> build.lto * keymaps too
* Merge remote-tracking branch 'origin/master' into developQMK Bot2024-01-222-12/+28
|\
| * Move layout macro OOB checks to lint (#22610)Joel Challis2024-01-222-12/+28
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2024-01-191-2/+5
|\|
| * Copy `compile_commands.json` to userspace, if in use. (#22925)Nick Brassel2024-01-201-2/+5
| |
* | `qmk format-json`: Force Unix line endings and ensure LF at EOF (#22901)Ryan2024-01-161-2/+2
| |
* | CLI: Allow generation of both LED and RGB Matrix config (#22896)Ryan2024-01-142-31/+32
| |
* | Prevent `qmk migrate` processing unparsed info.json values (#22374)Joel Challis2024-01-092-1/+7
| |
* | Generate true/false for _DEFAULT_ON options (#22829)Joel Challis2024-01-062-1/+3
| |
* | Ensure LED config is extracted when feature is disabled (#22809)Joel Challis2024-01-041-17/+17
|/ | | | | * Ensure LED config is extracted when feature is disabled * Only attempt LED search if dd led config is missing
* Initial (#22671)Pablo Martínez2023-12-161-1/+1
|
* [Bugfix] `qmk {compile, flash}` return code (#22639)Pablo Martínez2023-12-142-2/+2
|
* Fix more `qmk generate-api` fallout from userspace support (#22619)Sergey Vlasov2023-12-061-1/+4
|
* Fix JSON keymap URLs generated by the API (#22618)Ryan2023-12-061-1/+3
|
* Avoid exceptions when layouts contain OOB matrix values (#22609)Joel Challis2023-12-051-2/+5
|
* Fix `qmk doctor` not finding binaries on Windows (#22593)Joel Challis2023-12-021-2/+2
|
* Dedup the list of tested userspace paths. (#22599)Nick Brassel2023-12-031-5/+5
|
* Don't print error message when there are no row pins and no col pins (#20104)Purdea Andrei2023-12-021-0/+3
| | | | | | | | | | | | | | | | | | | * Don't print error message when there are no row pins and no col pins This error message could be triggered for example if MATRIX_IO_DELAY is configured in config.h, but the matrix is a custom one. The custom matrix can still call back to existing delay functions that make use of the MATRIX_IO_DELAY macro. In this case 'matrix_pins' in info_data will be true, but there will be no 'direct' 'cols' or 'rows' in info_data['matrix_pins'], and without this commit it would trigger an invalid error. * Update lib/python/qmk/info.py Co-authored-by: Nick Brassel <[email protected]> --------- Co-authored-by: Joel Challis <[email protected]> Co-authored-by: Nick Brassel <[email protected]>
* Fixup `--no-temp` for `qmk mass-compile`. (#22582)Nick Brassel2023-11-301-1/+1
|
* Fixup compilation with `qmk compile -kb zzz -km all`. (#22568)Nick Brassel2023-11-291-0/+12
|
* Attempt to fix configurator. (#22555)Nick Brassel2023-11-281-6/+7
|
* QMK Userspace (#22222)Nick Brassel2023-11-2820-75/+676
| | | | Co-authored-by: Duncan Sutherland <[email protected]>
* [CLI] Remove duplicates from search results (#22528)Nick Brassel2023-11-222-2/+13
|
* CLI parallel search updates (#22525)Nick Brassel2023-11-225-13/+26
|
* Fix `qmk find` failure due to circular imports (#22523)Sergey Vlasov2023-11-211-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* Enable linking of encoders to switch within layout macros (#22264)Joel Challis2023-11-202-1/+82
|
* `qmk find`: Fix failure with multiple filters (#22497)Sergey Vlasov2023-11-191-1/+1
| | | | | | | | | | | 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.
* CLI refactoring for common build target APIs (#22221)Nick Brassel2023-11-1510-285/+296
|