Topre Realforce R2 6-key rollover issue?

Spearra

17 Apr 2019, 15:53

Hello! While everything else has been going well, and the BKE Extreme domes are playing with the "Realforce R2 Pfu Limited Edition" a lot nicer than the Topre clone some times ago, I did encounter one quirky issue with this particular R2 model.
Apparently all models of Realforce R2 should have NKRO. For the one I got, the minimum combination of keys I can press, and the maximum are BOTH 6-keys. I attempted to narrow down the problem via starting with Reddit before bringing it up here. What I/we figured out so far is:

- It doesn't seem to be a OS issue (on a Mac and that Topre clone I mentioned earlier DOES have NKRO and it works as intended)
- Not a "use a different USB" issue. Attempted both directly to the computer USB port itself, and the main USB HUB that I like to use. No dice. Granted it shouldn't be a issue here because said Topre clone and it's NKRO works with any USB situation, HUB or not.
- No its not enabled via some sort of command. Both the online manual and the physical one it comes with talks about everything else BUT the NKRO. It is never acknowledged. It is just assumed that it is the case. Unfortunately assumptions aren't results.
- Contacting support is in vain atm. Basically, the English "support" page of the Realforce website is literally just the software installation for the Actuation Point Changer, and the RGB for the models that support it, and the online manual which is basically just a manual for the software. What does resemble a contact form is on the Japanese version of the Realforce website. I do not know how to read/understand Japanese. Any attempt on that front would be severely in vain.
- Again, the max AND min is 6-keys. It is by no means 2-key rollover. I tried, no matter what, if the combination of keys (plus or minus modifiers) is ≤ 6-keys, it will work. BUT it will not go over that amount.
- For some reason it still can pass that:
THE QUICK BROWN FOX JUMPS OVER THE LAZY DOG
test. (Its when you hold down both shift keys and type out said phrase. If it succeeds, it "should" have NKRO. Its a generally reliable test, but not in this particular case)
- This DOESN'T seem to affect RGB models. I did have one person say on Reddit that their RGB R2 did have NKRO after checking it in a Aqua key test. So apparently those models are fine. But again, supposedly ALL models of R2 should have it, not just the RGB ones.
- Software is Windows only. So if it is locked behind that, I'm outta luck on that end. But again, the manual doesn't reference anything pertaining to NKRO in the software. Its just for RGB and Actuation Point stuff. So it is rather unlikely that it is "locked" behind the software.

There's been no responses from Reddit for quite a bit, so all that I ended up with was more questions than answers. Despite this, I still do very much like my R2. Very much so since I can reliably use my BKE Extreme domes again. But this has been bugging me for awhile. Any ideas/thoughts?

The "NKRO" issue is just about the only thing preventing this keyboard from being my everyday purpose keyboard.
One of the rhythm games I play uses 9-keys. So in my particular case, the NKRO actually does come into play.
So yet again, that old scissor switch keyboard (Perixx PX-1900) is still having various quirks that beats out more expensive keyboards.
In this case, that being in raw key rollover.
For some reason the PX-1900 as "almost" NKRO (most combinations can well go over 6-keys. MOST). Granted that keyboard is an anomaly in general but that's besides the point.
Ever since the day I got it, I used it as my golden standard for any keyboard that I would potentially use as a daily driver. Which very few keyboards can actually accomplish all of them. By all means it is a jack of all trades keyboard. So it is bound to have a offhand trait that beats out other keyboards. Honestly I'm just here so I can use BKE Extremes again. If those didn't exist, I would still be using that PX-1900. I still have that keyboard as a backup for my 9-key rhythm game shenanigans. Damn shame as using BKE Extreme for that game would've been a stellar experience! Well, at the very least, I can still play osu!-Standard and Typeracer with this keyboard. Still a bit of a shame if there really isn't a solution to this!

PS: Note that, I bought this model because it was built like a proper Realforce. Not like the RGB one which seems to be a carbon copy of the original Realforce RGB which wasn't "as good" as the regular Realforces. That and, the "normal" Realforces have those legendary dye subbed PBT keycaps that I wanted to try. Not like the "meh" ABS thats on the RGB models. Plus the model I got is silenced already. The amount it would cost to buy hyperspheres for example, and the work required, I don't mind the extra $100 (USD) fee of the silencing. Despite the BKE Extremes, the silencing is very effective. Much better than the Topre clone I got. Much quieter too since Topre doesn't use a floating keycap design.

