4 ms·
Why does a keyboard need source code? It's just a bunch of addressable switches.
by sawjet 6y ago
Why does a keyboard need source code? It's just a bunch of addressable switches.
- aidenn0 6y agoThe HID protocol does not just implement it as addressable switches. In addition there's a question of which address each switch has.
- ashtonkem 6y agoI mean, even "regular" keyboards have source code these days, it's just usually closed and flashed to the board permanently. The days of keyboards literally being addressable switches ended decades ago. But the reason why you'd want user programmable keyboards is the ability to change which keys do what. My keyboard has four different layouts ("layers") that have totally different keymappings. I use them for daily work, work macros, and video gaming.
- nine_k 6y agoTandy 80 in 1979 and IBM PC a couple years later already used the Intel 8042 controller in their keyboards. Software for keyboards has a long history. Custom software for keyboards, not as much, but it's a pretty established niche. QMK firmware mentioned in the article is a few years old.
- WrtCdEvrydy 6y agoBecause it's the 21st century and every piece of hardware has some software in it... from your CPU to your keyboard.
- jdboyd 6y agoThere is more involved if you want USB, not to mention multi-keystroke macros and/or user configurable macros.
- hyperion2010 6y agoOverlays, function keys, macro keys, fancy responsive RGB light shows, the list goes on.
- hakfoo 6y agoA PC-style keyboard isn't just an array of addressable switches. There's always been a microcontroller scanning the switches, disambiguating corner-case signals, and packaging it all into USB. Probably the first driver for custom firmware is custom layouts. Some people like some fairly exotic layouts. For example, a lot of smaller keyboards rely on multiple "layers" hidden behind modifier or toggle keys. Or you may just want a few programmable macros. For example, I have the incantations for my KVM switch mapped to a few uncommon key combinations. If you're moving between different OS's or even machines, it might make more sense to bake all the smarts into the keyboard rather than to try to get several different software installs to behave consistently. There are also a lot of gimmicky things you can add with custom features: per-key light effects, little OLED displays with graphics or statistics, faster scan rates.
- mhh__ 6y agoFirmware is code, believe it or not. You get some true horror stories coming from embedded engineers dabbling in software in this fields, the firmware is probably some of the least tested, verified, and generally visible code in many stacks.
- PurpleFoxy 6y agoTo change the function of the fn keys. The keyboard is not just a dumb input, when you hold fn the board sends different codes for the same keys. This means you can’t easily move where the volume function keys are for example.
- jagger27 6y agoEven the dumbest and oldest PS/2 keyboard in your attic had some firmware blob on it. This is preferable.
- umvi 6y ago> Why does a keyboard need source code Because USB is very complicated. I'm sure you could do it 100% with hardware, but then your keyboard's source code will be Verilog since you would need an ASIC