2ccad46e26
* update modtap to holdtap
* Update links
* Revert "Update links"
This reverts commit
|
||
---|---|---|
.. | ||
kb_v1.py | ||
main.py | ||
README.md |
Kyria Keyboard
A split keyboard with a 3x6 columnar stagger and 7 thumb keys. One button on each side is usually replaced by an encoder.
Official retailer of Kyria PCB: splitkb.com. PCB was designed with QMK in mind and KMK implementation is not officially supported by PCB designer and seller.
Keyboard works with controllers having Pro Micro layout. Existing configurations:
PCB version | Board | Config file |
---|---|---|
1.* | Any quickpin pro micro based board. | kb_v1_ |
2.* | Any quickpin pro micro based board. | waiting for pinout docs |
Compatibility issues
- TRRS connection - KMK has no protocol for one-pin communication between two splits. So, if you are using TRRS wire connection, only right side send matrix events to the left side. No issue when using BLE.
- Right side encoder - right encoder currently doesn't send updates to left half and can even freeze right half
- OLED screens - OLED screens are not required, but often element of Kyria keyboards. KMK have no official OLED implementation, but as it's based on Circuit Python, adding one is very simple and there are many examples, also on KMK forks
main.py
example config
Current layout is based on default QMK Kyria layout
It has the following modules/extensions enabled:
- Split Connects halves using a wire
- Layers Do you need more keys than switches? Use layers.
- HoldTap Enable press/hold double binding of keys
- MediaKeys Common media controls
Also uncomment right section to enable samples of following:
- RGB Turn on the backlight (requires neopixel.py library to work)
- Encoder Make the knobs do something
More steps required during install
In order to mitigate lack of one-wire protocol, KMK use its UART implementation but with special low-level PIO subprogram available only on RP2040. It allows using other pins for UART than on-board RX and TX.
Because of the above, besides of normal installation steps, you have to also:
- install Circuit Python in 7.2+ version
- add
adafruit_pioasm.mpy
library to lib or root folder of a board
Microcontroller support
Update this line in kb.py
to any supported microcontroller in kmk/quickpin/pro_micro
:
from kmk.quickpin.pro_micro.boardsource_blok import pinout as pins