-
-
Notifications
You must be signed in to change notification settings - Fork 1.7k
[MS-RDPBCGR] Relative mouse input #3091
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
base: devel
Are you sure you want to change the base?
Conversation
Thanks for this @sasha0552 One (fairly significant) comment/question at this stage; The general approach you're taking (if I'm reading this right) is to send both relative and absolute events to Wouldn't it be better to simply do this within |
No, neither Applications that need relative input don't want absolute coordinates, they need only delta (by how many pixels the cursor has been moved, this value may even exceed the screen borders), so doing this on the And about VNC - I don't think VNC supports relative input. I'm not sure how |
Thanks for the clarification - that makes more sense now. Classic VNC doesn't support relative mouse events:- https://github.com/rfbproto/rfbproto/blob/master/rfbproto.rst#pointerevent which from what you've said means either:-
Also from what you've said, 2) runs the risk of de-synchronisation. |
@sasha0552 I want to test this. What clients supports relative mouse? I know it's added to later version of FreeRDP but does mstsc or any other clients support this feature? |
I don't think clients other than FreeRDP currently support this feature. |
Any updates on this? |
Not yet @Givlucas Is there a use-case you have that requires it? That would be useful information to have. |
Yeah, certain games require relative mouse motion. Usually FPS but in my case Minecraft |
I asked about this at RDP IO last week. The rdcore MS clients(non-mstsc) use this relative mouse input when the mouse pointer is set to nil. |
Thank you for asking that at RDP IO. When the relative mouse motion handling was added to In any case, the client handling in FreeRDP needs to be adjusted. Will do some relative mouse motion tests with g-r-d then too to ensure the FreeRDP client handling works. |
@sasha0552 I don't see the capability set in this PR. or did I miss it. |
Hello, How can I test this feature? I’ve applied your branche over the debian packages xrdp and xorgxrdp but I do not see any changes. I’m using wfreerdp with the right options, and I can see this capability in the freerdp logs:
But I do not see relevant message from the xrdp side. Is there an easy way to test if the channel is used ? |
@Chimrod well, you should try a client that has it implemented as well ;) |
I’ve also tried with the windows binary sdl3-freerdp and thoses arguments but without any success. ./sdl3-freerdp.exe /f /gdi:hw /rfx /rfx-mode:video /gfx:RFX:on,progressive:on /video /size:1680x1050 /sound /mouse:relative:on,grab:off +mouse-relative +async-channels That’s the point of my question, how can check if the whole chain is OK ? |
According to the docs, in order for the server to trust the INPUT_FLAG_MOUSE_RELATIVE flag. The client must report 0x00080011 in the version field of TS_UD_CS_CORE. |
@jsorg71 |
@Chimrod did update as for your test, I did simply run [edit] discussing with @pnowack currently if it is possible to send both, absolute and relative events. |
Specification
Related: neutrinolabs/xorgxrdp#314
Fixes #2131