-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
xfreerdp: caps lock sometimes gets out of sync / works inverted #259
Comments
Hi @abma More details please:-
|
xfreerdp
on client: de / pc105, on server: de / pc105,
xorg with xorgxrdp v0.9.19-1 i've noticed in ~/.xorgxrdp..log that the the line
only sometimes occours when i press caps lock. i don't get this line with working remmina / mstsc as client to the xrdp server. also i would expect that this line should occour every time i press caps lock, right?! but it only occours maybe in one of 10 presses. |
Thanks - that's useful. The message is generated when the client sends this RDP event (or its fastpath variant):- It's a sync event, so isn't sent every time caps lock is pressed. |
I've also read the comments on the freerdp issue. If it's at all possible to come up with a way to reproduce this it will be a lot easier to look at. |
I can reproduce this on devel now, with a UK keyboard. I ran a simple session with just an xterm in it running Connecting with xfreerdp 2.9.0 resulted in the caps lock state not always changing when the key was pressed. It looks like xfreerdp is sending a capslock down, capslock up, and also a sync request very close to each other. Remmina does not send the sync requests like this. Problem does not occur at all with Xvnc, so I'm moving this to the xorgxrdp repo. |
My guess is that things are going wrong in KbdSync:- xorgxrdp/xrdpkeyb/rdpKeyboard.c Lines 484 to 510 in 5f6177d
Because the sync is sent so closely after the keypresses, it's possible the call to XkbStateFieldFromRec is getting stale information. This is a complete guess however - I don't know enough about X server internals to be sure about this. |
Experience same problem with xorgxrdp ... It also happens with num lock |
@abma Have you tried rdesktop to see if the problem persist? There is also this option in rdesktop |
one type issue where the caps num lock sometimes gets out of sync. The freerdp client, when connecting to XRDP, switching the client operating system window focus, clicking caps num key, will perform sync. if initial state, when the server system starts up, the Xorg process for each user is not started. When the freerdp client first connects to XRDP, it triggers the startup of the respective user's Xorg in the server system, which takes a few seconds to fully start Xorg. Such as:
Investigate further to find a method to trigger caps num sync again after the session stabilizes, or to perform sync periodically. |
sometimes when i press caps lock, the state on the server doesn't change: i.e. the led indicator shows on but when i type all letters are upcase and vice versa.
To Reproduce
press caps lock.
Expected behavior
led indicator matches rdp state.
Additional context
to test i've used: watch -n 0.1 "xset q"
server + client is debian 12.
xrdp is v0.9.21.1-1
i reported the same to freerdp: FreeRDP/FreeRDP#8946
The text was updated successfully, but these errors were encountered: