Author Topic: The great search for n-key rollover  (Read 7580 times)

0 Members and 1 Guest are viewing this topic.

Offline pex

  • Thread Starter
  • Posts: 145
The great search for n-key rollover
« on: Fri, 11 January 2008, 16:20:04 »
Trying to find 'n-key rollover' on the Internet is like trying to find 'freedom and liberty' in the USA.  Nearly everyone is either uninformed or misinformed about it, yet nearly everyone doesn't want to know about it or hates it.

Then there's the people who want to talk about n-key rollover (perhaps even extoll its greatness) but without a significant effort in identifying a closer-to-exhaustive list of keyboards with (full) n-key rollover.

I know you folks are big on your switches...your Alps, your Cherry, your buckling spring...but I know you also care about these things, even though perusing many posts and all the pages of this sub-board, I haven't found a post dedicated to n-key rollover keyboards.

Of course, I'm along for the ride here because I want a keyboard with full n-key rollover.  I play my FPS cross-armed (left hand on numpad) and I'll be damned if I want to strafe-turn duck-jump grenade-sling bunny-hop.  I don't have a lot of personal experience, and unfortunately in my hours of searching, I don't know much more than you do (probably having read all the same pages!)

I found a Model M left for dead, which I took, cleaned up, and tried to do honest work to give a home.  Turns out the thing is retarded, physically or mentally handicapped or something.  It's a '98 42H1292 and 7 keys don't work (alone), but if I press them along with leftarrow and uparrow, things happen.  Eerie.  Even worse (or perhaps due to the handicap), it doesn't even seem to support n-key rollover (wouldn't we expect all 42H1292 models to?  Confusing me with your clickiness! Aaugh!).

Anyway, let's make a well-documented, comprehensive list.  We'll compile it based on our own keyboards, and internet research.  We'll need to nail down several important factors to tabulate.

I suggest:
If you're submitting a keyboard based on your very own experience with a keyboard in hand (and please only base it on what's inhand and personally proveable!), we'd want --
interface used during test (i.e. PS/2, USB, etc.)
Year[/Month][/Day] purchased
Store/Locality  (most important when different countries are involved)
Important standard model/serial information (part, model, FRU#, mfg date, plant, ids, numbers, that stuff on the label)
Link to Manufacturer
Anything special about the computer you used it on (like, did AT mobos ever get PS/2?  No idea.)
Anything you did to the keyboard that might have affected this feature (soldered in diodes!)
Pictures always welcome.

If you're submitting a keyboard based on internet research, we'd want --
SOURCE!
Any information provided by source that is related to what you might report if it were your own
(We can make notations and what not about the integrity of the data as we receive more of it and aggregate it. Yay!  Submit whatever you find, because when you have nothing, it's less important that you have something important!)

No worries if it's 7.99 or 1799.00, ****ty-mcswitches or Cherry black, 104 standard formfactor or ergowtf, let's just add it to the list.  Let no keyboard be left behind!
Ж®Cherry G80-8113 (someday I hope to have one that reads magstripes, rfid cards, and smartcards), broken \'98 42H1292 Model M, some other Model M from a decade before that, 30 more keyboards in a box, 4 more lying here or there
Destroying Sanctity: my Model M project. Status: Dead.

Offline iMav

  • geekhack creator/founder
  • Location: Valley City, ND
  • "Τα εργαλεία σας είναι σημαντικά."
The great search for n-key rollover
« Reply #1 on: Fri, 11 January 2008, 17:24:39 »
Check out mr_sf_applet's excellent review of the Filco Majestouch with N-key rollover.

Also check out this long thread about that same N-key rollover keyboard.

BTW, someone should come up with a "standard" method of testing for n-key rollover...so that everyone is using the same metric.  I'll put you in charge of the Pex.  ;)

Offline puntium

  • Posts: 45
    • http://keyboards.kendeeter.com
The great search for n-key rollover
« Reply #2 on: Fri, 11 January 2008, 18:52:41 »
seems like a general keyboard database is useful .. not just for n-key rollover maybe i can set up a wiki really quick.

i have a few informal tests:

- try pressing asdqwe keys together at once. If you register all 6, then +1 (usually asqw can't be typed together, it's a very common lockout pattern)

- try pressing all 10 number keys at once, see if you get all 10

- mash the keyboard with your palms and see if you get a roughly correct looking number of letters typed
FILCO FKBN87M/EB / Microsoft Natural Elite / HHKB2 Pro
Keyboards blog | Keyboard Reviews (old blog)

Offline pex

  • Thread Starter
  • Posts: 145
The great search for n-key rollover
« Reply #3 on: Fri, 11 January 2008, 19:04:55 »
Quote from: iMav;2330
Check out mr_sf_applet's excellent review of the Filco Majestouch with N-key rollover.

Also check out this long thread about that same N-key rollover keyboard.


Part of 'searching the internet' can be on this forum.  I know I have read past mentions of n-key rollover on certain boards here so I will probably harvest here for prelim information, among other places.

Quote
BTW, someone should come up with a "standard" method of testing for n-key rollover...so that everyone is using the same metric.  I'll put you in charge of the Pex.  ;)


Because we don't have an official book we can place on keyboards and just press on all four corners, there's always using your ten fingers, if you are blessed with so many, and press a-s-d-f-j-k-l-;-c-m (comfortable enough for me anyway!) in the meanwhile, or if you have dexterity a-s-e-r-u-i-l-;-c-m!  I personally fist the middle of the board...

Quote from: puntium;2334
seems like a general keyboard database is useful .. not just for n-key rollover maybe i can set up a wiki really quick.


A keyboard database would really be excellent, actually, so long as it is extensive and detailed (and of course correct!).  Of course, when you start collecting data of that size, people want to access to side-by-side charts.  I know I would!
Ж®Cherry G80-8113 (someday I hope to have one that reads magstripes, rfid cards, and smartcards), broken \'98 42H1292 Model M, some other Model M from a decade before that, 30 more keyboards in a box, 4 more lying here or there
Destroying Sanctity: my Model M project. Status: Dead.

Offline iMav

  • geekhack creator/founder
  • Location: Valley City, ND
  • "Τα εργαλεία σας είναι σημαντικά."
The great search for n-key rollover
« Reply #4 on: Fri, 11 January 2008, 19:08:41 »
Quote from: puntium;2334
seems like a general keyboard database is useful .. not just for n-key rollover maybe i can set up a wiki really quick.

All registered users have full access to the wiki here.  (see the lovely "wiki" link at the top of the page)  ;)

Knock yourselves out!

Offline ashort

  • Posts: 489
  • Hoosier Daddy
    • http://andrew.wingedwheel.net
The great search for n-key rollover
« Reply #5 on: Fri, 11 January 2008, 21:01:11 »
Quote from: pex;2325
Trying to find 'n-key rollover' on the Internet is like trying to find 'freedom and liberty' in the USA.  Nearly everyone is either uninformed or misinformed about it, yet nearly everyone doesn't want to know about it or hates it.


I'm impressed.  I would have never guessed that a post on n-key rollover (whatever that is...HA!) could have been so politically laced.  =-D
Andrew
{ KBC Poker - brown | Filco Majestouch - brown | Dell AT101W | Cherry G84-4100 }

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #6 on: Fri, 11 January 2008, 23:32:49 »
I have a Mac, which has never used a PS/2 port, so I really haven't looked into n-key rollover at all. The internal keyboard on the MacBook and the HHKB Pro 2 can register 6 at a time [max for USB], while the SMK85 and the Model M can only register 3. In last place is the Apple Desktop Bus with Alps sliders, it only registers 2.

Did you see my post from yesterday? Apparently, the soon to be released SmartBoard II by DataDesk will feature full n-key rollover.

Offline puntium

  • Posts: 45
    • http://keyboards.kendeeter.com
The great search for n-key rollover
« Reply #7 on: Fri, 11 January 2008, 23:41:53 »
Quote from: xsphat;2343
HHKB Pro 2 can register 6 at a time [max for USB]


I've heard the "6 is the max for usb" argument before, but what is it really based on?

I mean it should be up the computer, not the keyboard or the connection how many keys can be handled at once.

On the HHKB Pro 2, you should be able to mash a bunch of keys down at the same time and have them all show up. So I'm not sure what this '6' number is referring to.
FILCO FKBN87M/EB / Microsoft Natural Elite / HHKB2 Pro
Keyboards blog | Keyboard Reviews (old blog)

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #8 on: Fri, 11 January 2008, 23:51:17 »
I've heard it has to do with the bandwidth of USB, but I am no electronics wiz, I just open Apple Keyboard Viewer and look at what is getting pressed. And I agree with you, if any keyboard on Earth should have n-key rollover, it's the HHKB Pro2.

Offline iMav

  • geekhack creator/founder
  • Location: Valley City, ND
  • "Τα εργαλεία σας είναι σημαντικά."
The great search for n-key rollover
« Reply #9 on: Sat, 12 January 2008, 00:35:46 »
Quote from: puntium;2345
On the HHKB Pro 2, you should be able to mash a bunch of keys down at the same time and have them all show up. So I'm not sure what this '6' number is referring to.

Here's 10 keys on a HHKB Pro 2:

;sadfghkjl
;kjlsadfgh
;fgkjlsadh
;ghkjlsadf
gj;lsadfhk

That seems to debunk the 6 key max theory right there.

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #10 on: Sat, 12 January 2008, 01:28:26 »
why can you do it and I can't?

Offline iMav

  • geekhack creator/founder
  • Location: Valley City, ND
  • "Τα εργαλεία σας είναι σημαντικά."
The great search for n-key rollover
« Reply #11 on: Sat, 12 January 2008, 02:01:01 »
Quote from: xsphat;2350
why can you do it and I can't?

Must have something to do with that shady character you bought your HHKB Pro 2 from.

:)

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #12 on: Sat, 12 January 2008, 02:21:00 »
Who knows, try it in Ubuntu.

