~ruther/qmk_firmware

ref: 45ae4dec4d3e8ab0b52903c5ad72b561bd25d94d qmk_firmware/lib/python d---------
58721a43 — Joel Challis 1 year, 3 months ago
Move layout macro OOB checks to lint (#22610)

62d19fc2 — Nick Brassel 1 year, 3 months ago
Copy `compile_commands.json` to userspace, if in use. (#22925)

52c794b9 — Pablo Martínez 1 year, 4 months ago
Initial (#22671)

9c93f360 — Pablo Martínez 1 year, 4 months ago
[Bugfix] `qmk {compile, flash}` return code (#22639)

958215e9 — Sergey Vlasov 1 year, 4 months ago
Fix more `qmk generate-api` fallout from userspace support (#22619)

Fix JSON keymap URLs generated by the API (#22618)

bba5c149 — Joel Challis 1 year, 4 months ago
Avoid exceptions when layouts contain OOB matrix values (#22609)

98f4e9b8 — Joel Challis 1 year, 4 months ago
Fix `qmk doctor` not finding binaries on Windows (#22593)

01eed8d5 — Nick Brassel 1 year, 5 months ago
Dedup the list of tested userspace paths. (#22599)

b68e89f8 — Purdea Andrei 1 year, 5 months ago
Don't print error message when there are no row pins and no col pins (#20104)

* 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 <nick@tzarc.org>

---------

Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
024b4070 — Nick Brassel 1 year, 5 months ago
Fixup `--no-temp` for `qmk mass-compile`. (#22582)

b7df75e4 — Nick Brassel 1 year, 5 months ago
Fixup compilation with `qmk compile -kb zzz -km all`. (#22568)

049e964e — Nick Brassel 1 year, 5 months ago
Attempt to fix configurator. (#22555)

0115951d — Nick Brassel 1 year, 5 months ago
`develop` -> `master`, 2023q4 edition
5501e804 — Nick Brassel 1 year, 5 months ago
QMK Userspace (#22222)

Co-authored-by: Duncan Sutherland <dunk2k_2000@hotmail.com>
0fcd13f5 — Nick Brassel 1 year, 5 months ago
[CLI] Remove duplicates from search results (#22528)

46b996a5 — Nick Brassel 1 year, 5 months ago
CLI parallel search updates (#22525)

7e27d72c — Sergey Vlasov 1 year, 5 months ago
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.
e279c78b — Joel Challis 1 year, 5 months ago
Enable linking of encoders to switch within layout macros (#22264)

62cca5c4 — Sergey Vlasov 1 year, 5 months ago
`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.
Next
Do not follow this link