aboutsummaryrefslogtreecommitdiff
path: root/lib/python/qmk/cli/generate
Commit message (Collapse)AuthorAgeFilesLines
* Add MATRIX_MASKED DD config (#25383)Joel Challis2 days1-15/+0
|
* Add `compiler_support.h` (#25274)Pablo Martínez2025-05-221-2/+4
|
* Enable community modules to define LED matrix and RGB matrix effects. (#25187)Pascal Getreuer2025-05-121-36/+39
| | | | Co-authored-by: Joel Challis <[email protected]>
* Deprecate `qmk generate-compilation-database`. (#25237)Nick Brassel2025-05-061-167/+7
|
* Generate versions to keycode headers (#25219)Joel Challis2025-05-051-0/+16
|
* Add additional hooks for Community modules (#25050)Drashna Jaelre2025-05-051-0/+10
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2025-04-231-0/+5
|\
| * Update 'qmk generate-api' to only publish pure DD keymaps (#24782)Joel Challis2025-04-231-0/+5
| |
* | Avoid duplication in generated community modules `rules.mk` (#25135)Joel Challis2025-04-232-35/+66
| |
* | Merge remote-tracking branch 'origin/master' into developQMK Bot2025-04-091-2/+2
|\|
| * More Windows->Unix style path fixes. (#25119)0.28.5Nick Brassel2025-04-091-2/+2
| |
* | [Modules] Provide access to current path in `rules.mk`. (#25061)Nick Brassel2025-03-261-0/+2
| |
* | [Core] use `keycode_string` in unit tests (#25042)Stefan Kerkmann2025-03-211-39/+0
|/ | | | | | | | | | | | | | | * 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 <[email protected]> * 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 <[email protected]>
* Fixup MSYS + unix-style paths in Community Modules. (#25012)Nick Brassel2025-03-191-2/+2
| | | Fixup MSYS + unix-style paths.
* Community modules (#24848)Nick Brassel2025-02-262-5/+304
|
* `qmk docs`: restore `--port` and `--browser` arguments (#24623)Ryan2025-02-011-4/+2
| | | | | * `qmk docs`: restore `--port` and `--browser` arguments * Make docs command args always a list
* [Core] Add Chordal Hold, an "opposite hands rule" tap-hold option similar to ↵Pascal Getreuer2025-01-271-5/+133
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* default_keyboard.h generation tweaks (#24715)Ryan2024-12-151-7/+12
|
* Rename encoder pins defines (#24003)Ryan2024-07-031-2/+2
|
* Implement data driven joysticks (#22947)Joel Challis2024-06-181-1/+37
|
* Generate keymap dd keycodes to header (#20273)Joel Challis2024-06-171-0/+51
|
* [CLI] Don't `exit()` when certain exceptions occur. (#23442)Nick Brassel2024-06-151-6/+6
|
* Vitepress conversion of docs. (#23795)0.25.2Nick Brassel2024-05-301-25/+17
|
* Merge remote-tracking branch 'upstream/master' into developNick Brassel2024-05-021-4/+30
|\
| * clangd enhancements. (#23310)Nick Brassel2024-05-021-4/+30
| |
* | Enable 'keyboard.json' as a build target (#22891)Joel Challis2024-03-101-1/+2
|/
* Ensure `qmk generate-compilation-database` copies to userspace as well. (#23129)Nick Brassel2024-02-221-1/+3
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2024-01-221-9/+2
|\
| * Move layout macro OOB checks to lint (#22610)Joel Challis2024-01-221-9/+2
| |
* | CLI: Allow generation of both LED and RGB Matrix config (#22896)Ryan2024-01-141-10/+15
| |
* | Generate true/false for _DEFAULT_ON options (#22829)Joel Challis2024-01-061-0/+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
|
* CLI parallel search updates (#22525)Nick Brassel2023-11-221-2/+2
|
* CLI refactoring for common build target APIs (#22221)Nick Brassel2023-11-151-6/+10
|
* Generate switch statement helpers for keycode ranges (#20059)Joel Challis2023-11-011-0/+8
|
* Implement data driven lighting defaults (#21825)Joel Challis2023-11-011-5/+8
|
* Add dd mapping for hardware based split handedness (#22369)Joel Challis2023-11-012-7/+21
|
* Remove use of broken split.main (#22363)Joel Challis2023-10-301-18/+0
|
* Fix 'to_c' for config.h mappings (#22364)Joel Challis2023-10-291-2/+2
|
* Implement data driven dip switches (#22017)Joel Challis2023-10-292-0/+34
| | | | | * Add data driven dip switches * Autogen weak matrix_mask
* Merge remote-tracking branch 'origin/master' into developQMK Bot2023-09-281-31/+32
|\
| * Allow inline generation of compile_commands.json while doing a `qmk ↵Nick Brassel2023-09-281-31/+32
| | | | | | | | compile`, using `--compiledb` (#21549)
* | Generate keymap.json config options more forcefully (#21960)Joel Challis2023-09-132-10/+21
|/
* keycode aliases: work around ChibiOS ch.h include guard (#21497)Ryan2023-07-311-0/+5
|
* CLI: Improve error messages when layout key matrix row/col is OOB (#21640)Ryan2023-07-311-5/+10
|
* Merge remote-tracking branch 'origin/master' into developQMK Bot2023-05-201-9/+8
|\
| * `qmk generate-make-dependencies` improvements (#21001)Nick Brassel2023-05-201-9/+8
| | | | | | | | | | * Recommendations from @sigprof * Fix CI tests
* | `qmk format-json`: Expose full key path and respect `sort_keys` (#20836)Ryan2023-05-201-1/+1
| |