geekhack

geekhack Community => Keyboards => Topic started by: Twinky on Tue, 01 January 2013, 05:21:53

Title: Are there any USB NKRO keyboards on the market yet?
Post by: Twinky on Tue, 01 January 2013, 05:21:53
Hello,

I've been searching for a commerical NKRO USB keyboard and haven't been able to find one yet. Is there a list of USB keyboards with NKRO?

Also, is there a comprehensive spreadsheet of keyboards with information like what kind of switches it uses, #KRO, and so on?

Cheers!
Twinky
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: jabar on Tue, 01 January 2013, 05:37:07
I'd say the most readily available NKRO over USB keyboards are those of the Ducky brand; not sure if that encompasses all their models. Other brands such as Noppoo feature NKRO as well but don't have real US distribution.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: TotalChaos on Tue, 01 January 2013, 06:58:46
All the NKRO USB keyboards I have read real reviews of have said they are all flaky depending on what OS you use.

So basically you can forget about it for anything in the universe except Windoze XP, 7, 8.  It might not work on all 3 of those but at least one of them should work.

Plug your keyboard into any other computer and it will usually just go bonkers.

If you can wait 10 more years they might make us USB3.0 keyboards which could support NKRO without doing illegal tricks that only work by haxxing one OS and not the other.

In the meantime if you want 100% reliable NKRO just plug a PS/2 keyboard into a PS/2 port on your computer.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: damorgue on Tue, 01 January 2013, 07:05:01
They seem to have issues though. Choc uses some dual-device method and appears as two devices. If I remember correctly, this makes it behave strangely in certain OS.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 07:31:29
Even the dirty trick methods work fine except on Macs. Even so, they are NOT "illegal tricks".

No need to wait for USB 3.0 since full-speed USB 1.1 or 2.0 is sufficient to implement a good NKRO method.

The Noppoo and most other NKRO over USB keyboards are low-speed, which is a bit slow for it really. Using PS/2 would be better.

Full-speed is pretty rare on keyboards - the Cooler Master CM Storm Quick Fire Pro and Quick Fire TK are about the only ones I know of (and even for those I don't yet know the details of their implementation).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: davkol on Tue, 01 January 2013, 07:34:57
Tt Meka (that weird 96-key-like keyboard) should be 16KRO over USB. (So is MS SideWinder X4, but it's not mechanical.)
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: TotalChaos on Tue, 01 January 2013, 07:38:06
Even the dirty trick methods work fine except on Macs. Even so, they are NOT "illegal tricks".
I assumed it was was illegal since it doesn't work on all devices and the whole concept of 1 device lying and saying its really 2 or 3 devices sounds dodgy.  :)

So it is 100% legal for 1 USB device to lie and say that it is really 2 or 3 devices?

And it is just that MacOS is lame and has a badly written or buggy USB Stack?

But MacOS is based on Linux and I assume uses lots of linux drivers for things, so does linux have these same bugs when using NKRO USB devices?

How about PS3 or other game consoles?  Does NKRO USB work on them?

Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 07:41:48
Tt Meka (that weird 96-key-like keyboard) should be 16KRO over USB. (So is MS SideWinder X4, but it's not mechanical.)

I have one guess where you get 16KRO from, and it's not a reliable source! ;)

TT Meka says it uses full-speed too, so there's no reason to assume anything other than full NKRO.

The X4 used full-speed, but it used a very strange configuration for its reports.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 07:54:40
Even the dirty trick methods work fine except on Macs. Even so, they are NOT "illegal tricks".
I assumed it was was illegal since it doesn't work on all devices and the whole concept of 1 device lying and saying its really 2 or 3 devices sounds dodgy.  :)

So it is 100% legal for 1 USB device to lie and say that it is really 2 or 3 devices?

And it is just that MacOS is lame and has a badly written or buggy USB Stack?

But MacOS is based on Linux and I assume uses lots of linux drivers for things, so does linux have these same bugs when using NKRO USB devices?

How about PS3 or other game consoles?  Does NKRO USB work on them?

I've corrected you on whether it's illegal before :rolleyes:

MacOS is not based on Linux :))

Lots of USB devices appear as multiple devices, even bog standard 6KRO keyboards if they also have media keys and/or power keys, or an inbuilt trackpad etc. Strictly speaking in USB terminology one would say that one device supports multiple interfaces, but in Windows etc. those interfaces show up as devices.

The difference between Macs and the rest is simply an arbitrary choice in the OS about whether multiple keyboards are treated as completely independant or not. I'd say that the Mac gets it wrong here - there's no point treating them as independant if you can't also have independant app focus for each keyboard (i.e. multi-user capable). For example, if you plugged in both a USB keyboard and a USB numpad to a Mac, you wouldn't be able to use the main keyboard's modifiers with the numpad's keys!

I dunno about PS3 etc, but probably yes, since the Mac is an oddball.

There are theoretically some ways of doing NKRO over low-speed that don't even use multiple devices. Can't recall if any keyboards use them.

Bottom line is that NKRO doesn't have any such issues if using full-speed and done right (and it's easier to do it right than wrong).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: TotalChaos on Tue, 01 January 2013, 08:39:04
Even the dirty trick methods work fine except on Macs. Even so, they are NOT "illegal tricks".
I assumed it was was illegal since it doesn't work on all devices and the whole concept of 1 device lying and saying its really 2 or 3 devices sounds dodgy.  :)

