triliu / JESK56

36 stars 2 forks source link

Erroneous statement in readme #1

Open gsuberland opened 2 months ago

gsuberland commented 2 months ago

Hi! I stumbled across this from a Mastodon post, and noticed you'd said "The USB keyboard protocol is limited to a 6-key rollover" in the readme. This isn't actually true; it's a popular misconception.

The basic USB keyboard interface used by BIOS/UEFI is limited to 6KRO, but as soon as you include a proper USB HID descriptor you can do NKRO just fine. See https://www.devever.net/~hl/usbnkro for info.

Might wanna correct that in the readme :)

Cool concept though. I've done some fun stuff with diodeless multi-key detection by switching between I/O modes on GPIOs, which I've nicknamed "jimmyplexing", but the graph theory side of it is new to me and a really cool way to formalise it.

triliu commented 2 weeks ago

Thank you for this correction! I was trying to be as simple as possible with this comment about 6KRO, although I see I have stepped out of accuracy. I have deleted this line, and added some further comments about the key-rollover of the board.

It has taken a little while to address this, sorry. The issue is with trying to quickly emphasise that 6KRO is a common and decent standard, while also trying to keep the introduction as non-technical as possible (while also adding in accuracy for the mathematics). One part of this keyboard I am trying to emphasise is that it will make a great first custom keyboard for newcomers who want to build their own board. (Another is that this is leading into a mathematics research project).

It is a bit hard to navigate all the technologies in terms of which technologies support going beyond 6KRO. I believe both QMK and ZMK use 6KRO as a base, although this can be bumped up to NKRO pretty easily (although I have heard some people have issues with getting NKRO to actually work). A bunch of decent keyboards only support 6KRO. Many keyboards only support 2KRO. All we really need to say is that 6KRO is a good standard, from which we can argue that the key rollover effects of the JESK56 is actually comparable to this standard - It only has 4KRO, but in practise it is almost NKRO.