Offline puntium

  • Posts: 45
    • http://keyboards.kendeeter.com
The great search for n-key rollover
« Reply #13 on: Sat, 12 January 2008, 02:24:58 »
ok.. so i went and read the usb keyboard spec..

the limit is that in one "report" the keyboard can only specify up to 6 non-modifier keys that are down at the same time.

This is different from ps/2, where the keyboard tells the host when keys go up and down. For a usb keyboard, it's up to the host to figure out what changed from last time.

So the real test on a hhkb pro 2 should be

press a then hold, then press s and hold s without letting go of a, and then d, and then f, and see how you can go.

... hmm.. actually that might still work. so if you mash 10 keys at once, the keyboard could remember which 10 keys those were, and then send multiple reports that have info about those 10 keys. Since the device is polled at 10ms intervals (100 times a second) you could imagine even 10 keys takes 20 ms. My guess is though that if you hold down 7 keys at once, only the last 6 will get reported as held down.

Not much on google about this subject unfortunately.. maybe there's some utility to inspect usb traffic as it goes by..
FILCO FKBN87M/EB / Microsoft Natural Elite / HHKB2 Pro
Keyboards blog | Keyboard Reviews (old blog)

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #14 on: Sat, 12 January 2008, 02:40:52 »
What you described is what I did. I held down edcrfv first, then I pressed b and v disappeared. I can only get six at a time.

