4 ms·
A keyboard doesn't need to implement a scanning matrix. It could hook up all keys individually to a an own IO-Port.
by madez 9y ago
A keyboard doesn't need to implement a scanning matrix. It could hook up all keys individually to a an own IO-Port.
- falcolas 9y agoRequires a bigger chip (100+ IO pins) and more complex wiring diagrams than most inexpensive keyboard makers are willing to invest.
- StillBored 9y agoReplace with _any_ keyboard manufacture.. Similarly, while your keyboard may advertise USB2 or even USB3, the actual key-press USB interface is always running at USB 1 low speed (1.5Mbit). I spent a fair amount of time trying to find a keyboard to work on a device that I have that only works with high speed devices, 30 or 40 keyboards later I gave up... If someone actually knows of such a thing I would be interested. Same basic problem with mice.. I guess the thought-process is that hey USB2 supports split transactions, and the keyboard/mouse won't actually generate even 1.5M bit of data, so we are going to continue to sell the same basic mouse/keyboard interfaces we were selling 20 years ago wrapped in styling variations. PS: Some of the physical button keyboards I found with configurable colors/etc, usb hubs, do support USB3... For the color controls, or hub. The keyboard endpoint is still at low speed...
- falcolas 9y agoLikely because they want to implement the minimum necessary HID spec (or, in a nicer tone, the HID spec with the most compatibility), which would be the one supported by the BIOS.
- mark-r 9y agoI don't understand why someone hasn't come out with a dedicated keyboard chip yet. If it's cheap enough you don't need to run all the keys to a single chip, you could have multiple chips that all talk over a serial bus to one that it designated the master.
- thesmok 9y agoAnother layer of serial interfaces would make it even slower.
- mark-r 9y agoDepends on the speed/latency of the interface. Although you could probably say the same about the scanning matrix too.
- brokenmachine 9y agoA serial interface can run a lot faster than anyone can type, eg i2c high speed is max 3.2Mbit/s. SPI can be way faster than that I believe.
- thesmok 9y agotrue, but adding another link (microcontroller) in the chain is going to add delay anyway. I think the original suggestion was pointless: instead of adding more microcontrollers you can just replace the main uC with the one that has enough pins. The reason this is not done is uCs with >100 pins are usually more powerful and expensive, so you can't just pay for more pins -- you also have to pay for more processing power and features you don't need.