geekhack

geekhack Community => Keyboards => Topic started by: esr on Tue, 02 July 2013, 19:52:09

Title: In what actual circumstances is NKRO important?
Post by: esr on Tue, 02 July 2013, 19:52:09
I'm a programmer, not a gamer. so maybe I'm missing  some context here. But I don't get why the USB HID limit of 6KRO is ever a problem.  How, and in what circumstances, does anyone ever simultaneously chord *7 keys*?  Have gamers evolved some form of keyboard-fu that brings in noses, toes, and other protruding appendages, or what?


Title: Re: In what actual circumstances is NKRO important?
Post by: Tym on Tue, 02 July 2013, 19:54:42
Misleading title, manly people laugh here at a razor gimmick to sell more products (6NKRO). NKRO is very important and useful, 6NKRO is not. :))
Title: Re: In what actual circumstances is NKRO important?
Post by: calavera on Tue, 02 July 2013, 20:02:40
How else will I show that I slammed my keyboard when I'm raging?
Title: Re: In what actual circumstances is NKRO important?
Post by: IPT on Tue, 02 July 2013, 20:07:12
when im jumping in PVP in WoW and mashing hotkeys with modifiers and still using WASD to move like a nub =P
Title: Re: In what actual circumstances is NKRO important?
Post by: CommunistWitchDr on Tue, 02 July 2013, 20:10:36
Plover, bout the only thing I can think of.
Title: Re: In what actual circumstances is NKRO important?
Post by: kaiserreich on Tue, 02 July 2013, 20:33:25
When you have this many fingers
(http://i.imgur.com/WJ4sEdK.jpg)
Title: Re: In what actual circumstances is NKRO important?
Post by: jabar on Tue, 02 July 2013, 20:34:23
I've never had to fully use NKRO to my advantage but in gaming it is useful to be able to hold down certain keys (like Tab) and WASD and hit space at the same time. Or fully type while holding a number of keys down.
Title: Re: In what actual circumstances is NKRO important?
Post by: Soarer on Tue, 02 July 2013, 20:50:56
Well now this is an age old argument which goes back to PS/2 vs USB debates - that hasn't been resolved in the 15 years or so since USB came along!

Still, we do have 10 fingers, so we can keep our appendages non-protruding :eek:

Seriously, I'd rather argue for NKRO from a programming and reliability perspective...

The 6 key limit came about due to the limitations of low speed USB meaning that an 8 byte report, in a single packet, was the allowance. That means extra logic coded into paltry keyboard controller CPUs. Precisely because more than 6 keys are rarely used, code to handle the various overrun conditions isn't extensively tested. Case in point, the bug in Windows - up until Win7 SP1! - where keys would get stuck in a pressed state if you held a couple of modifers and 5 other keys simultaneously (other counts of modifiers + keys would do it as well, but it didn't need more than 6 non-modifier keys pressed, so it's not a 'simple' overrun).

The other requirement was to have a standardised report so it was easy for BIOS etc to use USB keyboards. Can't argue with that notion, but it is maddening that BIOS makers took so long to get to a point where (nearly) all of them issue the correct 'SetProtocol' command to the keyboard, to force it into using the 'boot mode' 6KRO report. A lack of variation in devices meant such bugs didn't get noticed.

With NKRO the coding can be simpler, more orthogonal, with no special cases. In essence a simple bitmap with one bit per key. Typically, if the code works for any single key, it will also work for all keys pressed at once - it takes a very odd bug to disrupt that! The Windows bug did not affect such NKRO implementations.

The one drawback is requiring full-speed USB to be able to implement it cleanly, but these days that hardly costs any more, if anything.

So, back to the 10 fingers point... IF someone managed to convince you that pressing 10 keys should be possible, would you implement that, or NKRO? The size of the report would be roughly the same in either case.

In conclusion, properly implemented NKRO does not detract from any circumstance ;D
Title: Re: In what actual circumstances is NKRO important?
Post by: alaricljs on Tue, 02 July 2013, 20:57:51
Here's an old quote with good info pertaining to M's and wanting better KRO support:

... The Model M blocks CAPS+SHIFT+s which is a ***** if like me, you use CAPS as CTRL and have the old CTRL keys mapped to other stuff.

Good thing Emacs doesn't normally use CTRL+shift combinations.

So like Soarer said above, consistency is more helpful than unlimited KRO.  Having *any* 6key combo work should suffice for the vast majority of single person keyboard use.  Above that and you're looking at multi-player gaming or midi sequencing with your KB.  But to get that any combo situation working, NKRO on the KB is necessary and then the report to the PC being 6KRO or NKRO is just a standards exercise.
Title: Re: In what actual circumstances is NKRO important?
Post by: ebacho on Tue, 02 July 2013, 21:25:15
If you play rhythm games such as Beatmania and O2jam you'll be mashing 6+ keys constantly (but this seems like a niche application as well).
Title: Re: In what actual circumstances is NKRO important?
Post by: dorkvader on Tue, 02 July 2013, 21:51:31
Of course Soarer's post tells it all so well, but I have a slightly different claim: I think we need to avoid 2KRO. There are many reasons why 2KRO can be a hassle. Gaming, different key combinations, etc. Since I'm more interested in the keyswitches and sensing technology than the controller (or programming) then I tend to focus on that. Give my prejudices, I advocate having an N-key-rollover compatible key matrix that can be changed to 6KRO compatible or NKRO compatible by the controller. Implementing this has it's own issues, but the benefits are discussed better in Soarer's post.

So, If you have used a keyboard with a NKRO-compatible matrix and a controller that outputs only up to 6KRO over USB, you can notice a very interesting effect, when more than 6 keys are pressed. If you hold down the keys 1-6 what happens when a seventh key is pressed? The first key you hit will "release" and the seventh is "pressed" (scancode sent to the computer). I much prefer the elegance of having the controller facing an NKRO-compatible matrix than any sort of 2KRO one.

IN general use, there aren't too many places where having greater than 6KRO is necessary, so it's certainly not helpful for a lot of people. I like to think it's nice to have from an engineering perspective, and much more elegant.

Note that getting around the 2KRO issues has been a fairly interesting process: I have a TG3 BL82 that has diodes for many of the modifiers, but only about 6 in total. Nomenclature for this is lacking, but I don't think I'd be too far off the mark by calling it 2KRO+modifiers.
Title: Re: In what actual circumstances is NKRO important?
Post by: Techno Trousers on Tue, 02 July 2013, 21:54:55
When you have this many fingers
Show Image
(http://i.imgur.com/WJ4sEdK.jpg)


That dude must have to use GH as his home keys. Actually, he looks like he lives in a wilderness without modern technology, so never mind that, he's got more pressing thing to worry about than his keyboarding.

The 6 key limit came about due to the limitations of low speed USB meaning that an 8 byte report, in a single packet, was the allowance. That means extra logic coded into paltry keyboard controller CPUs.

Sounds like somebody ought to come out with a USB3 only keyboard, just to be safe... and to have some serious bragging rights.  :p

Title: Re: In what actual circumstances is NKRO important?
Post by: Findecanor on Tue, 02 July 2013, 21:57:35
When you have this many fingers
Unfortunately, with that condition there are still only five fingers that move independently.
Title: Re: In what actual circumstances is NKRO important?
Post by: agodinhost on Tue, 02 July 2013, 22:04:49
Plover, bout the only thing I can think of.
Yup.
http://plover.stenoknight.com/2011/02/plover-211-released.html
Do you already used it?
Title: Re: In what actual circumstances is NKRO important?
Post by: gameaholic on Tue, 02 July 2013, 22:35:16
Only thing I can think of might be in an FPS holding shift or control to walk (1), w and d to move forward and right diagonal (2,3), q for quickswitching weapons (4), while jumping with space (5) and with the right hand pressing k to talk for (6).  But then again why not bind push to talk to an extra mouse button. 

Another thing is in MMO's where a character is stationary and just spamming 7 or 8 skills. 

Other than that I guess using the ps/2 port just frees up a USB spot on the back of my computer.
Title: Re: In what actual circumstances is NKRO important?
Post by: rootwyrm on Wed, 03 July 2013, 00:45:58
Let's see... I do >500CPM. I also play games. Mostly FPSes where I'll have multiple modifiers going. And MMOs, same deal.

I don't need NKRO. Hell, I don't need more than 3KRO. Plover is chording, so in theory, more than 6 might be needed. And that's really it. If you're hitting that many keys at once in arenas? You're just button mashing. :P
Title: Re: In what actual circumstances is NKRO important?
Post by: CommunistWitchDr on Wed, 03 July 2013, 01:04:30
Plover, bout the only thing I can think of.
Yup.
http://plover.stenoknight.com/2011/02/plover-211-released.html
Do you already used it?
No, don't have the kind of free time to learn steno. I'd like to, and make a cherry steno board with direct wiring (real ones are expensive, even by our standards).
Title: Re: In what actual circumstances is NKRO important?
Post by: Grim Fandango on Wed, 03 July 2013, 02:31:54
Misleading title, manly people laugh here at a razor gimmick to sell more products (6NKRO). NKRO is very important and useful, 6NKRO is not. :))

