The code which generated the MATRIX_COLS and MATRIX_ROWS defines from
the JSON information was checking the presence of the `matrix_pins` key,
which may not exist if a custom matrix is used. Check the presence of
`matrix_size` instead.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Sergey Vlasov <sigprof@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* Install dependencies before executing unit tests.
* Split out UTF-8 decoder.
* Fixup python formatting rules.
* Add documentation for QGF/QFF and the RLE format used.
* Add CLI commands for converting images and fonts.
* Add stub rules.mk for QP.
* Add stream type.
* Add base driver and comms interfaces.
* Add support for SPI, SPI+D/C comms drivers.
* Include <qp.h> when enabled.
* Add base support for SPI+D/C+RST panels, as well as concrete implementation of ST7789.
* Add support for GC9A01.
* Add support for ILI9341.
* Add support for ILI9163.
* Add support for SSD1351.
* Implement qp_setpixel, including pixdata buffer management.
* Implement qp_line.
* Implement qp_rect.
* Implement qp_circle.
* Implement qp_ellipse.
* Implement palette interpolation.
* Allow for streams to work with either flash or RAM.
* Image loading.
* Font loading.
* QGF palette loading.
* Progressive decoder of pixel data supporting Raw+RLE, 1-,2-,4-,8-bpp monochrome and palette-based images.
* Image drawing.
* Animations.
* Font rendering.
* Check against 256 colours, dump out the loaded palette if debugging enabled.
* Fix build.
* AVR is not the intended audience.
* `qmk format-c`
* Generation fix.
* First batch of docs.
* More docs and examples.
* Review comments.
* Public API documentation.
* CLI: Lint non-data driven macros in info.json
Macros in info.json should either have the "matrix" key with the matrix
data or should should be also present in <keyboard>.h
* Add verification of matrix data
* Use generic '<keyboard>.h' in output
* Add keyboard name to output
* Make C layout macro finding more robust
The old code missed C macros if they had whitespace between '#' and
'define' or had whitespace before '#'.
The 'cd' subcommand was failing as the current shell's Windows path was
mangled while milc processed it.
Using 'subprocess' directly avoids this issue and an extra layer of
subshell.
* Fix schema validator
It should use the passed schema.
* Add required attributes to keymap schema
* Rework subcommands to validate the JSON keymaps
The 'compile', 'flash' and 'json2c' subcommands were reworked to add
JSON keymap validation so error is reported for non-JSON and
non-compliant-JSON inputs.
* Fix required fields in keymap schema
* Add tests
* Fix compiling keymaps directly from keymap directory
* Schema should not require version for now.
* Changelog.
* Remove the asymmetric encoder PR from listing due to revert.
* More docs
* More docs
* More docs
* Links to changelog, updated schedule, slotted in 2 weeks of testing at the end so that there's no ambiguity with PR merge dates.
* Clarify keyboard moves.
* Fix dates
* Sidebar
* Fixup dates.
* Fixup dates.
* Wording.
* 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>
* 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
* 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>
* 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>
* 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>