Enable RGB/Underglow/NeoPixel for the built-in NEOPIXEL LED on
Seeed XIAO RP2040. By default set it 25% brightness with rainbow
animation.
Signed-off-by: Leon Anavi <leon@anavi.org>
Add support for ANAVI Knobs 3: an open source programmable mini
mechanical keyboard with 3 rotary encoders and Seeed XIAO RP2040.
This is open source hardware designed with KiCad.
Signed-off-by: Leon Anavi <leon@anavi.org>
* Adding missing keys for the lily58
Using the Colemak layout, I added the missing keys from kmk_firmware/boards/lily58/main.py from master branch.
* Fix
Added missing last if statement.
* TellNoLies.py
Colemak_DH layout with bluetooth, no TRRS connection, keyboard setup.
* lily58_Colemak.py
Bluetooth setup with Colemak_dh layout; no rgb.
* Fix format
Fixed the (kc) error on right thumb lower layer.
* I realized that I submited the wrong main.py
I made sure that I added the correct amount of keys for the lily58 keyboard reverting back to default layout; from previous commit.
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).
Wow, what a trip this was. Layer support is now fully implemented. Other
changes here mostly revolve around the event dispatching model: more
floating state (hidden in clases wherever) has been purged, with the
reducer (now mutable, comments inline) serving, as it should, as the
sole source of truth. Thunk support has been added to our fake Redux
clone, allowing Action Creators to handle sequences of events (which is
arguably a cleaner way of handling matrix changes when not all matrix
changes should result in a new HID report - in the case of internal
keys). A whole class has been deprecated (Keymap) which only served as
another arbitor of state: instead, the MatrixScanner has been made
smarter and handles diffing internally, dispatching an Action when
needed (and allowing the reducer to parse the keymap and figure out what
key is pressed - this is the infinitely cleaner solution when layers
come into play).
- Lock our vendored dependencies (also pull in some new ones I will be
needing soon)
- Ensure we have a sane way of pulling those vendored dependencies into
the DFU-flashable images (upy-freeze.txt)
- Break up the Makefile into a bunch of smaller, sometimes reusable
chunks
- Add a noop keyboard that simply exits, so we can flash a "keyboard"
that just dumps us straight to REPL
- Remove my personal ampy config since that's not portable at all