Could you explain what you mean here? Because I am not sure.

My Filco majestouch 2 has NKRO, but since I hook it up via USB it is only limited to 6. I have yet to run into a situation where I needed more than a 6 key rollover. Needless to say full NKRO is better than 6KRO, but 6KRO is far from a useless gimmick and a lot more useful than having no key rollover at all.
Title: Re: In what actual circumstances is NKRO important?
Post by: tufty on Wed, 03 July 2013, 02:39:17
This is why you need more than 6KRO
Title: Re: In what actual circumstances is NKRO important?
Post by: insilica on Wed, 03 July 2013, 03:12:28
I'm a programmer, not a gamer. so maybe I'm missing  some context here. But I don't get why the USB HID limit of 6KRO is ever a problem.  How, and in what circumstances, does anyone ever simultaneously chord *7 keys*?  Have gamers evolved some form of keyboard-fu that brings in noses, toes, and other protruding appendages, or what?




You are correct. Like you I spend most of my time coding. Personally I've never played games requiring more than 6nkro. Most users who have a modern mechanical keyboard use USB therefore limited to 6nkro by default unless the manufacturer has overcome the HID standards.

I struggle to see the combination of moves requiring > 6 simultaneous key presses, and for what games?

 
Title: Re: In what actual circumstances is NKRO important?
Post by: Melvang on Wed, 03 July 2013, 03:17:00
If the NKRO doesn't cost anymore than 6KRO than why not get it?  It would be the car equivalent of getting a super-charged car for the same price as one without.  You don't really need it but you need it.
Title: Re: In what actual circumstances is NKRO important?
Post by: BlueBär on Wed, 03 July 2013, 03:42:16
I actually had prolems with limited KRO on a rubberdome in BF3 when flying jets. Combinations like QWA and shift (roll, bank, throttle up and afterburner) were not possible and some keys seemed to get stuck, so I had to release all of them for a second, which was annoying as hell.
It is nothing that occurs daily or is too important but I think why not have full NKRO when it's possible?
Title: Re: In what actual circumstances is NKRO important?
Post by: rootwyrm on Wed, 03 July 2013, 03:55:35
I actually had prolems with limited KRO on a rubberdome in BF3 when flying jets. Combinations like QWA and shift (roll, bank, throttle up and afterburner) were not possible and some keys seemed to get stuck, so I had to release all of them for a second, which was annoying as hell.
It is nothing that occurs daily or is too important but I think why not have full NKRO when it's possible?

