The API is not yet fixed.
TinyGo 0.29 or later is required to build tinygo-keyboard 0.2.0
The following are supported.
- key input
- squared matrix scan
- matrix scan
- duplex-matrix scan
- rotary encoder
- GPIO
- UART
- Shifter (tinygo.org/x/drivers/shifter)
- layer feature by mod key
- mouse click / mouse wheel
- support TRRS (UART)
- support Vial
The following microcontrollers are supported.
- rp2040
- nrf52840
- samd51
- samd21
# sgkb-0.4.0
$ tinygo flash --target xiao-rp2040 --size short ./targets/sgkb/left/
$ tinygo flash --target xiao-rp2040 --size short ./targets/sgkb/right/
# sgkb-0.3.0 or before
$ tinygo flash --target xiao-rp2040 --size short ./targets/sgkb/left-0.3.0/
$ tinygo flash --target xiao-rp2040 --size short ./targets/sgkb/right/
- files
- ./kicad/sgkb for KiCad 7.0
name | amount |
---|---|
Cherry MX / Kailh Choc V1 | 72 |
key cap (1u) | 68 |
key cap (1.5u) | 1 |
key cap (1.75u) | 1 |
key cap (2u) | 1 |
key cap (ISO-ENTER) | 1 |
Stabilizer (2u) | 2 |
diode 1N4148 | 72 |
xiao-rp2040 | 2 |
pin header 1x7 | 4 |
TRRS connector | 2 |
TRRS cable | 1 |
left: (This is a circuit from before version 0.3.0; version 0.4.0 has become a squared-matrix)
right:
$ tinygo flash --target wioterminal --size short ./targets/wiokey/
- files
- ./kicad/wiokey for KiCad 7.0
name | amount |
---|---|
Cherry MX / Kailh Choc V1 | 6 |
key cap | 6 |
diode 1N4148 | 6 |
wioterminal | 1 |
pin socket 2x20 | 2 |
$ tinygo flash --target xiao-rp2040 --size short ./targets/sgkey/
- files
- ./kicad/sgkey for KiCad 7.0
- build guide
name | amount |
---|---|
Cherry MX / Kailh Choc V1 | 6 |
key cap | 6 |
diode 1N4148 | 6 |
xiao-rp2040 | 1 |
i2c ssd1306 | 1 |
register 10k ohm | 2 |
$ tinygo flash --target xiao-rp2040 --size short ./targets/fric10key/
- files
- ./kicad/fric10key for KiCad 7.0
name | amount |
---|---|
Cherry MX / Kailh Choc V1 | 27 |
key cap (1u) | 26 |
key cap (2u) | 1 |
Stabilizer (2u) | 1 |
diode 1N4148 | 27 |
xiao-rp2040 | 1 |
$ tinygo flash --target gopher-badge --size short ./targets/gopher-badge/
- schema
$ tinygo flash --target gobadge --size short ./targets/gobadge
$ tinygo flash --target macropad-rp2040 --size short ./targets/macropad-rp2040/
Set the key with the key code of 0x7C03
, and then press it.
Then a reset will restore the default keymap.
See #8.
Restore default keymap each time it is reset by specifying --tags reset_to_default
.
Note that in this setting, any changes made from Vial or other sources will immediately revert to the original setting.
$ tinygo flash --target wioterminal --size short --tags reset_to_default ./targets/wiokey
MIT