Offline puntium

  • Posts: 45
    • http://keyboards.kendeeter.com
The great search for n-key rollover
« Reply #15 on: Sat, 12 January 2008, 03:54:27 »
How are you measuring this exactly? Are you just using notepad to see which keys repeat?

So I think n-key rollover will still get you something even for USB keyboards. Let say during one report period, 10 keys went down. In the non-n-key-rollover case, you could lose many of those 10 keys due to the lockout pattern of the keyboard. If you do have n-key then the keyboard will recognize that all 10 keys went down. It may take two reports to your OS to tell it about 10 keys, and it may only be able to say that the last 6 held down were the ones that were actually down, but it will still be able to tell it about all 10.

In theory, anyways.

I think that's why the "mush a bunch of keys and let go quickly" test still works.
FILCO FKBN87M/EB / Microsoft Natural Elite / HHKB2 Pro
Keyboards blog | Keyboard Reviews (old blog)

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #16 on: Sat, 12 January 2008, 09:02:26 »
Again, only six at a time register.

Offline iMav

  • geekhack creator/founder
  • Location: Valley City, ND
  • "Τα εργαλεία σας είναι σημαντικά."
The great search for n-key rollover
« Reply #17 on: Sat, 12 January 2008, 09:19:40 »
All these tests are via USB (natively or via adapter, depending on the keyboard, of course).  Pressing down 10 keys at once (home row with thumbs on "G" and "H"):

HHKB Pro 2:
ghj;sadfkl
jhk;lsadfg
jafghk;lsd

HHKB Pro (1):
;jlghksadf
j;ladfghks
gj;afhklsd

SMK-88 (blue cherries):  ;)
[registers NOTHING when pressing 10 at a time]
[registers NOTHING when pressing 8 at a time]
[registers NOTHING when pressing 7 at a time]
adfjks
asdfjk
adfjks

