We spend a lot of time with our keyboards. How do they work? How does pushing dozens of keys on a board transmute into text, code, and commands that control computers?
I have been building a keyboard from scratch, and I’ll talk about the different pieces: from the circuit that connects the key switches to the firmware that reads them and presents everything in USB. I’ll also have some tips if you want to make your own keyboard, Emacs foot pedals, or other Human Interface Devices.
Scott is a senior software engineer at Helium, where he works on embedded and distributed systems.