mirror of
https://github.com/rustdesk/rustdesk.git
synced 2026-03-02 19:26:56 -05:00
Give movement priority to host rather than client + multiple connections mouse move priority issue #32
Labels
No labels
bug
documentation
duplicate
enhancement
enhancement
enhancement
good first issue
help wanted
invalid
question
unreproducible
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/rustdesk-rustdesk#32
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @jonatino on GitHub (May 17, 2021).
Right now the client has priority over the host for controlling the mouse. Teamviewer/anydesk use the opposite. Any movement the host does with the mouse will always override any movement the client connected makes.
I think rustdesk should follow the same logic.
@EkanshBhatnagar commented on GitHub (May 26, 2021):
I want to contribute to solve this issue, is there any contribution guide.
@rustdesk commented on GitHub (May 26, 2021):
No yet. Please create pull request, then I will review. Thanks very much.
@IdoPractical commented on GitHub (Apr 19, 2023):
I'm not sure why but it's still the same in my end, when I connect to remote PC, I will have a priority controlling the mouse which sometimes makes the guy on the other end go crazy.
@jonatino commented on GitHub (Apr 21, 2023):
@rustdesk @fufesou it would be nice if this was configurable on the client side. I think in 99% of cases you want the host to always have input priority, but I think there's still a case for the current (client-side priority) behavior. Eg when I'm remote controlling my grandma's computer, she can't help but move the mouse constantly while I'm trying to do things. It'd be nice to allow for Client input priority in this specific case.
@rustdesk commented on GitHub (Aug 16, 2023):
reverted,
github.com/rustdesk/rustdesk@542d86b667, because it causes much more trouble than benefits. @fufesou we need another clever solution to detect host mouse movement.win -> mac
https://github.com/rustdesk/rustdesk/assets/71636191/5922150c-c7a7-45be-977b-158314e67d9c
@rustdesk commented on GitHub (Aug 16, 2023):
or the other better way.
@rustdesk commented on GitHub (Oct 26, 2023):
https://github.com/rustdesk/rustdesk/discussions/6178#discussioncomment-7390701 a good suggestion, i had done similar logic in Sciter version.
github.com/rustdesk/rustdesk@cf8ef2533a/src/ui/remote.tis (L181)But we need to go further, how about if controlled side only move mouse very slightly by mistake frequently? Please have a summary of how the other vendor do this.
@My1 commented on GitHub (Nov 1, 2023):
if anything this should be something that is only configurable from the client, otherwise you can just tell your grandma to take the hand off the mouse, that's what I usually do at work with customers when we use anydesk.
@rustdesk implementation question, can the application actually read what the physical mouse/keyboard devices are doing or is that cloaked via the OS? because if it isnt cloaked you might be able to check via that instead of trying cursor chaos.
@rustdesk commented on GitHub (Nov 16, 2023):
another scenario needs to be taken care. https://github.com/rustdesk/rustdesk/discussions/6433
@pricerc commented on GitHub (Feb 18, 2024):
Some remote control software has discrete cursors for each connected client.
So each connected client can have a mouse cursor in a different place, and it is like only the "clicks" that are shared, not the movements themselves, but you can see everyone's individual cursors.
So even if Grandma is moving her mouse, it won't interfere with what you're doing, unless she starts clicking randomly.
e.g. with MS Teams, when someone moves their mouse, you see a cursor decorated with their initials (or avatar) moving around, so you can see what they're doing, but it doesn't interfere with your own mouse cursor. It is quite good for collaborative work.
@My1 commented on GitHub (Feb 20, 2024):
havent tried Teams specifically yet, but click only could become problematic once you need to hover stuff
@pricerc commented on GitHub (Feb 20, 2024):
I don't think Teams is click-only - Windows does support having multiple mouse cursors (apparently).
I can't remember how it behaves when hovering. I'll make a point of looking out for it and seeing how it behaves.
But having multiple identifiable cursors is very helpful when collaborating.
All I know is, that of the remote-control systems I use (varies by customer), it is only when using RustDesk that I seem to notice competition for the mouse cursor. Although, that could also just be the people whose machine's I'm operating...
@lwintermelon commented on GitHub (Aug 18, 2024):
@rustdesk
Making the host side have a higher priority seems very straightforward,because we can track the state of remote on the controlled side and simply discard the movement message of remote if we desired (like the reverted commit does ), the opposite way may be less straightforward because the movement of real hardware mouse will always conflict with the emulated mouse event of remote message but we want the remote control to suppress the host.
However if we take how about if controlled side only move mouse very slightly by mistake frequently into account, it will face the same problem. Suppose we need the ability to make remote control to suppress the host, we must have the ability to distinguish our emulated mouse event from system mouse event and manipulate them(via hook),which is more platform-specific. Do we really need it? It seems we already have it on PrivacyMode and it's implemented on Windows.
@rustdesk commented on GitHub (Aug 20, 2024):
@lwintermelon you can have a summarization of how the other tools do this.
@lwintermelon commented on GitHub (Aug 24, 2024):
@pricerc @rustdesk
As far as I know, Windows doesn't support multiple mouse cursors natively(the close thing is Windows MultiPoint Server, but it won't help our cases), we have to implement it ourselves, I do think fully support multiple mouse cursors(I mean collaborative multiple cursors like MouseMux does) is out of scope, but at least ,we should keep compatibility with such tools.
I suggest we do it step by step.
I call this system-wide-multiple-cursor, because the multiple cursors event is sent to opearting system. In essence, it is still single cursor but with the ability to show other identifiable cursors at the same time. This is what @pricerc describes. And yes, it is quite good for collaborative work.
By now I suggest we don't touch 4 because it is orthogonal to rustdesk and there are seperate tools for it, we may add some features in the future and it may be a selling point, but let's implemented 1. 2. and 3. first and compare it with competitor and prioritize real needs of our users.
@rustdesk commented on GitHub (Aug 24, 2024):
We do not do 4, it is out of our scope.
@jonatino commented on GitHub (Aug 24, 2024):
4, seems like an extremely complex solution that will be a nightmare to maintain on different platforms.
What was the problem with the original solution of using a thread to calculate changes in the cursor position and then ignoring remote events until X amount of time has passed?
@petre-c commented on GitHub (Feb 4, 2026):
Any updates on this?