Source files and schematics for a very small, 33-key mechanical keyboard
Loading README and project media…
This project is the teensy code for Will Yager's custom mechanical keyboard project. (blog post)
The code serves two functions:
avr-gcc.cd srcmakemain.hex into Teensy loader.keys[] in KeyMapper.cpp.KEY_A with other values from keylayouts.h.This should be fairly simple to figure out. Within the file, I have keys[]
laid out just like the physical keys.
Start USB/I2C
Determine master/slave status
forever:
led_status
=> get hardware state from HardwareController
=> debounce buttons with ButtonDebouncer
=> detect changes in buttons with ButtonDeltaDetector
=> map button changes to key changes with KeyMapper
=: key_changes
led_status
=> update the slave (if it exists) with the SlaveNotifier
=: slave_key_changes
key_changes, slave_key_changes
=> notify the master (over USB or I2C) of key changes with the MasterNotifier
=: led_status