I can only help with this one...
Finally, my main question is how the ATmega32U4 controller works. I've looked on DT and the other geekhack thread about this, and it talks about it's advantages bringing full programmability to the filco, but it never talks about how it's done. How do I code macros and change the keymapping on my keyboard, and how to I compile it (flash it?) to the controller? Is this done through USB, and what language is this in? I assume it's in C or assembly?
"How it's done" has some aspects.
In principle, the ATmega32U4 is an 8-bit microcontroller with quite a lot of capabilities. It's described
here. Normally, this kind of controller holds two different programs in its flash memory: an application program and a boot loader, which can be used to download new application programs.
There are quite some boot loaders available. In the case of a Teensy, that thing is called "Halfkay" (because of its minute size) and it communicates over USB with a corresponding
program on the computer you've attached it to. Simply press the Reset button on the Teensy (easy to find, there's only one button), the boot loader kicks in, then you can download a new application onto it.
The applications themselves vary in their complexity and capabilities. In theory, applications with a program size of up to 31.5K can be downloaded; if you're used to application programming on an Intel PC or Mac, where
#include <stdio.h>
int main(void) {
printf("Hello, world\n");
return 0;
}
tends to produce a bigger executable, that's really surprisingly much on a microcontroller. They're normally written in
C or
AVR assembler. Atmel provides its own
AVR Studio application which runs on Windows, but I'm not a big fan of this overcomplicated environment.
And then, of course, the application may offer some reprogramming capabilities of its own; Soarer's Controller firmware, for example, stores the configuration in the on-board EEPROM of the ATmega32U4 and comes with its own set of tools to change that. Before reprogramming the configuration or assessing the possibilities, you'll have to find out first which application program is stored on your Teensy, of course
HTH,
Hermann