Firmware, configuration tools and a typing tutor for a small, ergonomic chording keyboard with only 24 switches.
Common letters are typed by pressing a single switch, and rarer letters are typed by pressing 2 switches at once - like playing a piano chord. The keyboard also stores a customizable dictionary of 4000+ words and macros that can each be entered with a single chord.
You can change the keymap, dictionary, and other settings by editing config files. You then run the configuration tool once to generate updated firmware, and load the new firmware onto the keyboard's microcontroller.
The firmware currently supports only the Teensy LC
, an arduino-compatible board with an ARM Cortex M0+.
See the User Guide for more detail.
- Install rust and the Arduino IDE (along with support for your microcontroller).
- Clone this repository.
- Configure the keyboard by editing
settings/settings.yaml
. - Run the configuration tool to generate the firmware:
$ cargo run
- Open
pipit-firmware/pipit-firmware.ino
in the Arduino IDE, and upload to your microcontroller.
The typing tutor teaches you the layout of the keyboard. It gives you a line of text to copy, and guides you with a hint showing how to type the next letter.
- Install rust
- Clone this repository.
- Compile and run the typing tutor in your terminal:
$ cargo run -- --tutor
Feedback, issue reports, and pull requests are very welcome. If you make new settings files or .kmap
files, consider contributing them to the repository for others to use.
The code in this project is licensed under GPLv3 or later. The original author is e-matteson (e.r.matteson@gmail.com).