The keycodes.h file contains the names you will assign to your chords. Unless you want to rewright some of the code (which you are more than welcome to do) you are restrictied to these key codes. They are the usb keyboard key codes, the codes for the spiffchorder mode manipulation and some special codes that are translated by the program into a sequence of usb key codes. There are a few kinds of lines in keycodes.h, any section beginning with slash asterik
. Anything following 2 slashes
// is a comment from there through the end of that line. Other than comments, there are several types of lines you need to know about:
KEY_Gdefine standard USB key codes
MOD_RALTdefine and manipulate the keyboard modifiers.
MODE_FUNCdefine and manipulate the Spiffchorde mode state.
SPC_quotedefine special keys that generate multiple USB codes.
There are a few others as well but these are defined in the comments of keycode.h should you need them.
KEY_F, KEY_G, KEY_H, KEY_I, KEY_J, KEY_K,
And further down you will see lines like this:
MOD_LSHIFT, // 0x02 MOD_LALT, // 0x04
SPC_dollar, // $ SPC_percent, // % SPC_ampersand, // &
An empty chord file is provided as empty.h. You can use it as a template for your custom chorder.
For compiling the SpiffChorder firmware under Microsoft Windows, the easiest solution is to use WinAVR. This package contains the avr-gcc tool-chain, avr-libc and some other utilities, including the avrdude programming software and Programmers Notepad, all compiled into a single Windows installation package.
The majority of the development on the SpiffChorder was done with WinAVR, and using the Programmers Notepad editor. It worked for me, so it should work for you as well (provided you have a Windows installation).
Under Xubuntu 7.10 (which is what I run) I installed avr-libc, binutils-avr and gcc-avr from the ubuntu repositories using apt-get (or synaptic).