geekhack
geekhack Community => Keyboards => Topic started by: Moogle Stiltzkin on Thu, 21 October 2010, 13:04:16
-
Ok just discovered something called NKRO Pro that seems to allow usb to do NKRO without the need of the PS2 interface whatsoever.
I found an old article that may be related to it
http://geekhack.org/showthread.php?t=6322
Any ideas why newer keyboards haven't implemented this ?
Irocks apparently has one of these keyboards with the NKRO pro. here is a review however i suggest to use google to translate
http://www.iqmore.idv.tw/i-rocks-%E5%AF%A6%E7%8F%BEusb%E9%8D%B5%E7%9B%A4%E5%A4%9A%E9%A1%86%E8%BC%B8%E5%87%BA
Another keyboard i know with NKRO pro is the Plum keyboard somebody mentioned.
http://geekhack.org/showthread.php?t=12266
-
What ? So are you saying even if you got nkro pro, the OS and programs limit you to 12 ?
Hm 12 is pretty good already :X i doubt more is needed.
-
well, o2jam DO need 7 keys pressed simultaneously at the same time.
-
Yeah 6+4 hard limit for USB, unless software solutions like above work.
But really I still think it's best to have hardware based NKRO over the entire matrix to make sure there is reliable redundancy over the entire board. I think too many focus on extra keys and not on the reliability. Not that extra keys are bad if you can use them just seems like every thread has NKRO = useless after a point because of the key amount.
-
Only one game requires all 10 fingers.
Ahem...make that TWO games (http://uncyclopedia.wikia.com/wiki/Mel_Gibson_Safari_3).
(http://images2.wikia.nocookie.net/__cb20070709022660/uncyclopedia/images/9/9d/001.JPG)
-
I'm still all for my completely ridiculous idea to simulate two keyboards (http://geekhack.org/showthread.php?t=7487) on a single board to achieve 12KRO.
I should be a keyboard engineer ;).
-
maybe it'll be differend with usb 3.0?
-
NKRO over USB using the standard HID driver has been done before, just needs the correct controller. I've never seen it done in a production keyboard, so I think there's some hacks involved that don't necessarily make it suitable for everyone. Afraid I don't know the specifics though.
-
As I know
there are some mature NKRO PRO products
Plu3000, Plum84
i-rocks 6250(the metal one)
-
YouTube or it didn't happen.
@0:55, pause it.
And yes, we could remap some modifier if we want to. Unfortunately, it's not comfortable.
-
Over 6KRO is just bragging rights, no more.
Even that weird asian music game with MAYBE 7 keys I doubted ever really needed 7 keys.
Think of it this way. What PC Gaming Software Developer would be so stupid as to require their users to have 12KRO keyboards? Even a reliable 3KRO would take care of 99% of gaming problems.
What?
Sorry guys, I can't hear you over the sound of how awesome my PS/2 NKRO keyboard is. 3KRO makes me **** my pants daily, that's why I had to go all in, because I exceed 6 keys on an hourly basis. It's all about me versus that other guy with the Microsoft 3000 Wireless Keyboard.
What?
BOOOOOOM! HEADSHOT!
Yeah.
-
What?
What?
BOOOOOOM! HEADSHOT!
Yeah.
(http://www.noobstore.com/prodimages/p-dg1-art-280.gif)
-
Someone got pwned?
-
Second:
(http://easycaptures.com/fs/uploaded/485/6507095907.png) (http://knowyourmeme.com/memes/smash-face-on-keyboard-post-results)
frgtvb5y6h7uj
-
Nice find. Bookmarked it as the FIRST real-life example of a game needing >6KRO I've found.
Still, how can you stand that music.
This game Mo Bettah! 4KRO would be fine here.
Me? No. Koreans do. And maybe Japanese.
Stepmania. I like that game too, unfortunately, it's music files are huuuge.
-
Japs is a derogatory term.
and you've turned us all into racists just by exposing us to it.
-
http://www.youtube.com/watch?v=dBM-P-1CxXI
-
It's not a hard limit. It's an artifact of the HID specification. Nothing hard about it.
Note that this is different than the interrupt based PS/2 specification since Make/Break codes are not needed. All the host does is compare states of packets.
The HID specification only talks about the 6+mod keys max in its BIOS compatibility mode.
The idea is that the BIOS asks the keyboard to switch to this mode so it can simulate PS/2 when the OS isn't smart enough to do so (e.g. a DOS and Windows 3.11 combo) without knowing the ins and outs of USB HID. Since this mode is very strict, the BIOS can just skip all bytes in the packets which it doesn't know and extract the only important thing: scancodes.
Keyboard makers *could* have larger packets if they declare and send them (USB HID actually supports this because a device should offer this information when the host asks for it). The catch is that you now have to support two modes and hope that the OS' drivers actually read the information about the larger message format so they can handle the increased input.
Linux seems to support custom HID packets, though I don't know anything about it on Windows. MS' own X4 seems to do it though.
Having two simulated keyboards with each a BIOS compatibility mode is the most back-ward compatible choice. However, it is nothing more than a kludge.
EDIT: Toned it down a little.
-
Standards aren't much use unless they are widely supported. USB provided a lowest common denominator protocol which is the one everybody uses. If there are better options defined that nobody uses - or can't be guaranteed to be supported - then the options may as well not exist.
I don't understand why they did USB keyboarding the way they did. It is more complicated than PS/2's way, yet it is less capable with no clear benefit.
-
Nice T-shirt!
Are you trying to imply that I have a vested interest in preferring PS/2 over USB?
-
So if you don't know anything about Windows why get so excited and call me a liar?
My major point here is that the USB specification can be worked around to make this work or the Sidewinder X4 wouldn't exist.
Ok, I added the namecalling for dramatic effect but you shouldn't help to spread the myth that the specification is at fault. The reason why we don't see more pseudo-NKRO keyboards is because the implementation is lacking or unreliable.
In practice this means nothing, a faulty implementation still results in limited KRO. However, you can call out the implementer that he has written an icomplete piece of software though, meaning that in the long term you don't need a workaround but a bugfix. The implementer of the USB stack is now responsible instead of the keyboard firmware writer having to go out of his way to jury-rig the controller.
I'll have to built a test board to verify that Windows 7 supports different sized keyboard packets. If they redesigned their drivers to get the X4 to work, they might as well bundle it with Win 7.
Still have to procure a Teensy(++) first but they don't accept Paypal anymore. Who wants to play the middle man?
-
Well, I apologize for that - it was uncalled for.
Still, once I do get a Teensy or other prototype board, I'll try to bust this myth. Spreading it won't do much good though.