-
Notifications
You must be signed in to change notification settings - Fork 113
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
The keyboard layout is set when the keyboard is initialised and when a client connects. When the X server is started and the keyboard is initialised, client layout info is unavailable. Therefore, a default layout is set. Subsequent calls are made when a client connects to the X server. These calls set the client layout for the currently connected RDP client. The amount of time which may elapse between the X server starting and the first RDP client connecting may be considerable - a session could be started without a client using xrdp-sesrun. Or, it may be only a second or so, if the X server is started by a connection to xrdp. The two codepaths for setting the layout are separate. The initialisation codepath appears to be deficient in that the layout is not also set on inputInfo.keyboard. This seems to cause problems where X11 clients can end up loading the wrong layout where an RDP client has not yet connected. See (for example):- neutrinolabs/xrdp#1721 This is pretty rare, but when it happens is difficult to debug. This commit unifies the codepaths so that the same code is always used when the layout changes.
- Loading branch information
1 parent
24b4d1e
commit a0c3fd3
Showing
1 changed file
with
67 additions
and
54 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters