I'm slowly beginning to get a grasp on how to program a Teensy, but I'm just sticking to arduino language for now. I know that ATMega32u4-based firmwares are usually written in C, but I was wondering how practical it would be to program a firmware in arduino instead?
There are libraries available to read matrices (which I think implement debouncing) and it is possible to have the device recognized as a keyboard. I'll be experimenting soon with a basic setup (4x3 key matrix), but in the meantime, can anyone explain why every firmware is written in C? Is there any limitation inherent to arduino programming which makes such a firmware impractical (maybe a higher latency?), or is it just that most firmware programmers just know C and don't care to bother with a dumbed-down language?