PSS: Literally everything else works as intended. The Actuation Point Changer works, the function F-key commands work (or at least the ones that play nice with Mac), and the dedicated Volume Keys also all work as intended. Its just the "NKRO" that is having some weird issues. Honestly I have no idea. Did Topre just copy paste the product specs of the RGB model onto everywhere else or something?
But then again, it IS true 6-key rollover. So it it still "better" than say, a Model M in that regard, since it is guaranteed 6 keys minimum. So regardless, we got a strange problem here lads/lassies/fam, any idea on where to go from here?

User avatar
hansichen

17 Apr 2019, 16:02

It's a software 'issue'. An input device over USB is always limited to 6kro, you can only reach higher kro when a keyboard controller works as multiple keyboards. So eg for 12kro over USB your board must register as 2 keyboards on your PC, for 18kro it's registered as 3 keyboards and so on. Looks like Realforce isn't using this software for their current R2 boards so you can't do anything against that.

User avatar
Laser
emacs -nw

17 Apr 2019, 17:01

A bit funny how the user managed to present the issue by almost making an entire review of the keyboard in the process :)

Findecanor

17 Apr 2019, 17:21

hansichen wrote:
17 Apr 2019, 16:02
It's a software 'issue'. An input device over USB is always limited to 6kro, you can only reach higher kro when a keyboard controller works as multiple keyboards.
No, that's totally incorrect. A myth that has persisted for much too long.

NKRO over USB is possible.
It can however be problematic to get full compatibility with both Windows, MacOS and Linux because of USB HID implementations being extra picky about the report format, or because there is an actual bug in the OS that has to be worked around.
The enthusiast firmwares TMK (QMK), Kiibohd firmwares and Soarer's firmware all do real NKRO on both Mac, Linux and MacOS, because the programmers behind them have together identified and worked around those quirks.
Some gaming keyboards that do NKRO have been tested only on Windows. I suspect that is the case with the Realforce R2, and that Topre could have a Windows driver that someone tells the keyboard to enable the NKRO protocol when connected to a Windows PC.

The myth about "NKRO on multiple keyboards" originate with some Noppoo keyboards, such as the Noppoo Choc Mini. The designers of those had cheapened out and used a microcontroller that was capable of only low-speed USB as opposed to full-speed which all but low-end keyboards use. Low-speed USB is limited to 8 bytes (64 bits) per report format whereas a NKRO report for a keyboard with more than 64 keys needs more.
Therefore the keyboard state needed to be sent as multiple reports. Instead of doing the right thing and using report IDs to tell them apart, Noppoo had sent each report on a different interface (as a compound device, not as multiple devices behind a hub).
There are also issues with Noppoo's report descriptor, which had made MacOS (actually Darwin's) parser croak, and a peculiarity on Mac that different keyboard interfaces are treated as different keyboards, whereas Windows and Linux treat all connected USB keyboards as one big keyboard.
There are patches/workarounds to make Noppoo Choc Mini work on Macintosh. The links are in the wiki.

Findecanor

17 Apr 2019, 17:47

@Spearra: Would it be possible to configure the game to use the modifier keys to game with?
Shift, Control, Alt/Option and Windows/Command are not subjected to the 6KRO limit.

User avatar
Laser
emacs -nw

17 Apr 2019, 18:27

@Findecanor, I'm pretty sure when I plug in a keyboard with QMK firmware,it always appears as multiple devices (in Linux, 'dmesg' shows multiple input event sources IIRC), even if I don't enable fancy stuff in QMK; AFAIK, the 6-nkro issue pointed out by @hansichen is still relevant and QMK still uses multiple devices to achieve NKRO. That said, I'd like to be proved wrong. (Actually, it's very possible I'm also just propagating a myth.)

Findecanor

17 Apr 2019, 21:26

Laser wrote:
17 Apr 2019, 18:27
@Findecanor, I'm pretty sure when I plug in a keyboard with QMK firmware,it always appears as multiple devices
I checked the source code. Yes, there are up to three keyboard interfaces (no emulation of USB hub). One for 6KRO keyboard and one for NKRO keyboard (an implementation of Soarer's workaround for compatibility with bad BIOS:es), and a third separate interface for system and media keys. If you have mouse-keys there will also be a mouse interface.
But only one interface and one report format is used for NKRO. The 6KRO interface is dormant when the NKRO interface is being used.

But I had been wrong about one thing however: TMK and QMK don't seem to have have special code in its NKRO code for working around bugs in the Linux kernel. Kiibohd does, however, and I think Soarer has claimed his firmware to work with Linux.

User avatar
Laser
emacs -nw

17 Apr 2019, 21:37

A-ha, thanks a lot for this answer! Maybe the Linux specific bugs got solved in the kernel in the meantime?

Post Reply

Return to “Keyboards”