So it is 100% legal for 1 USB device to lie and say that it is really 2 or 3 devices?

And it is just that MacOS is lame and has a badly written or buggy USB Stack?

But MacOS is based on Linux and I assume uses lots of linux drivers for things, so does linux have these same bugs when using NKRO USB devices?

How about PS3 or other game consoles?  Does NKRO USB work on them?

I've corrected you on whether it's illegal before :rolleyes:
If so, I sincerely apologize.  Either I totally forgot or I prob just never actually went back to the thread to read the msg.  I have been wondering for a long time what the real story is.

To summarize:
Using USB 1.1 it is totally LEGAL for a keyboard to represent itself using multiple "interfaces" ("devices" under M$)

Then the trouble is that it is a matter of opinion whether the modifiers of one "interface/device" should modify the keys of another "interface/device".  Some OSes implement it one way and other OSes implement it the other way.

Do u concur?


 

Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: davkol on Tue, 01 January 2013, 09:18:18
But MacOS is based on Linux and I assume uses lots of linux drivers for things, so does linux have these same bugs when using NKRO USB devices?
It's not, never was. Original MacOS had nothing to do with Linux/Unix/whatever, only OS X is partly based on NeXTSTEP and Mach kernel, it's also a certified UNIX (Linux is not).

Tt Meka (that weird 96-key-like keyboard) should be 16KRO over USB. (So is MS SideWinder X4, but it's not mechanical.)

I have one guess where you get 16KRO from, and it's not a reliable source! ;)

TT Meka says it uses full-speed too, so there's no reason to assume anything other than full NKRO.
I guess they claimed something like that on their website, but it appears to be only 6KRO@USB on my system.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 10:53:42
Even the dirty trick methods work fine except on Macs. Even so, they are NOT "illegal tricks".
I assumed it was was illegal since it doesn't work on all devices and the whole concept of 1 device lying and saying its really 2 or 3 devices sounds dodgy.  :)

So it is 100% legal for 1 USB device to lie and say that it is really 2 or 3 devices?

And it is just that MacOS is lame and has a badly written or buggy USB Stack?

But MacOS is based on Linux and I assume uses lots of linux drivers for things, so does linux have these same bugs when using NKRO USB devices?

How about PS3 or other game consoles?  Does NKRO USB work on them?

I've corrected you on whether it's illegal before :rolleyes:
If so, I sincerely apologize.  Either I totally forgot or I prob just never actually went back to the thread to read the msg.  I have been wondering for a long time what the real story is.

No worries, I think it was just a small part of a discussion that was more about CPU loads etc.

To summarize:
Using USB 1.1 it is totally LEGAL for a keyboard to represent itself using multiple "interfaces" ("devices" under M$)

Then the trouble is that it is a matter of opinion whether the modifiers of one "interface/device" should modify the keys of another "interface/device".  Some OSes implement it one way and other OSes implement it the other way.

Do u concur?


That's pretty much it, yeah. The USB & HID standards say nothing on the matter of opinion.

I suppose with the example of the numpad, you might not want it merged with other keyboards - an example of that would be a IBM Space Saver + seperate numpad, where you wouldn't want the num-lock state to apply to the Space Saver.

The only truly correct way to handle it would be with options in the OS, so you could choose to build a virtual keyboard out of multiple devices.

HID did a great job of sorting out the mess of extensions for mice, joysticks, and other controllers, but apart from standardising media and power keys it really didn't move keyboards forward at all (with respect to keycodes etc).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: TotalChaos on Tue, 01 January 2013, 11:02:52
@Soarer

Do u know, or provide a link that gets the Soarer seal of quality approval, for explaining multimedia keycodes over PS/2 ?

A friend of mine was coding some sort of util for using multimedia keys and he was wondering about and I had no idea what to say.  I assume they just emit a keycode like any other key?
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 11:05:04
Tt Meka (that weird 96-key-like keyboard) should be 16KRO over USB. (So is MS SideWinder X4, but it's not mechanical.)

I have one guess where you get 16KRO from, and it's not a reliable source! ;)

TT Meka says it uses full-speed too, so there's no reason to assume anything other than full NKRO.
I guess they claimed something like that on their website, but it appears to be only 6KRO@USB on my system.

Oops, you're right, they do (http://usa.ttesports.com/products/product.aspx?g=spc&p=19), sort of...

Quote
Anti-Ghosting Keys    16 (USB)

Strange way to write it, but I'd assume they mean KRO. After all, you don't need anti-ghosting if you've built the thing with diodes - it simply doesn't have ghosting!
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: tufty on Tue, 01 January 2013, 11:05:57
Oh?  Can the holy and ubiquitous PS/2 "standard" not handle multimedia keys in a consistent way?
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: damorgue on Tue, 01 January 2013, 11:12:32
I don't know about "standard", but I have some fairly old Cherry boards which are able to output media buttons over PS/2.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 11:15:41
@Soarer

Do u know, or provide a link that gets the Soarer seal of quality approval, for explaining multimedia keycodes over PS/2 ?

A friend of mine was coding some sort of util for using multimedia keys and he was wondering about and I had no idea what to say.  I assume they just emit a keycode like any other key?


Trouble is, a lot of PS/2 keyboards would've used non-standard codes and made you load a driver :(

Try Microsoft's translate.pdf (http://www.google.co.uk/url?q=http://download.microsoft.com/download/1/6/1/161ba512-40e2-4cc9-843a-923143f3456c/translate.pdf&sa=U&ei=DRjjUJS_GMuW0QXp64HQCQ&ved=0CBgQFjAB&usg=AFQjCNEMQlYUOXer-W16nDpXvALEVIbVMQ). That shows mappings between USB HID and scan code sets 1 and 2 (set 2 used on the wire, but set 1 used inside the OS). Whether PS/2 keyboards actually put out those codes, I don't know.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: JPG on Tue, 01 January 2013, 12:28:35
I read that Max keyboards offer 20KRO over USB. If you type 20 keys at the same time, your typing with your ass, literally :)

Dunno if these keyboards are good, just saying they offer the 20KRO over USB.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 13:45:08
I read that Max keyboards offer 20KRO over USB. If you type 20 keys at the same time, your typing with your ass, literally :)

