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
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).