Shifted keys mis-firing in remote desktop

I have a key set to ‘&’ or more precisely ‘shift+7’. When I’m using remote desktop, about one in 20 keystrokes will show up as a 7 rather than &.

I have a Model 01 and an Atreus, and it happens with both. This doesn’t seem to happen on my local computer. My Ergodox with QMK doesn’t have this problem on remote desktop.

Is there something about the timings Kaleidoscope uses to send the shift and 7 keys that causes this to happen when there’s latency? Has anybody else ever seen this? Are there settings that can be tweaked to remove the problem?

Here’s what’s happening: When you press a key mapped to LSHIFT(Key_7), Kaleidoscope sends two HID Keyboard reports in rapid succession to the host. First, one with just shift, then one with both shift and 7. The RDP client will sometimes batch those HID reports together if they come in too fast relative to its update frequency for the connection to the remote host. And Windows processes the HID report in keycode order, so it notices changes in the modifiers last.

There are some things you can try, and I believe Microsoft is fixing the problem in the next version (finally). In the meantime, there are some things you can try. See the following:

Also this: Keypresses are wrong over RDP · Issue #87 · keyboardio/Model01-Firmware · GitHub

2 Likes

Also, QMK might be using a delay between the two reports to solve the problem, which Kaleidoscope does not. If so, it’s probably not 100% reliable. We experimented with fixed delays of various lengths, and couldn’t find a reasonable value that prevented the problem. Some people have even reported seeing it when using normal non-programmable keyboards.

2 Likes

Thanks for the detailed explanation and links! Unfortunately the “on this computer” fix won’t work for me, so hopefully the new RDP version comes soon!