Uh, because that's not an NKRO issue. That's a poorly designed matrix issue. (I use QW and Shift+W,Q regularly. Or did.) Plus 6KRO covers Shift+QWA with two to spare. Which presumably are occupied on your mouse, thus invalidating the argument for NKRO over 6KRO.

If the NKRO doesn't cost anymore than 6KRO than why not get it?  It would be the car equivalent of getting a super-charged car for the same price as one without.  You don't really need it but you need it.

Because it does cost more. Programming a controller for NKRO isn't free, nor is making it work with more than a handful of PCs free. As we've found repeatedly around here, half the time it doesn't work with the BIOS because they do it with the cheapest available stupid hack. They present a bunch of USB keyboards instead of one - and pretty much never have the keys you need at boot on the first detected keyboard. (Meaning have fun trying to get into your BIOS, etc.)
Title: Re: In what actual circumstances is NKRO important?
Post by: BlueBär on Wed, 03 July 2013, 04:00:57
Uh, because that's not an NKRO issue. That's a poorly designed matrix issue. (I use QW and Shift+W,Q regularly. Or did.) Plus 6KRO covers Shift+QWA with two to spare. Which presumably are occupied on your mouse, thus invalidating the argument for NKRO over 6KRO.
This was more an argument against 2KRO, which is imo not enough. I think 6KRO should be enough tough.
Title: Re: In what actual circumstances is NKRO important?
Post by: Melvang on Wed, 03 July 2013, 06:01:40

Because it does cost more. Programming a controller for NKRO isn't free, nor is making it work with more than a handful of PCs free. As we've found repeatedly around here, half the time it doesn't work with the BIOS because they do it with the cheapest available stupid hack. They present a bunch of USB keyboards instead of one - and pretty much never have the keys you need at boot on the first detected keyboard. (Meaning have fun trying to get into your BIOS, etc.)

Doesn't cost more when you are building your own via teensy
Title: Re: In what actual circumstances is NKRO important?
Post by: Luke on Wed, 03 July 2013, 06:48:57
When you have this many fingers
Unfortunately, with that condition there are still only five fingers that move independently.

Actually it is technically three on each hand :P
Title: Re: In what actual circumstances is NKRO important?
Post by: Soarer on Wed, 03 July 2013, 07:22:55
Because it does cost more. Programming a controller for NKRO isn't free, nor is making it work with more than a handful of PCs free. As we've found repeatedly around here, half the time it doesn't work with the BIOS because they do it with the cheapest available stupid hack. They present a bunch of USB keyboards instead of one - and pretty much never have the keys you need at boot on the first detected keyboard. (Meaning have fun trying to get into your BIOS, etc.)

