Age | Commit message (Collapse) | Author | |
---|---|---|---|
2023-11-28 | Attempt to fix configurator. (#22555) | Nick Brassel | |
2023-11-28 | QMK Userspace (#22222) | Nick Brassel | |
Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> | |||
2023-11-22 | [CLI] Remove duplicates from search results (#22528) | Nick Brassel | |
2023-11-22 | CLI parallel search updates (#22525) | Nick Brassel | |
2023-11-21 | Fix `qmk find` failure due to circular imports (#22523) | Sergey Vlasov | |
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-20 | Enable linking of encoders to switch within layout macros (#22264) | Joel Challis | |
2023-11-19 | `qmk find`: Fix failure with multiple filters (#22497) | Sergey Vlasov | |
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-15 | CLI refactoring for common build target APIs (#22221) | Nick Brassel | |
2023-11-11 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-11-11 | Add `qmk license-check` developer-level CLI command. (#22075) | Nick Brassel | |
2023-11-01 | Improve argument handling of c2json (#22170) | Joel Challis | |
* Improve argument handling of c2json * Add automagic | |||
2023-11-01 | Generate switch statement helpers for keycode ranges (#20059) | Joel Challis | |
2023-11-01 | Implement data driven lighting defaults (#21825) | Joel Challis | |
2023-11-01 | Add dd mapping for hardware based split handedness (#22369) | Joel Challis | |
2023-10-30 | Remove use of broken split.main (#22363) | Joel Challis | |
2023-10-29 | Fix 'to_c' for config.h mappings (#22364) | Joel Challis | |
2023-10-29 | Implement data driven dip switches (#22017) | Joel Challis | |
* Add data driven dip switches * Autogen weak matrix_mask | |||
2023-10-21 | Support additional split sync items for info.json (#22193) | Joel Challis | |
2023-10-16 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-10-17 | Allow for disabling of parallel processing of qmk find and `qmk ↵ | Nick Brassel | |
mass-compile`. (#22160) Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com> | |||
2023-10-08 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-10-08 | Flag vial keymaps in 'qmk lint' (#22227) | Joel Challis | |
2023-10-05 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-10-06 | Add `qmk ci-validate-aliases` (#22205) | Nick Brassel | |
2023-09-28 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-09-29 | Allow for `qmk mass-compile all:<keymap>` (#22116) | Nick Brassel | |
Co-authored-by: Joel Challis <git@zvecr.com> | |||
2023-09-28 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-09-28 | Allow inline generation of compile_commands.json while doing a `qmk ↵ | Nick Brassel | |
compile`, using `--compiledb` (#21549) | |||
2023-09-27 | Fix parsing/validation for 21939 (#22148) | Joel Challis | |
2023-09-23 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-09-23 | Fix up `qmk mass-compile` makefile indenting. (#22115) | Nick Brassel | |
2023-09-22 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-09-22 | Allow for `qmk compile -kb all`. (#22022) | Nick Brassel | |
2023-09-14 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-09-14 | `qmk format-json`: Add an in-place mode to format json command (#21610) | Andrew Kannan | |
2023-09-13 | Generate keymap.json config options more forcefully (#21960) | Joel Challis | |
2023-08-27 | Add *_MATRIX_LED_COUNT generation (#21110) | Joel Challis | |
2023-08-01 | Remove layout aliases from keyboard_aliases.hjson (#21658) | Joel Challis | |
2023-07-31 | keycode aliases: work around ChibiOS ch.h include guard (#21497) | Ryan | |
2023-07-31 | CLI: Improve error messages when layout key matrix row/col is OOB (#21640) | Ryan | |
2023-07-08 | feat, docs: WB32 flashing (#21217) | Less/Rikki | |
2023-07-07 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-07-08 | Adjust width requirement for big enter (#21470) | Ryan | |
2023-07-07 | Merge remote-tracking branch 'origin/master' into develop | QMK Bot | |
2023-07-07 | [Refactor] Python-ify QP's converter code (#20102) | Pablo Martínez | |
2023-06-28 | STM32H723 support (#21352) | Nick Brassel | |
2023-06-21 | Consolidate `KEYBOARD_OUTPUT`+`KEYMAP_OUTPUT`=>`INTERMEDIATE_OUTPUT` (#21272) | Nick Brassel | |
2023-06-08 | Slightly refine `g_led_config` parsing (#21170) | Ryan | |
2023-05-30 | `qmk find`: Fix handling of functions in filters (#21090) | Sergey Vlasov | |
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-27 | Fix up `qmk find` when not specifying filters. (#21059) | Nick Brassel | |