summaryrefslogtreecommitdiff
path: root/lib/python/qmk
AgeCommit message (Collapse)Author
2021-11-23Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-11-23qmk format-python - filter for Python files (#15271)Joel Challis
* qmk format-python filter all files * filter changed files too
2021-11-22Macros in JSON keymaps (#14374)Zach White
* macros in json keymaps * add advanced macro support to json * add a note about escaping macro strings * add simple examples * format json * add support for language specific keymap extras * switch to dictionaries instead of inline text for macros * use SS_TAP on the innermost tap keycode * add the new macro format to the schema * document the macro limit * add the json keyword for syntax highlighting * fix format that vscode screwed up * Update feature_macros.md * add tests for macros * change ding to beep * add json support for SENDSTRING_BELL * update doc based on feedback from sigprof * document host_layout * remove unused var * improve carriage return handling * support tab characters as well * Update docs/feature_macros.md Co-authored-by: Nick Brassel <nick@tzarc.org> * escape backslash characters * format * flake8 * Update quantum/quantum_keycodes.h Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-11-19Merge remote-tracking branch 'origin/master' into developDrashna Jael're
2021-11-18[CLI] `list-keymaps`/`list-layouts`: Check keyboard passed in (#15204)Ryan
* [CLI] `list-keymaps`/`list-layouts`: Check keyboard passed in * Update lib/python/qmk/cli/list/keymaps.py Co-authored-by: Joel Challis <git@zvecr.com> * Update lib/python/qmk/cli/list/layouts.py Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
2021-11-18[cli] Export list of `develop` PRs to be merged into `master` (#13944)Nick Brassel
* Add developer-only command for exporting the list of PRs associated with a merge to `develop`. * qmk pytest * Imports. * Remove dependencies from requirements file, manually handle. * Reduce complexity, qmk generate-api taking too long so relying on CI
2021-11-17Add diff logic to python format subcommand (#15156)Joel Challis
* Add diff logic to python format subcommand * Update test * Add in filter per format-c * fix tests * Update new workflow
2021-11-14Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-11-14Partially reinstate CI formatting process (#15155)Joel Challis
* Partially reinstate CI formatting process * Fix exit code on clean run * Fix exit code on clean run
2021-11-05Merge remote-tracking branch 'upstream/master' into developNick Brassel
2021-11-04Fixup actions. (#15057)Nick Brassel
2021-11-05CLI: Add 'cd' subcommand (#12584)Erovia
* CLI: Add 'cd' subcommand Go to your qmk_firmware dir with ease. * Fix for Windows and do not run if already under QMK Home * Make flake8 happy * Fix prompt for Windows * Make flake8 happy once again * I'll get it right eventually * Apply suggestions from code review Co-authored-by: Ryan <fauxpark@gmail.com> * Add subcommand to __init__.py and fixup after rebase * Update Windows code to use milc's run * Unify the subshell starting with os.execl * Exit with error msg when output is redirected to non-TTY. * Revert Windows-specific code Co-authored-by: Ryan <fauxpark@gmail.com>
2021-11-05Remove `BOOTMAGIC_ENABLE = lite` option (#15002)James Young
* remove BOOTMAGIC_ENABLE=lite setting * change keyboard BOOTMAGIC_ENABLE rules Edits keyboard-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`. * change keyboard BOOTMAGIC_ENABLE inline comments Edits keyboard-level BOOTMAGIC_ENABLE inline comments to "Enable Bootmagic Lite". * change keymap BOOTMAGIC_ENABLE rules Edits keymap-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`. * change keymap BOOTMAGIC_ENABLE inline comments Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite". * change layout/user BOOTMAGIC_ENABLE rules/comments Edits instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`. Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite". * update non-rules.mk BOOTMAGIC_ENABLE references in keyboards/ * remove docs references to Full Bootmagic * convert data-driven Bootmagic Lite instances * remove Bootmagic Lite bodge from data-driven generation * Merge remote-tracking branch 'upstream/develop' into rm/bootmagic-full_q4a * update docs/ja/config_options.md per mtei * update docs/faq_misc.md per mtei Remove remaining Full Bootmagic reference.
2021-11-04Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-11-05Refactor new-keyboard to be python3.7 compatible (#14707)Mikkel Jeppesen
* Use copy_tree from distutils for python 3.7 support * Bump python version in docs * Changed new-keyboard to use printf-style format strings * Use username for manunfacturer / maintainer * Update lib/python/qmk/cli/new/keyboard.py Co-authored-by: Zach White <skullydazed@drpepper.org> Co-authored-by: Zach White <skullydazed@drpepper.org>
2021-11-05Map `PRODUCT` define to `keyboard_name` (#14372)Ryan
* Map `PRODUCT` define to `keyboard_name` * Fix tests * Fix last test
2021-11-04Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-11-05`qmk docs`: Run `docsify serve` if available (#15056)Ryan
2021-10-31Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-10-31[CLI] Fix broken layout rendering in `qmk info` by '\n' (#14970)Mateusz Ż
2021-10-18Split out HAPTIC_ENABLE to have separate DRIVER option (#14854)Joel Challis
* DRIVER -> ENABLE * Update generic_features.mk Co-authored-by: Ryan <fauxpark@gmail.com> * Update common_features.mk Co-authored-by: Ryan <fauxpark@gmail.com>
2021-10-18[Core] Add support for RISC-V builds and GD32VF103 MCU (#12508)Stefan Kerkmann
* Add support for RISC-V builds and GD32VF103 MCU * Add toolchain selection in chibios.mk based on the mcu selected in mcu_selection.mk * Reorder and added comments to chibios.mk to have a streamlined makefile * Add GD32VF103 mcu to possible targets for QMK. * Add STM32 compatibility for GD32VF103 MCU, this is hacky but more efficent then rewriting every driver. * Add GigaDevice DFU bootloader as flash target, please note that dfu-util of at least version 0.10 is needed. * Add analog driver compatibility * Add apa102 bitbang driver compatibility * Add ws2812 bitbang driver compatibility * Add eeprom in flash emulation compatibility * Allow faster re-builds with ccache * Add SiPeed Longan Nano to platform files * Add SiPeed Longan Nano Onekeys * Make quine compatible with other bootloaders * Support builds with picolibc * Add risc-v toolchain to arch and debian/ubuntu scripts
2021-10-16Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-10-16Try to clarify "number of elements in info.json does not match" error (#14844)Ryan
2021-10-15Enable CLI flashing via mdloader (#14729)Joel Challis
* Enable CLI flashing via mdloader * remove flag * Update qmk flash help
2021-10-09Remove QWIIC_DRIVERS (#14174)Joel Challis
2021-10-04Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-10-04Allow community layouts to be specified in info.json (#14682)Zach White
* move the community layout detection to python * fixup tests
2021-09-30Change `MK66F18` -> `MK66FX1M0` (#14659)Ryan
2021-09-27Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-09-27Cleanup issues identified by lgtm (#14459)Zach White
* cleanup issues identified by lgtm * fix the git_status check
2021-09-20compiledb: query include paths from gcc directly. (#14462)Nick Brassel
* Query include paths from gcc directly. * Change to -isystem * qmk format-python * tests
2021-09-16New CLI subcommand to create clang-compatible compilation database ↵Bao
(`compile_commands.json`) (#14370) * pulled source from dev branch * missed a file from origin * formatting * revised argument names. relaxed matching rules to work for avr too * add docstrings * added docs. tightened up regex * remove unused imports * cleaning up command file. use existing qmk dir constant * rename parser library file * move lib functions into command file. there are only 2 and they aren't large * currently debugging... * more robustly find config * updated docs * remove unused imports * reuse make executable from the main make command * pulled source from dev branch * missed a file from origin * formatting * revised argument names. relaxed matching rules to work for avr too * add docstrings * added docs. tightened up regex * remove unused imports * cleaning up command file. use existing qmk dir constant * rename parser library file * move lib functions into command file. there are only 2 and they aren't large * currently debugging... * more robustly find config * updated docs * remove unused imports * reuse make executable from the main make command * remove MAKEFLAGS from environment for better control over process management * Update .gitignore Co-authored-by: Michael Forster <forster@google.com> * add a usage line to docs * doc change as suggested Co-authored-by: Nick Brassel <nick@tzarc.org> * rename command * remove debug print statements * generate-compilation-database: fix arg handling * generate-comilation-db: improve error handling * use cli.run() instead of Popen() Co-authored-by: Xton <cdewan@apple.com> Co-authored-by: Christon DeWan <cmdpix@mac.com> Co-authored-by: Michael Forster <forster@google.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-09-12Merge remote-tracking branch 'upstream/master' into developfauxpark
2021-09-12Remove width, height and key_count from info.json (#14274)Ryan
2021-09-10Change USBasp and bootloadHID bootloaders to lowercase (#14354)Ryan
2021-08-29Remove bin/qmk (#14231)Zach White
* Remove the bin/qmk script * remove bin/qmk from workflows
2021-08-29Merge remote-tracking branch 'origin/master' into developQMK Bot
2021-08-29ensure that the directory for sys.executable is in the user's path (#14229)Zach White
2021-08-28fix automatic directory for qmk lint (#14215)Zach White
2021-08-29Add check for non-assignment code in rules.mk (#12108)Zach White
* Add check for non-assignment code in rules.mk * fix lint check * fix lint * fixup to reflect the final state of #8422 * fix lint
2021-08-29remove qmk console, which is now part of the global cli (#14206)Zach White
2021-08-24Align some quantum sub-directories (#14134)Joel Challis
* Misc folder tidy * Review comments * Remove redundant entry
2021-08-20Merge remote-tracking branch 'origin/master' into developZach White
Resolved Conflicts: lib/python/qmk/info.py
2021-08-20Restore layout count validation (#14068)Joel Challis
2021-08-18Add config.h and rules.mk support for data driven keymaps (#12859)Joel Challis
* Add config.h and rules.mk support for data driven keymaps * tidy up after rebase * Rename key as it can contain more than just keyboard overrides * tidy up after rebase * Add validation
2021-08-18`--parallel` improvements (#13800)ruro
* improve make parallel jobs support * document the --parallel option * disable the output-sync for interactive targets
2021-08-18[CLI] Add qmk-hid bootloader detection support to `qmk console` (#14038)Drashna Jaelre
* [CLI] Add qmk-hid bootloader detection support to `qmk console` * Remove duplicate entry Co-authored-by: Ryan <fauxpark@gmail.com> * Begrudgingly add lufa-ms * Add udev rules for hid bootloaders * Update util/udev/50-qmk.rules Co-authored-by: Sergey Vlasov <sigprof@gmail.com> * Fix VID/PID combos Co-authored-by: Sergey Vlasov <sigprof@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com> Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
2021-08-16Add a lot more data to info.json (#13366)Zach White
* add some split data to info.json * add tags * add half of config_options.md to info.json * add support for designating master split * sort out split transport and primary * fix bad data in UNUSED_PINS * fixup custom transport * wip * allow for setting split right half keyboard matrix * add SPLIT_USB_DETECT * minor cleanup * fix an erroneous message * rework split.usb_detect * adding missing rgblight vars to info.json * add mouse_key to info.json * add all remaining options from docs/config_options.md * fix audio voices * qmk info: Change text output to use dotted notation * tweak layout output * resolve alias names * break out some functions to make flake8 happy * add a field for bootloader instructions * qmk generate-info-json: add a write-to-file argument Adds an argument that instructs qmk generate-info-json to write the output to a file instead of just to the terminal. * -arg_only, +action Because it was never my intention that one would have to specify a value for the argument that enables writing the file. * Bring qmk generate-info-json inline with other generate commands * pytest fixup * fix esca/getawayvan * fix data driven errors for bpiphany converters * features.force_nkro -> usb.force_nkro * split.primary->split.main * fix esca/getawayvan_f042 * fix the bpiphany converters for real * fix bpiphany/tiger_lily * Apply suggestions from code review Co-authored-by: Nick Brassel <nick@tzarc.org> * fix generate-api errors * fix matrix pin extraction for split boards * fix ploopyco/trackball_nano/rev1_001 Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Nick Brassel <nick@tzarc.org>
2021-08-16Defer the expensive search for layout macros until info.json has been ↵Zach White
processed (#14007) * defer the expensive search for layout macros until info.json has been processed * fixup names