Skip to content
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

games rely on precise mouse movements and their timing #137

Closed
totaam opened this issue Jun 3, 2012 · 11 comments
Closed

games rely on precise mouse movements and their timing #137

totaam opened this issue Jun 3, 2012 · 11 comments

Comments

@totaam
Copy link
Collaborator

totaam commented Jun 3, 2012

Issue migrated from trac ticket # 137

component: client | priority: major | resolution: wontfix

2012-06-03 17:55:44: antoine created the issue


effectively, they do their own mouse acceleration, and since we send the mouse movements packets when we feel like it, the games see jerky mouse movements and produce jerky mouse movements in the game...

queue_mouse_position_packet only keeps one mouse "positional" packet at a time, so we only send the last one rather than all the mouse movements.
There will be a high cost when sending all mouse movements, so this will need to be an option.

First thing to do is to try to replace queue_mouse_position_packet with queue_priority_packet client.py's send_mouse_position

@totaam
Copy link
Collaborator Author

totaam commented Jun 3, 2012

2012-06-03 17:56:49: antoine changed status from new to accepted

@totaam
Copy link
Collaborator Author

totaam commented Jun 3, 2012

2012-06-03 17:56:49: antoine edited the issue description

@totaam
Copy link
Collaborator Author

totaam commented Jun 3, 2012

2012-06-03 18:28:53: antoine changed status from accepted to assigned

@totaam
Copy link
Collaborator Author

totaam commented Jun 3, 2012

2012-06-03 18:28:53: antoine changed owner from antoine to ahuillet

@totaam
Copy link
Collaborator Author

totaam commented Sep 27, 2012

2012-09-27 16:22:06: antoine

@totaam
Copy link
Collaborator Author

totaam commented Oct 8, 2012

2012-10-08 11:49:37: antoine commented


Some potentially relevant pointers and thoughts:

  • maybe using a different mouse type, a tablet or something that uses absolute positioning would prevent the games/libraries from doing pointer acceleration on our events - which are always lagging by a variable amount of time
  • maybe using a different API than Xtest? see below.
  • a number of api calls below support a delay parameter, we could set our internal target delay to something close to the highest client latency observed (or 90 percentile?) and then adjust the api delay on our simulated events so that all the events have the same gap between them as on the client. (and if we suddenly get a higher client latency.. increase the target delay to accommodate and go back down slowly?) - should work?

@totaam
Copy link
Collaborator Author

totaam commented Jan 16, 2015

2015-01-16 10:54:40: antoine commented


See also #770 and in particular r8482 which added XTestFakeMotionEvent and XTestFakeRelativeMotionEvent.

@totaam
Copy link
Collaborator Author

totaam commented Nov 26, 2017

2017-11-26 14:01:35: antoine commented


See also #173

@totaam
Copy link
Collaborator Author

totaam commented Jan 22, 2018

2018-01-22 06:08:11: antoine changed status from assigned to closed

@totaam
Copy link
Collaborator Author

totaam commented Jan 22, 2018

2018-01-22 06:08:11: antoine set resolution to wontfix

@totaam
Copy link
Collaborator Author

totaam commented Jan 22, 2018

2018-01-22 06:08:11: antoine commented


The !XTest extension is being deprecated, so the way forward is going to be #173.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant