For the future, I'm also looking at how to program my own controllers. I'd really like to make boards that are programmable in an AHK style fullness.
There are lots of keyboard firmwares out there now -- the most well known of them are hasu's TMK, and Soarer has his thing ... a great many of the other things regulars on this board know about are derivitive of that, although there's others like the no-rewrite ergodox firmware that relies on some voodoo that tells the keyboard to reprogram itself on the fly.
All of those are for the Teensy 2.0, but there are other
uC out there, such as the teensy 3.0 which could control a much fancier setup but relies on a non-atmega cpu so would require a different set of hoops to jump through.
Full-fledged programability is one of the primary reasons I have an account on this board. Welcome to the club! (the ergodox, by itself, is really the other reason. But mechanical, by itself, isn't quite reason enough to spend the money. Keyswitch-top removal cutouts, however ... )