Don't reconfigure the keyboard when the same client reconnects #3322
Replies: 2 comments 1 reply
-
Curious workaround I discovered before I came searching in the repo (turns out there's a billion such issues): I found out (in desperation really), that when the layout switching doesn't work, I can simply remove the layout and re-add it (using whatever graphical tool of your DE), and layout switching magically works again within this session. Not sure what's going on underneath the hood but YFI. |
Beta Was this translation helpful? Give feedback.
-
@cyqsimon - I'm trying to get on top of the remaining keyboard issues we have, so I'm curious as to exactly what's going on in your setup. It may be something we've seen before (and fixed), or it may not be. If you've got the time I'd appreciate you raising an issue with more detail about what you're experiencing. If not, that's fine - thanks for the data point. One of the reasons behind this suggestion is that some users have multiple keyboards connected to the same machine and are using different layouts with each one. The RDP protocol has no provision for handling this use-case. this. Is this something that's applicable to your setup? |
Beta Was this translation helpful? Give feedback.
-
See #2656 for some background on this.
The RDP protocol assumes a single keyboard is used for input. When we connect, or reconnect, the details of this keyboard, including the layout are sent to the session as part of the client core data. This is then used to initialise the keyboard for the session.
We have to do initialise the keyboard, as a user may be reconnecting to a session from a different client. I can see that this would mess up a session where the user isn't connecting from a different client, and has made an effort to reconfigure their keyboard to match the session.
One possible way round this might be to save the client name used for the connection, and not reload the keyboard layout if the same client reconnects.
Comments anyone? Is there a better way to do this? Does this need to be a configurable option?
Beta Was this translation helpful? Give feedback.
All reactions