Dunno if these keyboards are good, just saying they offer the 20KRO over USB.

Smartass. Well their FAQ (http://blog.maxkeyboard.com/faqs/does-your-keyboard-feature-n-key-rollover-capability/) claims full NKRO. It does matter which since for anything that is >6KRO, full NKRO has a neater (and hence usually more reliable) implementation (even when using low-speed USB).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: urbanus on Tue, 01 January 2013, 14:08:18
full NKRO has a neater (and hence usually more reliable) implementation (even when using low-speed USB).

Could you please explain?
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Terrorsathan on Tue, 01 January 2013, 14:19:05
NKRO is nice and all, but I'm a pretty avid gamer, and have never found myself in a situation where usb 6 key roller wasn't enough...  I even have a PS2 port and adapter I can use but I just don't bother.


I think its more of an e-peen thing
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: razorsharpgears on Tue, 01 January 2013, 14:34:22
Yeah I hope in the future they add an NKRO option for USB, because when I bought my motherboard I decided to buy one without a PS/2 option.
And now I am engulfed in this KeyBoard hobby, unable to get full NKRO.   :'( :cries:  :'(
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Tue, 01 January 2013, 15:31:55
full NKRO has a neater (and hence usually more reliable) implementation (even when using low-speed USB).

Could you please explain?

It's neater because once you get up to 13 keys + modifiers, you can fit 112 keys (i.e. plenty!) in the same space by using one bit per key instead of a byte. But typically, if you increase the data sent from 8 bytes, you may as well double it for 128 keys worth.

It's usually more reliable because the code handling it is far less likely to have any bugs (both in the keyboard and the OS), just since it's so much simpler. Modifiers no longer need to handled separately, for one thing. And notably, there was a bug in all versions of Windows up to Win7 SP1 where if you press the maximum number of keys plus a couple of modifiers, the last key will get kinda stuck (as in, 6 keys plus modifiers if using a 6KRO keyboard, 12 keys for a 12KRO keyboard etc).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: missalaire on Tue, 01 January 2013, 15:57:32
The Cooler Master QuickFire TK has USB NKRO.

http://www.cmstorm.com/en/products/keyboards/quickfiretk/
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: inteli722 on Wed, 02 January 2013, 15:11:48
The Cooler Master QuickFire TK has USB NKRO.

http://www.cmstorm.com/en/products/keyboards/quickfiretk/
As does the QuickFire Pro (I don't know about the Rapid)
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: TotalChaos on Wed, 02 January 2013, 18:50:47
The Cooler Master QuickFire TK has USB NKRO.

http://www.cmstorm.com/en/products/keyboards/quickfiretk/
They claim it uses USB 2.0 but then they say it doesn't work on the MAC.

So either they are lying about the USB 2.0 thing or Soarer is just plain wrong when he says that using USB 2.0 solves all the NKRO problems of USB keyboards.

This whole thing makes no sense.  :confused:
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: inteli722 on Wed, 02 January 2013, 19:03:14
The Cooler Master QuickFire TK has USB NKRO.

http://www.cmstorm.com/en/products/keyboards/quickfiretk/
They claim it uses USB 2.0 but then they say it doesn't work on the MAC.

So either they are lying about the USB 2.0 thing or Soarer is just plain wrong when he says that using USB 2.0 solves all the NKRO problems of USB keyboards.

This whole thing makes no sense.  :confused:

When they say it doesn't work on Macs, it's a limitation of the OS, not of the hardware.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Wed, 02 January 2013, 19:08:49
No no no...

USB 2.0 / full-speed doesn't magically make any implementation using it good, it just makes it possible. And relatively easy. So it's really not a good sign if they haven't managed to be Mac compatible.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: TotalChaos on Wed, 02 January 2013, 19:12:36
@Soarer

So u agree that it really has USB 2.0 and the MAC incompatibility is just a bug in MAC OS?

Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Wed, 02 January 2013, 19:20:21
I'm assuming it has USB 2.0; such a claim is nearly always correct. (However the claim that the Rapid has 1000Hz USB polling is incorrect, since it only uses low-speed).

I wouldn't call it a bug in OS-X. It's perfectly possible to write NKRO implementations that work with it, and using full-speed means there's no downsides (with low-speed you'd have to go down to a 62.5Hz polling rate, I think).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: TotalChaos on Wed, 02 January 2013, 19:42:19
Is the methodology of making a USB 2.0 keyboard work on OSX publicly available information for free?

Or do keyboard companies have to pay a bribe to Apple for the top secret infos?
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Wed, 02 January 2013, 19:52:34
It's free; it's all in the HID spec. They just have to implement the main keyboard as a single interface (media and power are always separate).

Who knows - maybe they just say that Mac is incompatible because they couldn't be bothered to test, or would have to pay Apple for conformance testing or somesuch. Possibly it works fine anyway.

Someone should dump the report descriptors so we can find out what it's doing.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: metalliqaz on Wed, 02 January 2013, 20:04:11
My Leopold FC200R has N-key rollover with USB, verified at http://www.microsoft.com/appliedsciences/content/projects/AntiGhostingExplained.aspx
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: hasu on Wed, 02 January 2013, 20:04:42
Shame. Manual says Quck Fire TK does NOT support NKRO on Mac.
http://www.coolermaster.com/cmstorm_files/QuickFireTK_User_Guide_EN.pdf

Cooler Master did failure of 'Noppoo choc mini' again? Why didn't they just use plain HID descriptor!? I believe plain HID descriptor can  circumvent  said Mac 'bug'.

Soarer, I'd call it a bug or laziness of Apple :) but I don't blame them on this harshly.
In most case we won't need that complicate descriptor, I guess.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Wed, 02 January 2013, 20:24:10
Also, "NKRO ... prevents some PCs from booting" - they need my trick of running both 6KRO and NKRO at the same time :D

It's good that the NKRO can be switched on and off, I suppose.

My guess then is that they started with something like Noppoo code, running at low-speed, and only really used full-speed to add the '1000Hz polling' to the spec sheets. Shame indeed.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: inteli722 on Wed, 02 January 2013, 20:38:38
Also, "NKRO ... prevents some PCs from booting"

Maybe that's why the Quickfire Pro I bought my dad isn't getting recognized. Anyone know if it remembers what mode it's in?
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Oobly on Fri, 04 October 2013, 03:06:07
Also, "NKRO ... prevents some PCs from booting" - they need my trick of running both 6KRO and NKRO at the same time :D

It's good that the NKRO can be switched on and off, I suppose.

My guess then is that they started with something like Noppoo code, running at low-speed, and only really used full-speed to add the '1000Hz polling' to the spec sheets. Shame indeed.

I am interested in this running both 6KRO and NKRO at the same time. How would you implement it? As far as I know, for a keyboard to support boot protocol (so you can enter BIOS with it, etc.) it must implement 6KRO over low-speed. After boot you can use full-speed and NKRO, or if you don't care about the keyboard being usable at boot, just implement full speed and NKRO. But most keyboards will need to be recognised at boot for PC's with BIOS. Otherwise if your CMOS gets wiped from a power issue for instance, you can't go into BIOS to fix it unless you have another KB available that supports boot protocol.

Only solution I can see is having it switchable.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Fri, 04 October 2013, 06:08:59
BIOSs are happy with 6KRO over full-speed. If they didn't then you'd be right; the only way to work would be to switch completely from one speed to the other.

BIOSs should issue a SetProtocol command to make the keyboard use 6KRO, but some don't. That's key. If they all complied with the spec, a firmware writer could simply follow the guidelines in the spec to implement 6KRO for the BIOS, and then whatever they liked for the OS.

The 'trick' is to keep a 6KRO report running always, and have its descriptor tell the OS that it contains no keys, so that the OS ignores it. BIOSs see that it has the 'boot keyboard' flag set, so they see the keys in it fine (they ignore descriptors). A second endpoint provides the NKRO keyboard which doesn't have the 'boot keyboard' flag set, so the BIOS ignores it. Where a BIOS does issue SetProtocol, I suppress output on all but the 6KRO endpoint. It's all perfectly compliant with the spec :D
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: C5Allroad on Fri, 04 October 2013, 06:18:48
All the NKRO USB keyboards I have read real reviews of have said they are all flaky depending on what OS you use.

So basically you can forget about it for anything in the universe except Windoze XP, 7, 8.  It might not work on all 3 of those but at least one of them should work.

Plug your keyboard into any other computer and it will usually just go bonkers.

If you can wait 10 more years they might make us USB3.0 keyboards which could support NKRO without doing illegal tricks that only work by haxxing one OS and not the other.

In the meantime if you want 100% reliable NKRO just plug a PS/2 keyboard into a PS/2 port on your computer.
My ducky works fine both on my PC and Mac.
Ducky seems to have the most reliable one.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Oobly on Fri, 04 October 2013, 06:25:23
That's genius!

Great solution! I wish some hardware vendors would start to do this. What boards have you implemented this on? I am building a custom firmware for my own DIY board using a Teensy. Do you mind if I try out some of your concepts on it?
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Fri, 04 October 2013, 06:57:44
It's in my converter, of course. And will be in my soon-to-be-released controller firmware, which has been tried on 4 keyboards so far (Retrete's Kevex (http://geekhack.org/index.php?topic=17458.msg870218;topicseen#msg870218), my mini, an IBM with Alps, and IBM bigfoot (http://geekhack.org/index.php?topic=48950.msg1058305#msg1058305)).

Sure, feel free to try these things out, they're not secrets :D
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Lu_e on Fri, 04 October 2013, 12:15:23
WASD keyboards also has their; 'Modified 6-Key Rollover over USB allows additional key presses after 6 keys to be recognized'

The V2's firmware will still only allow 6 keys to be recognized as being held down at the same time, but pressing up to 12 keys simultaneously will allow every key single to be sent, but only the last 6 keys will still be seen as being held down. Holding down and pressing additional keys one at a time will continue to allow new keys to be recognized.

In both the V1 and V2, Ctrl, Alt, and Shift keys are not counted in the key limit. So you can hold down Ctrl+Alt+Shift+6 other keys.

What say you on their implementation? Presses vs holding down? Is press vs holding a factor on older or custom controllers of today? Since there are 2 actions to the signal I think? switch on, switch off
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Melchior on Fri, 04 October 2013, 20:36:48
I think what you mean by NKRO USB is the USB HID large report size.

Where each report of key-presses was represented by ~16 (not the exact number...) byte reports.

There was thread about this here not long ago... my how time flies and knowledge is easily forgotten.

Also USB NKRO with a Coolermaster Quick-fire causes all kinds of wierd inexplicable issues (Windows 7 no less) - Inverted Insert Key State Anyone?

Also - I have seen the whole BIOS freak-out issue with multiple endpoint-devices; strangely enough with a mouse (that is also a keyboard), It just an temporary annoying quirk...
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Fri, 04 October 2013, 20:46:50
WASD keyboards also has their; 'Modified 6-Key Rollover over USB allows additional key presses after 6 keys to be recognized'

The V2's firmware will still only allow 6 keys to be recognized as being held down at the same time, but pressing up to 12 keys simultaneously will allow every key single to be sent, but only the last 6 keys will still be seen as being held down. Holding down and pressing additional keys one at a time will continue to allow new keys to be recognized.

In both the V1 and V2, Ctrl, Alt, and Shift keys are not counted in the key limit. So you can hold down Ctrl+Alt+Shift+6 other keys.

What say you on their implementation? Presses vs holding down? Is press vs holding a factor on older or custom controllers of today? Since there are 2 actions to the signal I think? switch on, switch off

First thought - I'm not sure it provides any benefit. Maybe I'll think of one at some point, but if you want to hold more than 6 keys you're not getting what you want whichever keys aren't held!

For the implementation, it's a simple choice what to do when another is pressed when 6 keys are already held down - either block the new key down, or release the key that's been pressed the longest. The code is pretty simple for either case.

(You have to remember that the 6-key USB report is trying to convey the state of the entire keyboard, not events).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: terran5992 on Fri, 04 October 2013, 21:53:15
Quick fire tk is nkro
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Linkbane on Fri, 04 October 2013, 22:13:29
All the NKRO USB keyboards I have read real reviews of have said they are all flaky depending on what OS you use.

So basically you can forget about it for anything in the universe except Windoze XP, 7, 8.  It might not work on all 3 of those but at least one of them should work.

Plug your keyboard into any other computer and it will usually just go bonkers.

If you can wait 10 more years they might make us USB3.0 keyboards which could support NKRO without doing illegal tricks that only work by haxxing one OS and not the other.

In the meantime if you want 100% reliable NKRO just plug a PS/2 keyboard into a PS/2 port on your computer.

This might be true several years ago, but you're really misrepresenting the facts. Several keyboards these days support USB over NKRO, including the CM QF TK, QFR Stealth, Noppoo series, and several others. Both the CM keyboards that I have used have worked with NKRO on any Windows computer, and they apparently don't work on Mac. But good luck finding a modern Mac with a PS/2 port still on it. The most commonly available ones would be the Cooler Master keyboards, but I'm sure that there are plenty of others which I do not mention.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Findecanor on Thu, 21 November 2013, 20:04:05
The 'trick' is to keep a 6KRO report running always, and have its descriptor tell the OS that it contains no keys, so that the OS ignores it.
I suppose that a BIOS that won't SET_PROTOCOL() won't request any Report Descriptors either.

Couldn't you just set the protocol to BOOT_PROTOCOL from the beginning?
When the OS starts up after the BIOS, it couldn't expect the BIOS to have set it to one or the other, so it would always have to set the protocol anyway.

Except Macintosh doesn't have a BIOS ...
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Thu, 21 November 2013, 20:38:33
The 'trick' is to keep a 6KRO report running always, and have its descriptor tell the OS that it contains no keys, so that the OS ignores it.
I suppose that a BIOS that won't SET_PROTOCOL() won't request any Report Descriptors either.

I have vague memories of attempting to set the protocol based on whether the report descriptor got read, but I can't remember now if it simply didn't work (i.e. some BIOS read the descriptors regardless), or if I decided it was simply too much of a hack!

Couldn't you just set the protocol to BOOT_PROTOCOL from the beginning?
When the OS starts up after the BIOS, it couldn't expect the BIOS to have set it to one or the other, so it would always have to set the protocol anyway.

Except Macintosh doesn't have a BIOS ...

Unfortunately you can't, because the OS doesn't SetProtocol - it only resets the device and runs through the rest of the initialization. SetProtocol is only ever used to set boot mode (in practice, as far as I know...).
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: C5Allroad on Thu, 21 November 2013, 20:42:32
Ducky, Maxkeyboard, I think keycool, Noppoo, And I know some other boards also but I don't the name of them.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Findecanor on Sat, 23 November 2013, 10:24:17
Unfortunately you can't, because the OS doesn't SetProtocol - it only resets the device and runs through the rest of the initialization. SetProtocol is only ever used to set boot mode (in practice, as far as I know...).
Awww. Thanks

The 'trick' is to keep a 6KRO report running always, and have its descriptor tell the OS that it contains no keys, so that the OS ignores it. BIOSs see that it has the 'boot keyboard' flag set, so they see the keys in it fine (they ignore descriptors). A second endpoint provides the NKRO keyboard which doesn't have the 'boot keyboard' flag set, so the BIOS ignores it. Where a BIOS does issue SetProtocol, I suppress output on all but the 6KRO endpoint. It's all perfectly compliant with the spec :D
I came across this snippet on Enhanced Keyboards and Windows (http://msdn.microsoft.com/en-us/windows/hardware/gg463446.aspx#ESB) on Microsoft.com:
Quote
However, there is a HID firmware solution that will work with a USB HID-aware BIOS that does not issue the HID Set_Protocol request. The solution is to implement two HID interfaces on separate endpoints in a USB composite-device fashion. One HID interface implements a standard HID keyboard with identical report and boot protocols; the other HID interface implements all the new enhanced keyboard features--for example, the multimedia and web browsing keys, the power keys, and so on. If done this way, the standard HID keyboard on the first interface will always work, regardless of whether the BIOS issues a Set_Protocol request.
But would that work with all BIOS or OS'es? Wouldn't an operating system choose the protocol on the first interface/endpoint and ignore the second? ...
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Soarer on Sat, 23 November 2013, 11:27:36
It would - that's what nearly all keyboards with multimedia keys will do. But it's still only a 6KRO keyboard; the second endpoint doesn't contain more 'regular' keys (and if it did, it wouldn't be compatible with Macs).

BIOS only looks for endpoints that are flagged as being a 'boot keyboard', possibly issues a set protocol on them, and uses the predefined 6KRO layout.

OS resets the device, reads descriptors for all endpoints, doesn't issue set protocol, and uses the descriptor-defined layout for each endpoint.
Title: Re: Are there any USB NKRO keyboards on the market yet?
Post by: Kamen Rider Blade on Sun, 02 February 2014, 00:41:07
So even though full nKRO over USB is possible, assuming you're using Full Speed USB and probably a 16 byte report with each key being a bitmap in that report, what about the hardware level?

Aren't most keyboard hardware not designed properly to have full NKRO?

I remember reading some boards needing diodes on each circuit to do full NKRO which gets expensive.

Normal Matrix keyboards only have Horizontal Rows & Diagonal Columns (2D array) for registering keys.

Is there another hardware design that allows full NKRO?

If it's a Keyboard Matrix, I would assume having a 3D matrix would make it possible (Horizontal Row & "\ Left Slanted Diagonal" & "/ Right Slanted Diagonal") to detect every key combination input out there.