I don't have a lot of experience with Arduino. Most of my embedded work has been with AVR microcontrollers in C. So imagine my surprise when I got the Arduino environment up on my system with the Teensy loader and found it has a dedicated preset for HID, including a keyboard. Once I brushed up on how matrices are handled, getting a rough working version was surprisingly easy.
Ignore the ATTiny and associated parts. Every breadboard I own has a strata of different projects on it. The keyboard controller is an ugly pile of jumpers, but after a little bit of debugging every key works as expected. My lazy debounce routine needs work (will likely try out the Bounce library), and it currently only recognizes one modifier key at a time, but it functions. The proof of concept is good enough to start designing the carrier board in KiCad. The Caps Lock LED even still works!
That's enough keyboard talk for now. Time to move on to more fun things, like parts selection.