lexlazootin wrote:Sparky wrote:That made me cringe. The switches themselves are normal MX series switches, so the bounce time is still up to 5ms at 16in/s activation speed. As for the sampling chip, it's probably not significantly better than other high end keyboard controllers with NKRO, just a question of picking the right debounce algorithm for your chosen keyswitch. With that keyswitch, you know immediately when it's pressed, but you have to wait a few ms to know whether or not it's being held down or if it was immediately released.
I'm trying to follow along and i'm quite ignorant. Are you saying that everything is the same but the "Chip"?~ that is used reading the key press is doing a slightly better job then most keyboards?
On cherrys specs sheets they claim 5ms bounce times way before this announcement but i wouldn't be surprised if other keyboard manufacturer developed their keyboards with 30ms of debounce code, right?
There are also a lot of different ways you can wire up a keyboard. The easiest to understand would be wiring each key to a different pin on your microcontroller, but a microcontroller with that many IO pins might cost you 5 bucks a chip in bulk, which doesn't make for healthy profit margins. So you can hook multiple keys up to a single pin, and use various schemes to figure out which of those several pins is being pressed, like arranging the keys in a matrix, powering one column at a time, and reading which rows are connected to that column. The really cheap keyboards might get confused if you press more than 2 or 3 keys at a time, while the better ones might be designed so keys never conflict. This means instead of 100+ io pins you might need 20~30. However, you're polling. You might happen to read from a pin when it's bouncing, so it might take a few tries before you actually notice the key has been pressed(you can work around that with hardware debouncing and adjusting the timing of your reads, but it doesn't sound like that's what cherry is doing). Now that's not the only way to get multiple keys on the same pin, you could connect each key to a different value resistor, so that pressing the key changes the voltage a bit instead of pulling it all the way to the rail, then figure out which keys were pressed by looking at how much the voltage changed with an ADC. Maybe that's what Cherry is doing, but I don't really see the advantage, so maybe not. That wouldn't give better debouncing, though it might increase their polling rate, which is mostly pointless if you can already poll the entire keyboard in under 1ms(USB polling interval). At best it's a way to save a couple bucks on BOM cost, but it shouldn't have better performance than a NKRO keyboard with hardware debouncing. Even without hardware debouncing, a competently designed keyboard with those switches should have a maximum latency of ~6ms.
tl;dr: marketing people being marketing people. They're basically talking up their ~$100 keyboard by comparing it to $5 keyboards.