Keyboard layout broken on Windows with Remote Desktop running on the PC that's sharing their screen
Fabian Schmied
In a Drovio session between two Windows PCs, when the sharing party is running remote desktop inside the shared session, the keyboard layout is very much broken.
Concrete setup:
* My PC: Windows 10, joining a Drovio session from other PC
* Other PC: Windows 11, shares their desktop, runs Remote Desktop (mstsc.exe) and connects to a Windows 10 PC again
On all three PCs (my, other, remote), the keyboard layout is set to German.
When I type something into the Drovio session _outside_ of the Remote Desktop, everything is fine. When I type something into the Drovio session _inside_ the Remote Desktop, the keyboard layout is broken:
* "Z" and "Y" are switched (German uses a "qwertz" layout, but inside Remote Desktop, it's like a "qwerty" layout)
* Some special characters such as "-" and "_" don't work correctly, instead generating "ß" and "?"
* The broken characters _change over time_, i.e., the layout gets more broken. For example, in today's session, the "=" character worked fine at first. After some time, it suddenly stopped working (I forgot which character was produced instead).
This used to work fine in the past, but has been broken for some time (multiple months at least). It currently happens on the latest Drovio (3.5.2, installed on both PCs, "my" and "other"). And it's really, really annoying.
PS: We can't start Drovio directly within the remote PC because the audio and video devices are on the host ("other") PC.
Benjamin Battin
Hi Fabian,
I'm Benjamin, CTO @ Drovio.
Sorry to hear that you're facing some issues regarding your Drovio use case. Just to be clear before I start some investigation about your problem:
- The guest (Windows 10) is interacting through Drovio on a machine (Windows 11) running a RDP session to a third Windows 10 machine.
- When sending keyboard inputs through Drovio outside of the RDP client, inputs are correct
- At some point, inputs sent through Drovio inside the RDP client are wrong and keyboard mapping seems to be broken.
One question though:
When inputs sent inside RDP client are erratic, are they still correct outside the RDP client or not ?
If you want, we can also plan a debug session together so I can see things by myself and try a few things. If you're agree with this, you can reserve a time slot with me:
https://calendly.com/benjamin-drovio/30min
Have a nice day, Best.
Fabian Schmied
Hi Benjamin Battin,
Thanks a lot for the response! Your summary is correct. Regarding your question:
> When inputs sent inside RDP client are erratic, are they still correct outside the RDP client or not ?
We explicitly tested that and they're indeed still correct outside the RDP client.
> If you want, we can also plan a debug session together so I can see things by myself and try a few things. If you're agree with this, you can reserve a time slot with me:
Okay, very cool, will do after conducting yet another experiment on our own.
Best regards,
Fabian
Fabian Schmied
Benjamin Battin Thanks again for your response! We did a few experiments and we finally found a solution - for some reason, pressing "Alt + Left Shift" within the remote desktop caused two additional input languages with different keyboard layouts to appear on the Windows 11 host, one of which was Arabic (Iraq). (I have a habit of sometimes pressing "Alt + Left Shift" while coding when I start entering a keyboard shortcut, but then change my mind.)
That's the shortcut for switching input languages, but these keyboard layouts definitely weren't present before and I have no idea why they would suddenly appear. We were also able to reproduce this today - input languages not present after reboot, suddenly present after "Alt + Left Shift".
This doesn't really explain why keyboard inputs were interpreted differently within the Remote Desktop session vs. outside... But anyway, disabling that keyboard shortcut also made the problem go away and I can now use Drovio effectively again.
Best regards,
Fabian