Commit Graph
100 Commits
Author SHA1 Message Date
Zach WhiteandGitHub 0713797c58 Ensure that safe_commands always run (#13199)
* ensure that safe_commands always run

* import the config subcommand in bin/qmk
2021-06-14 16:51:58 -07:00
Zach WhiteandGitHub 3d62e1dfbf vscode: specify yapf as the formatting provider (#13206) 2021-06-13 17:52:31 -07:00
Zach WhiteandGitHub c277ae4768 Move hid and pyusb to requirements.txt (#13134)
* Add his and pyusb to

* Update requirements-dev.txt
2021-06-07 16:30:55 -07:00
Zach White 5cecfe8c9b Merge remote-tracking branch 'origin/master' into develop 2021-05-24 23:39:24 -07:00
Zach WhiteandGitHub aa97f52963 Use milc.subcommand.config instead of qmk.cli.config (#13002)
* Use milc.subcommand.config instead

* pyformat

* remove the config test
2021-05-24 23:36:38 -07:00
Zach WhiteandGitHub bc67ca6a59 search for the readme in higher directories as well (#12997) 2021-05-24 19:38:27 -07:00
Zach WhiteandGitHub 4c0d8ae8d7 ensure we do not conflict with existing keymap aliases (#12976) 2021-05-21 16:59:10 -07:00
Zach White 6955c5a002 Merge remote-tracking branch 'origin/master' into develop
Resolved Conflicts:
	lib/python/qmk/tests/test_cli_commands.py
	util/install/fedora.sh
2021-05-19 15:49:11 -07:00
db1eacdaac Align our subprocess usage with current best practices. (#12940)
* Align our subprocess usage with current best practices.

* remove unused import

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* fix the cpp invocation for older python

* allow for unprompted installation

* make sure qmk new-keyboard works on windows

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-05-19 15:24:46 -07:00
Zach WhiteandGitHub de5c30a9ba Use milc.subcommand.config instead of qmk.cli.config (#12915)
* Use milc.subcommand.config instead

* pyformat

* remove the config test
2021-05-16 11:06:57 -07:00
Zach WhiteandGitHub 6da60d4a5d Add setup, clone, and env to the list of commands we allow even with broken modules (#12868) 2021-05-12 09:40:58 -07:00
Zach WhiteandGitHub 38d8d5445e Remove KEYMAP and LAYOUT_kc (#12160)
* alias KEYMAP to LAYOUT

* remove KEYMAP and LAYOUT_kc
2021-05-11 10:10:31 -07:00
Zach White 0e7c66e891 Merge remote-tracking branch 'origin/master' into develop
Conflicts:
	bin/qmk
	lib/python/qmk/cli/__init__.py

Merge conflicts fixed by skullydazed.
2021-05-10 12:16:04 -07:00
bc38c38f8c Move the module checking and updating to lib/python (#12416)
* move the module checking and updating to lib/python

* make flake8 happy

* Update lib/python/qmk/cli/__init__.py

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

* prompt the user to disable developer mode

* pyformat

* flake8

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-05-10 12:00:52 -07:00
Zach WhiteandGitHub a3e7f3e7c5 Improve our CI tests (#11476)
* add a test and dry-run to qmk generate-api

* add a dry-run to qmk pyformat

* Add a --dry-run to qmk cformat

* reverse the order of nose2 and flake8 tests

* run CI test against cformat and pyformat

* fix programming errors

* tweak job name

* fix argument

* refine the files we select

* fix stack trace in --ci

* make cformat exit clean

* fix c file extensions

* decouple CI from pyformat

* remove --ci arg

* make ci happy

* use the environment var instead

* change output to text

* fix log message

* replace tabs
2021-05-10 11:18:44 -07:00
Zach WhiteandGitHub 5c924efa04 fix the makefile snippet so flake8 and yapf don't fight (#12849) 2021-05-09 11:30:17 -07:00
7a25dcacff New command: qmk console (#12828)
* stash poc

* stash

* tidy up implementation

* Tidy up slightly for review

* Tidy up slightly for review

* Bodge environment to make tests pass

* Refactor away from asyncio due to windows issues

* Filter devices

* align vid/pid printing

* Add hidapi to the installers

* start preparing for multiple hid_listeners

* udev rules for hid_listen

* refactor to move closer to end state

* very basic implementation of the threaded model

* refactor how vid/pid/index are supplied and parsed

* windows improvements

* read the report directly when usage page isn't available

* add per-device colors, the choice to show names or numbers, and refactor

* add timestamps

* Add support for showing bootloaders

* tweak the color for bootloaders

* Align bootloader disconnect with connect color

* add support for showing all bootloaders

* fix the pyusb check

* tweaks

* fix exception

* hide a stack trace behind -v

* add --no-bootloaders option

* add documentation for qmk console

* Apply suggestions from code review

Co-authored-by: Ryan <fauxpark@gmail.com>

* pyformat

* clean up and flesh out KNOWN_BOOTLOADERS

Co-authored-by: zvecr <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2021-05-08 20:56:07 -07:00
Zach WhiteandGitHub 767089384f Resolve a number of warnings in qmk generate-api (#12833) 2021-05-08 12:44:05 -07:00
Zach WhiteandGitHub 3e9f809988 fix some references to bin/qmk that slipped in (#12832) 2021-05-08 12:25:04 -07:00
5d27c772fd Fix comment parsing (#12750)
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-05-03 19:09:53 +02:00
Zach WhiteandGitHub 588bcdc8ca Add support for tab completion (#12411)
* Add support for tab completion

* make flake8 happy

* Add documentation
2021-04-14 19:00:22 -07:00
Zach White 41f649c9a9 fix line endings 2021-04-03 08:27:46 -07:00
Zach WhiteandGitHub 5dc7951dc0 add utf-8 encoding to the open() call (#12388) 2021-03-27 08:55:47 -07:00
Zach WhiteandGitHub 3e60997edb Add a qmk format-json command that will format JSON files (#12372)
* Add a command to format json files

* change to work after rebase

* add test for qmk format-json

* add documentation for qmk format-json

* Update lib/python/qmk/cli/format/json.py
2021-03-25 22:38:10 +11:00
Zach WhiteandGitHub 299008be36 Add support for qmk_configurator style aliases (#11954)
* Add support for qmk_configurator style aliases

* add the keyboard aliases to the api data

* add support for a keyboard metadata file

* make flake8 happy
2021-03-24 09:26:38 -07:00
Zach WhiteandGitHub e1a7027fe8 use layout aliases when processing info.json (#12333) 2021-03-22 18:58:07 -07:00
Zach WhiteandGitHub f2715a0593 Consistently use bin/qmk when that script is called (#12286)
* Pass QMK_BIN down to build_keyboard.mk

* choose the correct qmk script
2021-03-18 16:10:40 -07:00
Zach WhiteandZach White 6d8d20774f improve detection of community layout support 2021-03-09 08:04:07 -08:00
Zach WhiteandGitHub b0069c5c05 Begin the process of deprecating bin/qmk in favor of the global cli (#12109)
* Begin the process of deprecating bin/qmk in favor of the global cli

* Correctly set the qmk bin
2021-03-07 19:10:03 -08:00
Zach White b15288fb87 trivial change to trigger api update 2021-03-07 12:01:13 -08:00
Zach White 86e6be342c minor change to trigger api update 2021-03-07 08:14:43 -08:00
Zach White 0763269ec5 fix CI job: api-data->api_data 2021-03-06 21:26:07 -08:00
Zach WhiteandZach White 08e512a273 upload api data to spaces 2021-03-06 21:17:55 -08:00
Zach WhiteandGitHub 1cbf1c681a Enforce minimum versions for jsonschema and MILC (#12141) 2021-03-06 15:56:45 -08:00
Zach WhiteandZach White 58e733b5a0 remove keyboard_folder from info.json 2021-02-27 16:17:12 -08:00
Zach WhiteandGitHub 0828d0f5c7 Fix compile errors (#12048)
* fix compile errors

* fix broken json files
2021-02-27 23:25:41 +00:00
Zach WhiteandGitHub 1581ea48dc Fix develop (#12039)
Fixes file encoding errors on Windows, and layouts not correctly merging into info.json.

* force utf8 encoding

* correctly merge layouts and layout aliases

* show what aliases point to
2021-02-27 12:00:50 -08:00
Zach WhiteandZach White 23ef327e11 make LAYOUT parsing more robust 2021-02-24 16:47:38 -08:00
Zach WhiteandGitHub cd336b2b54 bump to python 3.7 (#11408) 2021-02-13 10:26:45 -08:00
Zach WhiteandGitHub 448cc1acd5 remove deprecated qmk json-keymap (#11823) 2021-02-08 11:03:08 +00:00
Zach WhiteandGitHub ef6329af7c Create a system to map between info.json and config.h/rules.mk (#11548)
* generate rules.mk from a json mapping

* generate rules.mk from a json mapping

* support for config.h from json maps

* improve the mapping system

* document the mapping system

* move data/maps to data/mappings

* fix flake8 errors

* fixup LED_MATRIX_DRIVER

* remove product and description from the vision_division keymap level

* reduce the complexity of generate-rules-mk

* add tests for the generate commands

* fix qmk doctor when submodules are not clean
2021-01-31 12:46:00 -08:00
Zach White 3af97ef6a2 Merge remote-tracking branch 'origin/master' into develop 2021-01-30 13:15:13 -08:00
Zach WhiteandZach White 051c0774f8 undef TAPPING_TERM in users/hvp/hvp.h 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 424d59bc7e rename callum's custom keycode that conflicts with a LUFA define 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 2f79cf9247 add missing _MACRO to users/brandonschlack/brandonschlack.h 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 361a2cf8a5 check for BACKLIGHT_ENABLE so this works on all keyboards 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White c9b3619299 change LAYOUT_planck_grid to LAYOUT_ortho_4x12 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White e5ecdd5242 bring the bocaj keymap inline with LAYOUT_ortho_4x12 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 0171e67494 bring the xyverz keymap inline with LAYOUT_66_ansi 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White e0769ea71d strip fn_actions 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 5ba21060cb remove conflicting NKRO_ENABLE flag 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 1ed9c53816 add missing ADJUST key 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 04d6d25ec3 make the tetris keymap fit 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 404bcc961c fix clueboard/66:magicmonty to bring hue under the 255 limit 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White c8edd6ec9e fix chimera_ortho:gordon so it compiles 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 13e4bd31d7 enable bluetooth on atreus:clash to fix compile error 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White cd53947d86 enable LTO on atreus:ibnuda to bring it below the threshold 2021-01-30 13:11:33 -08:00
Zach WhiteandZach White 915d757eb2 fix atomic:pvc so it compiles 2021-01-30 13:11:33 -08:00
d02c4c5241 Add a <FEATURE>_SUPPORTED flag (#9058)
* Initial attempt at allowing keyboards to indicate what features they do not support

* try to use a for loop instead

* Update disable_features.mk

Co-authored-by: Drashna Jaelre <drashna@live.com>

* add a few more features

* remove my test fixture

* disable things that make all:all suggested"

Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
2021-01-30 13:08:58 -08:00
Zach WhiteandGitHub 111eb8990d Fix QMK_BUILDDATE (#11641) 2021-01-20 20:38:18 +00:00
Zach WhiteandGitHub da40242dbc Generate version.h when compiling json files (#11581)
* generate version.h when compiling json files

* make flake8 happy

* fix formatting and verbose

* quiet up the compile output
2021-01-17 17:33:29 +00:00
Zach White 5abe666749 Merge remote-tracking branch 'origin/master' into develop 2021-01-16 15:21:06 -08:00
Zach WhiteandGitHub d9785ec313 Improve the compile and flash subcommands (#11334)
* add support for --clean to compile and flash

* compile standalone JSON keymaps without polluting the tree

* Add support for passing environment vars to make

* make flake8 happy

* document changes to qmk compile and flash

* add -e support to json export compiling

* Fix python 3.6

* honor $MAKE

* add support for parallel builds
2021-01-16 15:13:04 -08:00
Zach WhiteandZach White f4cf0d2f28 remove duplicate manufacturer 2021-01-13 16:03:52 -08:00
Zach WhiteandZach White 3c8da5eba8 move the info.json rules above userspace 2021-01-13 16:01:21 -08:00
Zach WhiteandGitHub 6368a5697d Exclude more keyboards from CI (#11436)
* exclude all of handwired

* exclude more keyboards from CI
2021-01-13 08:12:28 -08:00
a15c9057a1 Document how to add data driven configurations (#11502)
* describe how data driven configuration works

* Apply suggestions from code review

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>

Co-authored-by: ridingqwerty <george.g.koenig@gmail.com>
Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2021-01-10 20:47:58 -08:00
Zach WhiteandGitHub eaa9106ec7 Add support for specifying BOARD in info.json (#11492)
* add support for specifying BOARD in info.json

* move BOARD from rules.mk to info.json for clueboard

* fix keyboards that do not require board

* remove out of compliance values
2021-01-09 20:18:47 -08:00
962bc8d9dd Use the schema to eliminate custom code (#11108)
* use the schema to eliminate custom code

* Update docs/reference_info_json.md

Co-authored-by: Ryan <fauxpark@gmail.com>

* make flake8 happy

* bugfix

* do not overwrite make vars from json

Co-authored-by: Ryan <fauxpark@gmail.com>
2021-01-09 13:34:14 -08:00
Zach White 667161620a Merge remote-tracking branch 'origin/master' into develop 2021-01-08 11:21:27 -08:00
Zach White e2c7f89347 typo fix 2021-01-08 08:46:51 -08:00
Zach WhiteandZach White 58fcdf8c07 remove extraneous comment 2021-01-08 08:40:23 -08:00
Zach WhiteandZach White 959f566118 comment out a non-standard DIODE_DIRECTION 2021-01-08 08:40:23 -08:00
Zach WhiteandZach White 7e78699e79 use a custom name for custom pins 2021-01-08 08:40:23 -08:00
Zach WhiteandZach White 30331b383f fix bugs triggered by certain boards 2021-01-08 08:40:23 -08:00
Zach WhiteandZach White a828a82d59 remove the python dep update 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White a1007627e4 fix travis 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White 4394fc35ea change matrix/m20add to use non-standard names for non-standard pins 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White 82007aa03a Revert "loosen up the schema to allow any pin format"
This reverts commit e41762be64c170f42ab3f8aa6b7e3078e5895e92.
2021-01-07 21:21:12 -08:00
Zach WhiteandZach White e2e793c1c3 Revert "change invalid pin from error to warning"
This reverts commit 68da9cd19658071f0c2f22e97956303281703176.
2021-01-07 21:21:12 -08:00
Zach WhiteandZach White ed19198c78 loosen up the schema to allow any pin format 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White b44532aa3d change invalid pin from error to warning 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White 9a178f6826 fix rgblight properties 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White 56ef80216a make flake8 happy 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White 2a67ff690e clean up generate-api errors 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White b2c26f7cdd get qmk generate-api into a good state 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White 266a85eda0 add missing schemas 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White 0d3aca062e cleanup clueboard based on latest validation work 2021-01-07 21:21:12 -08:00
Zach WhiteandZach White ededff8556 validate keyboard data with jsonschema 2021-01-07 21:21:12 -08:00
Zach WhiteandGitHub f9269035fe Fix compiling treadstone32/rev1 (#11447)
* fix compiling treadstone32/rev1

* move most options back to top level rules.mk
2021-01-06 00:44:40 +00:00
Zach WhiteandZach White 5846445f48 Fix compiling squiggle/rev1 2021-01-05 13:18:09 -08:00
Zach WhiteandZach White 34513b4665 enable LTO to bring firmware size down 2021-01-05 13:13:47 -08:00
Zach White cf2f13fc77 Merge remote-tracking branch 'origin/master' into develop 2021-01-05 11:04:56 -08:00
Zach WhiteandZach White 6daa204363 fix keyboards with apostrophes in their names 2021-01-03 17:55:54 -08:00
Zach WhiteandZach White 5b2feecdf3 fix lizard_trick/tenkey_plusplus/info.json 2021-01-03 17:55:54 -08:00
Zach WhiteandZach White ac5a1ccffb fix clueboards 2021-01-03 17:55:54 -08:00
Zach WhiteandGitHub 11bd98f684 Fix broken keyboards (#11412)
* Fix a couple errors

* add a dependency for the generated headers
2021-01-03 13:08:17 +11:00
Zach WhiteandGitHub f27d8d9448 Fix compiling on develop (#11409) 2021-01-02 21:05:56 +01:00
Zach WhiteandGitHub c07543133a Return the make exit code for qmk compile and flash (#11402) 2021-01-02 17:27:35 +00:00
47b9b11009 Configure keyboard matrix from info.json (#10817)
* Make parameters from info.json available to the build system

* move all clueboard settings to info.json

* code formatting

* make flake8 happy

* make flake8 happy

* make qmk lint happy

* Add support for specifying led indicators in json

* move led indicators to the clueboard info.json

* Apply suggestions from code review

Co-authored-by: Erovia <Erovia@users.noreply.github.com>

* add missing docstring

Co-authored-by: Erovia <Erovia@users.noreply.github.com>
2020-12-30 10:27:37 -08:00