Unicomp 84-key Model M spacesaver:
[registers NOTHING when pressing 10 at a time]
[registers NOTHING when pressing 8 at a time]
dfjkl
asdfj
sdfjk
[appears to register 5 when 7 are pressed]

Cherry ML4100:
[registers NOTHING when pressing 10 at a time]
fdsaj
afdsj
dfsaj
[appears to register 5 when 8 are pressed]

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #18 on: Sat, 12 January 2008, 10:02:47 »
Using the iMav test, it was easy for me to get 10 or more keys to register at once. In fact, using my wallet in one hand and my cell phone in the other, here is my record on the HHKB Pro 2:

qwreyt78uj9-'dfvbghnik0;

That would be 24, people. I guess my Keyboard Viewer test is flawed, I'm sorry.

Now that I have this n-key rollover, can anyone tell what it's for or why it's so important to be able to press more keys than I have digits? I've never really understood this and have long since dismissed it as a marketing ploy.

Offline xsphat

  • Posts: 2371
  • Location: 'Sconi FTW
  • Enlightened
    • Dan Newman, Writer
The great search for n-key rollover
« Reply #19 on: Sat, 12 January 2008, 10:04:47 »
The MacBook keyboard only shows 3 this way, but 6 in the Viewer ... I don't get it.

Offline fkeidjn

  • Posts: 237
The great search for n-key rollover
« Reply #20 on: Sat, 12 January 2008, 10:24:12 »
With my model M through a ps/2 connection, it can register up to 8, but through USB adapter, 4.  The thing is that it can only register up to 8 when I press the following:

12348907
qwerpuio
;asdfjkl
/zcvm,.x

Nothing else.  Same thing with my scorpius (though up to 7, and the keys register slower)
4213098
rwqepiou
safd;jkl
xzc/v.m,
Kinesis Keypad - Filco FKBN104M/EB - Unitek space-saver - Acer 6511-TW - Apple Extended II (M3501) - Scorpius M10 - Cherry G80-1800, AT - SGI Granite - vintage Fujitsu - IBM Model M, 101 and mini - Model F, 84-key AT - Dell AT101W - Northgate 101

Offline karlito

  • Posts: 157
    • http://altitudegame.com
The great search for n-key rollover
« Reply #21 on: Sat, 12 January 2008, 11:57:31 »
we've been over this before :P heres a link http://geekhack.org/showthread.php?t=163&page=4#58

Offline puntium

  • Posts: 45
    • http://keyboards.kendeeter.com
The great search for n-key rollover
« Reply #22 on: Sat, 12 January 2008, 14:26:18 »
I think we're testing different things. There's a difference between a keyboard being able to tell how many keys are down at one instant, and how many keys had been mushed in the last split second.

The usb spec appears to limit how many the keyboard can report as being down in any one instant. But if you mush a bunch of keys, the keyboard controller could in theory remember all the keys, and then tell the OS about them in consecutive reports. I would suspect that the electronics to do this is substantially more complicated than just reporting rollover state (one of the options in the usb spec) when too many keys are down.

In fact, I believe PS/2 keyboards need to have similar logic. While PS/2 doesn't have a sense of maximum keys down at once, if you press a bunch of keys, it still has to remember them so that it can send the right ps/2 codes in order.

In either case you require buffering on the keyboard side to be able to report all the keys. The HHKBPro2 definitely has this. When mash a bunch of keys, you can sometimes see them show up over a slightly longer period of time. I suspect this is because each USB report can talk about only 6 keys, so it takes multiple reports to tell the OS.

So lets say you hit a-z all at once in alphabetical order and hold them all down. The first report will say that abcdef are down, the next will say ghijkl  are down (which also tells the OS that ABCDEF are up), the third mnopqr, then stuvwx, then uvwxyz..

The last one doubles up with the second to last, since it tries to report which keys are held down in addition to the last two keys (y, z) that were pressed down. I could be wrong about the replacement algorithm.. based on xsphat's last post, it might be stuvyz (where the last ones are replaced, instead of the first)

As you can see under this model, the keyboard can still report that 26 keys were pressed, it just can't report that they are all still held down. I suspect these are all stored in a buffer on the keyboard, and as such, cheaper keyboards will have smaller buffers.  

As for what use this is.. it certainly seems overkill that you can store more than 10 presses. The only thing I could think of is that if the OS fails to poll the keyboard often enough, the keypresses could store up. So while you may not be able to press more than 10 keys at once, if you type fast enough that the OS can fail to drain the keyboard buffer fast enough, then having a larger buffer can certainly help from losing keystrokes.

