Replacement firmware for Kinesis ergonomic keyboards using an Atmel AVR microcontroller