Make user keymaps fully declarative

This removes the need for the user to define... most things, honestly.
Notably, `main()` is no longer the end user's responsibility. This also
allows us to do fun stuff going forward like validating keymaps for
sanity (ex: the key assigned to `KC_MO(x)` should be assigned to
`KC_TRNS` on the target layer or the user will never be able to escape
that layer).

This also disambiguates `BOARD` to always refer to an actual slab of
silicon, renaming to `USER_KEYMAP`.

Entrypoints are now a bit more wild, and mostly-unsupported boards no
longer have working entrypoints. It's probably just time to scrap those
boards for now (until we have BLE HID and/or bitbang USB HID, at least).
This commit is contained in:
Josh Klar committed 2018-09-23 03:03:47 -07:00
1 parent 5f9f3be966
commit 97091ff4fd
17 files changed
+91 -114

No files matched your search

+1 -1
View File
@@ -3,7 +3,7 @@ exclude = .git,__pycache__,vendor,.venv
max_line_length = 99
ignore = X100
per-file-ignores =
boards/**/*.py: E501
user_keymaps/**/*.py: F401,E501
[isort]
known_third_party = analogio,bitbangio,bleio,board,busio,digitalio,framebuf,gamepad,gc,microcontroller,micropython,pulseio,pyb,pydux,uio,ubluepy,machine,pyb