This, and being able to report only 6 keys down at once, is a different matter. I don't play games, so I never notice the limit in practice.
FILCO FKBN87M/EB / Microsoft Natural Elite / HHKB2 Pro
Keyboards blog | Keyboard Reviews (old blog)

Offline pex

  • Thread Starter
  • Posts: 145
The great search for n-key rollover
« Reply #23 on: Sat, 12 January 2008, 18:55:08 »
Quote from: xsphat;2374
Now that I have this n-key rollover, can anyone tell what it's for or why it's so important to be able to press more keys than I have digits? I've never really understood this and have long since dismissed it as a marketing ploy.


Manufacturers simply rarely make it clear where rollover points are or how great they might be, and there doesn't seem to be an independent oversight company that certifies or defines rollover.  I'm typing on a keyboard (via PS/2) right now that won't let me rollover numpad-3, numpad-2, numpad-0, but I can do o-k-b-d-5 alright.  What stops someone from calling this a 5-key rollover or a 2-key rollover?  What if they call it 3-key [average] rollover alpha (theoretically, anyway, since i can't even to t-y-j)?

However, "n" is max, and there's only one max: all.  So manufacturers and distributors can say lame things like "alpha n-key rollover" or "psuedo n-key rollover" (I don't actually know what that is), but you then know it's not really n-key rollover.  It's a slightly clearer fraud.

Either way, anyone who can guarantee me eight keys ANYWHERE will be providing me enough keys.  Unfortunately, 8-key rollover doesn't say high, low, or average to me, and I don't know EXACTLY how keyboards work or why you could or would do 8-key rollover and not just move to n-key (maybe it's no longer a problem of arrays and matricies but expense on the controller?)

I guess it's a wonder that more distribs/mfgs don't have a cool education page.  Maybe they could sell on knowledge instead of ignorance.
Ж®Cherry G80-8113 (someday I hope to have one that reads magstripes, rfid cards, and smartcards), broken \'98 42H1292 Model M, some other Model M from a decade before that, 30 more keyboards in a box, 4 more lying here or there
Destroying Sanctity: my Model M project. Status: Dead.

Offline zillidot

  • Posts: 58
The great search for n-key rollover
« Reply #24 on: Sun, 13 January 2008, 06:29:01 »
Quote from: xsphat;2374
Now that I have this n-key rollover, can anyone tell what it's for or why it's so important to be able to press more keys than I have digits? I've never really understood this and have long since dismissed it as a marketing ploy.

Making keyboards capable of n-key rollover generally involves adding a diode for every key. Keyboards without this feature encounter problems with certain combinations of as few as 4 keys (eg ERCX or ASQW). Most people have more than 4 fingers. Although such combinations are rare in normal typing, they occasionally occur when keyboards are used for gaming.

I look for "n-key rollover support" as an indication that these key combinations are guaranteed to work.
My keyboards:
Realforce 87U (all 55g)
HHKB Pro 2 (black on black)
Filco Majestouch (n-key rollover, brown cherries)
Unicomp Customizer 101 (black with black keys)

Offline Nonmouse

  • Posts: 298
The great search for n-key rollover
« Reply #25 on: Mon, 14 January 2008, 13:41:48 »
Quote from: zillidot;2416
Making keyboards capable of n-key rollover generally involves adding a diode for every key. Keyboards without this feature encounter problems with certain combinations of as few as 4 keys (eg ERCX or ASQW). Most people have more than 4 fingers. Although such combinations are rare in normal typing, they occasionally occur when keyboards are used for gaming.

I look for "n-key rollover support" as an indication that these key combinations are guaranteed to work.


Yeah, some of Cherry's keyboards use diodes on each switch- the MX-8100 boards I have are diode switches.

Offline graywolf

  • Posts: 134
    • http://www.graywolfphoto.com/
The great search for n-key rollover
« Reply #26 on: Sat, 16 August 2008, 12:18:15 »
I believe diodes are used to prevent key bounces from registering.

Offline 003

  • Posts: 48
The great search for n-key rollover
« Reply #27 on: Sun, 17 August 2008, 18:54:43 »
The PS/2 Deck Legend keyboard that I have has full n-key rollover. It will register unlimited simultaneous key presses anywhere on the key matrix.

Only trouble is that it uses black cherries; however, it is possible to replace them with blue cherries, which I am looking into doing.