kmk_firmware/boards/kyria
Phong Le 2ccad46e26
update modtap to holdtap (#718)
* update modtap to holdtap

* Update links

* Revert "Update links"

This reverts commit 8d0cda7c5a.

* updated docs links

update links in docs

* Update docs/en/Getting_Started.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/Getting_Started.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* rename modtap.md to holdtap.md

* Update Getting_Started.md

* Update main.py

* Update modtap.py

* Update modtap.py and add notice

* Update docs/en/porting_to_kmk.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/handwiring.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/contributing.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/contributing.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/ble_hid.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/Getting_Started.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/Getting_Started.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Update docs/en/kmkpython_vs_circuitpython.md

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>

* Rename modtap.md to holdtap.md

* fixup

---------

Co-authored-by: xs5871 <60395129+xs5871@users.noreply.github.com>
2023-03-03 09:32:41 +00:00
..
kb_v1.py Port kb2040 boards and add to quickpin 2022-10-10 23:13:44 +00:00
main.py update modtap to holdtap (#718) 2023-03-03 09:32:41 +00:00
README.md update modtap to holdtap (#718) 2023-03-03 09:32:41 +00:00

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