Much, if not all, of that is down to fools trying to do NKRO with low-speed USB. I agree that is a waste of time.

I don't doubt we'll see some bad implementations using full-speed as well, but in most cases that will be where they just take the same approach as with low-speed USB and stick it on a full-speed chip.

There's multiple examples of well implemented NKRO over full-speed USB out there... copying one wouldn't take much programmer time or money. It's crazy to think that programmer time represents a noticable portion of the purchase price of a keyboard !!

Title: Re: In what actual circumstances is NKRO important?
Post by: Neal on Wed, 03 July 2013, 11:27:58
I only know one reason why would want it, and thats this:
(http://i.imgur.com/rjZBbfi.gif)
http://www.youtube.com/watch?v=KneK3NwuKqg
Title: Re: In what actual circumstances is NKRO important?
Post by: Tony on Thu, 04 July 2013, 03:17:05
I can only think of FPS games where you have to fire, run and duck at the same time. Otherwise, 6KRO is sufficient.
Title: Re: In what actual circumstances is NKRO important?
Post by: rootwyrm on Thu, 04 July 2013, 03:24:34
I can only think of FPS games where you have to fire, run and duck at the same time. Otherwise, 6KRO is sufficient.

Er, try again...

Fire = M1, Run = Shift, Forward = W, Duck = Ctrl.
That's only three keys.
Title: Re: In what actual circumstances is NKRO important?
Post by: Topre on Thu, 04 July 2013, 03:30:20
When you have this many fingers
Unfortunately, with that condition there are still only five fingers that move independently.

Not true, there are people that has full control of all six fingers on each hand. It does look like this person is one of them because he has fully grown fingers and all of them are in a similar position. Most people who can not control all their fingers usually has the extra finger amputated because it doesn't look like a normal finger.
Title: Re: In what actual circumstances is NKRO important?
Post by: laffindude on Thu, 04 July 2013, 09:05:15
Er, try again...

Fire = M1, Run = Shift, Forward = W, Duck = Ctrl.
That's only three keys.
And 2 of which are mods, not counted toward the 6kro.
Title: Re: In what actual circumstances is NKRO important?
Post by: bazemk1979 on Thu, 04 July 2013, 10:13:58
NKRO it isn't important, but since todays games have involved 3KRO is needed for gamers, found out the hard way when using the TG3.... Also depend on the matrix, Model M have no problem when gaming even though its 2KRO, depending of the matrix and which combo keys trigger the so called kro barrier of that particular board.
Title: Re: In what actual circumstances is NKRO important?
Post by: hasu on Mon, 08 July 2013, 09:45:03
6KRO keyboard? Lame. Even toy piano for your kids is NKRO :p
Title: Re: In what actual circumstances is NKRO important?
Post by: fateswarm on Mon, 08 July 2013, 20:44:43
It's amusing when FPS gamers claim they need more than 6KRO. Guess what, you have only 5 fingers on the keyboard.

Then someone claimed that's wrong 'cause he uses ctrl+alt with his palm, but guess what, they aren't included.


I think they are confusing it with very bad keyboards that can't even do 3KRO on certain combinations.
Title: Re: In what actual circumstances is NKRO important?
Post by: BrokenGame on Mon, 08 July 2013, 21:20:30
The only actual circumstances I found more than 3 are in photoshop. Some combinations require 4 keys, like save for web, which is Alt+Shift+Ctrl+S. I would rather go with the mouse...
Title: Re: In what actual circumstances is NKRO important?
Post by: alaricljs on Mon, 08 July 2013, 21:37:59
But mods don't count in KRO, as previously mentioned so that's not 4, technically.
Title: Re: In what actual circumstances is NKRO important?
Post by: HongKongFui on Tue, 09 July 2013, 06:27:13
games people play with both hands on the keyboard might sometimes require nkro. I only play games with one hand on my mouse so I'm totally ok with 6kro through usb...
Title: Re: In what actual circumstances is NKRO important?
Post by: xman on Wed, 10 July 2013, 21:13:07
Plover, bout the only thing I can think of.
Yup.
http://plover.stenoknight.com/2011/02/plover-211-released.html
Do you already used it?

New versions are always being released:
https://groups.google.com/forum/#!topic/ploversteno/dKxUac67Scw

Each finger can press 1-4 keys, depending on which finger,
but largest chord possible is ~ 24 keys.
The newest version has instant switching between steno and qwerty.
It's not perfect, but it keeps getting better.
I only use it occasionally.   There is a learning curve.
http://plover.stenoknight.com/

Some programmers use it for coding.
I am not a programmer, so I don't know about that.
Maybe this video will play:
http://plover.stenoknight.com/search?updated-max=2013-04-13T19:39:00-07:00&max-results=7