Commit Graph
69 Commits
Author SHA1 Message Date
EroviaandGitHub 7db826dce8 CLI: Fix json flashing (#11765) 2021-02-01 20:55:35 +01:00
EroviaandGitHub b5c2e5e8fd Fix documentation so UCIS example compiles. (#11541) 2021-01-14 11:11:59 +11:00
a380a26ad2 Split of the doctor codebase (#11255)
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-12-21 13:29:36 +01:00
EroviaandGitHub d17caeb8ec Fix lineending in mt84 files (#11150) 2020-12-07 20:21:44 +00:00
EroviaandGitHub b337ba798e CLI: Udev related fixes and improvements (#10736) 2020-11-16 21:09:32 +00:00
EroviaandGitHub ad86894ae7 Rename keyboard-level readmes to lower-case (#10759)
This is the recommendation in the [PR
Checklist](https://docs.qmk.fm/#/pr_checklist?id=keyboard-prs) and it
will make working with them easier in the CLI/API/etc.
2020-10-25 15:23:42 +00:00
EroviaandGitHub 459f672879 CLI: Fix stripping of ANY from Configurator exports (#10585)
058737f broke it ¯\_(ツ)_/¯
2020-10-09 18:46:49 +01:00
EroviaandZach White a67b32425b Docs: fix udev rules
Apparently, udev does not like inline comments.
Rules with them are ignored, oops.
2020-10-06 17:29:47 -07:00
058737f116 [CLI] Add c2json (#8817)
* Basic keymap parsing finally works

* Add 'keymap.json' creation to the qmk.keymap module

* Add tests and fix formatting

* Fix/exclude flake8 errors

* Convert keymap.c to valid keymap.json

* Fix some errors

* Add tests

* Finalize keymap.json creation, add json template

* Add docs

* Move pygments to the standard requirements

* Add support for nameless layers, fix tests

* Fix things after rebase

* Add missing 'keymap' value.

* Fix missing layer numbers from advanced keycodes

Buckwich noticed that if the advanced keycode / layer toggling key
contains a number, it goes missing.
Now we properly handle them.
Thx for noticing!

* Apply suggestions from code review

* fixup tests

Co-authored-by: Zach White <skullydazed@drpepper.org>
Co-authored-by: skullY <skullydazed@gmail.com>
2020-10-06 17:10:19 -07:00
ac24f203cc Docs/PR_checklist: Reorder, unify and pet-peeves (#10253)
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
2020-09-06 13:06:12 +01:00
EroviaandGitHub e6bcc232ed Docs: update ModemManager recommendation (#9328)
Instead of modifying the service file provided by the distro,
use drop-in functionaly to explicitly specify the policy.
2020-07-07 19:22:38 +01:00
EroviaandGitHub a0bf235644 CLI: Add ATmega328 and ATtiny85 to supported CPUs (#9371)
* CLI: Add ATmega328 to supported CPUs

Support for ATmega328 was added in #9043.

* Update lib/python/qmk/constants.py
2020-06-17 15:45:53 -07:00
6501377070 CLI: fix json2c subcommand and add/fix tests (#9206)
Co-authored-by: Zach White <skullydazed@users.noreply.github.com>
2020-05-26 17:43:33 +02:00
EroviaandGitHub 179e5c018f CLI: Rework submodule checking (#9162) 2020-05-21 21:56:43 +02:00
EroviaandGitHub 83ebbf57b3 Fix submodule check (#9155) 2020-05-21 10:15:18 +02:00
EroviaandZach White 6b54f3ce1c CLI: Tune doctor's udev rule checking to match #8750 2020-05-15 12:59:46 -07:00
2c0deb8a13 Update and try to clarify the CLI installation on Linux (#8783)
* Update and try to clarify the CLI installation on Linux

* Update commands, add note for Debian/Ubuntu

* Update docs/newbs_getting_started.md

Co-Authored-By: Joel Challis <git@zvecr.com>

Co-authored-by: Joel Challis <git@zvecr.com>
2020-04-27 20:29:31 +01:00
51ecd37d7b Add VIA support for Minivan (#8849)
Co-Authored-By: Joel Challis <git@zvecr.com>
2020-04-19 18:44:05 +02:00
EroviaandGitHub 46a84ec84a Load keymap-level rules.mk when compiling keymap.json (#8841) 2020-04-18 14:29:48 +01:00
Eroviaandskullydazed 8fe5c718b4 Fix edge-case with config
Without this check, users can lock themselves out by enabling developer
mode, than disabling the dependencies. They wouldn't be able to turn off
developer mode as none of the subcommands (including 'config') would
work.
2020-04-08 09:31:14 -07:00
Eroviaandskullydazed 38f14c4174 Don't hide for devs... 2020-04-08 09:31:14 -07:00
Eroviaandskullydazed eb683c8c52 Apply @skullydazed's suggestions, move 'import milc'
Only 'import milc' after we are sure that the minimum required modules
are available, as it depends on a few of them.
2020-04-08 09:31:14 -07:00
Eroviaandskullydazed 21799be1ca Make dedicated sections for user/dev commands in docs 2020-04-08 09:31:14 -07:00
Eroviaandskullydazed 5cfc3ce02e Rebase on master, hide some other subcommands
The list of hidden subcommands were approved by @skullydazed ;)
Currently hidden if 'user.developer' is not True:

  - cformat
  - docs
  - kle2json
  - pyformat
  - pytest
2020-04-08 09:31:14 -07:00
Eroviaandskullydazed 724f20ed32 Use milc for config check, requirements fixes
Use milc's config finding and parsing to check if the user is a
developer or not.
'requirements-dev.txt' will now load 'requirements.txt', so no need to
run pip twice.
Add missing 'yapf' dependency to 'requirements-dev.txt'.
2020-04-08 09:31:14 -07:00
Eroviaandskullydazed c61f016fa4 CLI: Add development mode support
Hide development specific options and don't require dev modules unless
`user.developer` is set to `True`.
2020-04-08 09:31:14 -07:00
c89c084146 CLI: More MSYS2 fixes (#8577)
* CLI: More MSYS2 fixes

Now I can fully setup and work with qmk_firmware on an MSYS2
installation without any errors or exceptions.

* Apply suggestions from code review

Co-Authored-By: skullydazed <skullydazed@users.noreply.github.com>

* Some improvements

* Remove unnecessary import

* Remove slow, unused code

Getting the version from GIT was slow on both Windows and Docker.
Until we find a better, faster way, this is removed.

* remove unused imports

* Implement @vomindoraan's suggestions

* refine how we pick the shell to use

* Apply @fauxpark's suggestions

fauxpark investigated the topic of shells in MSYS2 a bit and we come to the conclusion that the safest bet was to just use the user's shell.
Anything more just opens up more edge-cases than it solves.

Co-Authored-By: Ryan <fauxpark@gmail.com>

* Use `platform_id` in doctor

This will bring it in line with the new code.

Co-authored-by: skullydazed <skullydazed@users.noreply.github.com>
Co-authored-by: skullY <skullydazed@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-29 14:29:44 +02:00
Eroviaandskullydazed 8123dd2649 CLI: Hide json-keymap subcommand, as it's been deprecated. 2020-03-18 10:17:23 -07:00
EroviaandGitHub 6698af9c3d Fix Dimple VIA keymap (#8466) 2020-03-17 17:04:03 +01:00
61da615308 Add VIA support for LazyDesigners Dimple. (#8447)
* Assign unique VID to LazyDesigners' boards

* Add VIA support for LazyDesigners Dimple

* Apply @fauxpark's suggestions

Co-Authored-By: Ryan <fauxpark@gmail.com>

Co-authored-by: Ryan <fauxpark@gmail.com>
2020-03-17 15:34:37 +01:00
Eroviaandskullydazed 512261b343 Pathlib-ify qmk.keymap.list_keymaps() 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 3db41817e0 Code cleanup, use pathlib, use pytest keyboard
Clean up checks and logics that are unnecessary due to MILC updates.
Use pathlib instead of os.path for readability.
Use the 'pytest' keyboard for the tests.
Add community layout for 'handwired/onekey/pytest' so we can test
community layouts.
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 8eeab1112a Fix commandline parsing and flake8 findings, rebase
Fixed commandline and config parsing. Thx @xplusplus.
Rebased on master and fixed merge conflicts.
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 988bfffca2 Major rework, no regex/globbing, more walking
Instead of using regexes and globbing to find the rules.mk and keymap.c
files, walk the directory tree to find them.
Also, do away with the concept of revision.
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 8ff72d9517 Fix merging community and base keymaps 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 4445e0a459 Return only the unique keymaps 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 3ed1223678 Drop bs4 dependency, update docs, minor improvements 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed d257a98cb8 Fix regex for parsing rules.mk files
I don't know why it couldn't put it together before... ¯\_(ツ)_/¯
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed f8002828ca Add test for list_keymaps 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 26f53d38d9 Another major refactoring, add documentation
Move all useful functions to the qmk module and use the cli subcommand
as a wrapper around it.
Add both inline comments and documentation.
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed f96085af38 Fix output format 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed e46cc2db8c Try to figure out revision, drop -rv/--revision argument 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed c3b168e6fd Fix help message. 2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 62c1bcba71 Get all buildable keymaps for each revision
The command now return all keymaps that's buildable for a
keyboard/revision. If the base directory of a keyboard does not contain
a 'rules.mk' file, nothing is returned. If the base directory contains a
'keymaps' directory, those keycaps will be returned for every revision.
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 057c7d0ffe Major update to work better with revisions
Find the community keymaps supported by each revision.
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 1d3271999a Add bs4 to requirements.txt
UnicodeDammit is needed from bs4 for reading files.
2020-02-15 15:19:03 -08:00
Eroviaandskullydazed 409c610543 CLI: add support for list_keymaps
List all the available keymaps for a given keyboard
2020-02-15 15:19:03 -08:00
EroviaandGitHub b6e23f974b Update the flash cli command to use the user config (#8125) 2020-02-08 23:58:28 +01:00
Eroviaandskullydazed 1f86e8ae9a Fix attribute heritance for long commands.
This is needed for inheritance to work with commands that have dashes in
their names.
2020-01-19 21:29:36 -08:00
Eroviaandskullydazed e7f6e90a22 Fix commandline arg merging, small improvements
Commandline args should be merged with the submodule's config.
Compare config values to None instead of False, so empty lines and False
can be used as values.
2020-01-19 21:29:36 -08:00
Eroviaandskullydazed 20290a1cff MILC: Fix/complete attribute heritance
If an undefined attribute of a submodule is accessed, fall back to
same attribute of the submodule's parent.
2020-01-19 21:29:36 -08:00
Eroviaandskullydazed 8f47e62b36 Make the udev rules easier to read and manage 2020-01-11 12:18:30 -08:00
Eroviaandskullydazed e905d86fc5 Fix Pro Micro's and its bootloader's name 2020-01-11 12:18:30 -08:00
Eroviaandskullydazed c6f47b5bd7 CLI: Rework ModemManager check and add udev check 2020-01-11 12:18:30 -08:00
Eroviaandskullydazed 7e7eb69edf MILC: Add support for hidden subcommands (#7034)
* MILC: Add support for hidden subcommands

Subcommands with 'hidden=True' will not show up in the help output, but
will work as any other subcommands.

* Hide those hidden submodules, for real now

* Rebase on latest MILC
2019-11-21 12:52:00 -08:00
EroviaandJames Young 25e9853efe [Core] Fix ps2avrgb template (#7412) 2019-11-19 13:00:45 -08:00
EroviaandJames Young c1c27b83aa [Keyboard] Add support for the THE30 keyboard (#7390) 2019-11-19 12:56:01 -08:00
EroviaandJoel Challis 7b6c8e89ca Doc fix to conform with #7221 (#7392) 2019-11-17 16:04:44 +00:00
Eroviaandskullydazed a5a31a5fc0 MILC: Use dashes instead of underscores for subcommands
The subcommand functions' name follows the Python convention of using
snake case, but looks odd on the command line.
Fix it by converting underscores to dashes, eg.: list_keyboards ->
list-keyboards.
2019-10-23 22:46:30 -07:00
Eroviaandfauxpark 60cd12f8a4 Dimple: Fix Caps Lock LED behaviour (#6936)
* Dimple: Fix Caps Lock LED behaviour

* Dimple: fix helper functions and cleanup unnecessary code
2019-10-07 05:15:17 +11:00
EroviaandDrashna Jaelre a678f4a206 [Keyboard] Dimple: fix unintended LED behaviour (#6046)
* Dimple: fix unintended LED behaviour

The LED was always-on if the custom keymap did not call dimple_led_off()
at least once.

* Dimple: LED code fixup
2019-06-03 12:09:46 -07:00
EroviaandMechMerlin f7caca51f6 Add support for Dimple (#5963)
Add support for Dimple, a 40% custom keyboard designed and produced by LazyDesigners.
2019-05-23 17:26:15 -07:00
EroviaandMechMerlin 066818f5f9 Define RGB colors (#5300)
* Define RGB colors

Define RGB colors and pass them to the rgblight functions, instead of
defining multiple macros.

* Add new color definitions support for RGB Matrix

* Add/clarify info about new color definitions in Docs

* Add deprecation warning banner to rgblight_list.h
2019-04-22 08:26:41 -07:00
EroviaandMechMerlin f9c5b80aed Add support for THE60 (#5385) 2019-03-13 16:26:25 -07:00
EroviaandMechMerlin 642f6cf14f Add support for using ranges for RGB (#4981)
* Add support for using ranges for RGB

This patch adds support for controlling continuous ranges of RGB LEDs.
Helper functions for split boards are also available.

* RGB Range: Use hardware-platform agnostic wait
2019-02-15 06:52:04 -08:00
EroviaandDrashna Jaelre ee96b7a89d [Keyboard] Add support for THE50 (#4844)
* Add support for THE50

A 50% custom keyboard designed and produced by LazyDesigners

* THE50 code-improvement

Implement the changes suggested by noroadsleft.
2019-01-14 00:49:00 -08:00
EroviaandMechMerlin 0b0c98929b Add support for S7 Elephant (#4511)
* Add support for S7 Elephant

A high-end 70% custom keyboard designed and produced by jacky from Geekhack.

* Polish S7 Elephant code

Implement drashna's suggestions:

- specify bootloader
- remove unnecessary defines
- use led_set_user() for LED logic

* Correct info.json and s7_elephant.h

Correct info.json and s7_elepant.h to follow QMK convention and fix a
missing curly bracket.
2018-12-01 08:57:30 -08:00
EroviaandDrashna Jaelre a7d46f1b0f Keymap: Add ErgoDone keymap with QWERTY and COLEMAK Mod-DH (#3884)
* Custom keymap for the ErgoDone

The keymap supports QWERTY and COLEMAK MOD-DH with LED indication.

* Enable Space Cadet Shift

* Fix after-boot layer indicator LED

* Implement keyboard suspend, move layer LED handling to function, unify
identation

* Add readme.md with layout

* Optimize LED handling, add include guard

Read the default layer via the proper EEPROM function, so the calling of
bootmagic() is no longer necessary.
Fix bug when the CapsLock LED wasn't working anymore after a layer
switch.
2018-09-30 11:14:06 -07:00
EroviaandDrashna Jaelre f1612b7fa1 Keymap: Add Contra keymap with QWERTY and COLEMAK Mod-DH (#3883)
* Add own personal Contra layout

* Enable auto-shifting

* Enable tap dancing and implement Space Cadet-like shift with LSHIFT and ENTER

* Implement Colemak Mod-DH layout, clean up Adjust layer

* Implement keyboard and keymap refactor

More info: https://github.com/qmk/qmk_firmware/pull/3191

* Update the readme.md and keymap.c files for Colemak

* Add include guard, make layout description cleaner
2018-09-13 09:07:21 -07:00