Hacker News new | ask | show | jobs
by jrockway 1621 days ago
You don't need a PCB. The Ergodox uses two ICs. One is the microcontroller; it is a mini computer that reads the state of the keys (which ones are pressed right now) and emits the relevant USB messages so your computer interprets those as keystrokes. The other is an i2c i/o expander that reads the keys for the other hand exactly like the microcontroller does. (The microcontroller periodically asks it to scan the matrix on its behalf.) It exists so that only four wires need to span the gap between the two hands, instead of one wire for each row and column. You could, of course, just treat both halves as one keyboard and run the matrix wires between the two sides, and omit the i/o expander. It's basically an optimization for split keyboards. (I have built ergonomic keyboards before, and just make it one big thing instead of two halves. Simpler. But takes up more desk space and is less flexible.)

Each key also has a diode which might look like an IC. This is to prevent "ghosting", where pressing a certain combination of keys looks identical to pressing another combination of keys. The lowest of low-cost keyboards don't include this, because if you only press one key at a time, ghosting can't happen. (Most people don't press more than one key at once, except for modifiers like Shift + letter. They work around this by handling modifiers specifically, often not including them as part of the matrix.) Here's an explanation: https://deskthority.net/wiki/Rollover,_blocking_and_ghosting

The search term you want for building a keyboard without a PCB is "handwiring". Here are some guides: https://geekhack.org/index.php?topic=87689.0 https://matt3o.com/hand-wiring-a-custom-keyboard/

I thought I had some better resources in my bookmarks, but I don't.