Sending Programmatic Mouse Events to X

2019-02-27 13:19发布

问题:

I am somewhat new to X development on Linux. I'm wondering what are best practices (or links to resources) for programmatically sending cursor events. Moving the cursor to a normalized (X,Y), creating right/left mouse clicks, etc. Ideally this would be something in C/C++.

I have played around with the Qt QCursor but I'd like to know the raw way to accomplish this.

回答1:

I think you can use XSendEvent. There's some sample code here which uses XQueryPointer to populate most of the event fields.

If you just want to move the pointer, use XWarpPointer.



回答2:

You need to be learning Xlib if you want the "raw" way to accomplish it.

If you want even MORE raw, you'll want to study the X protocol.

What you're asking about is pretty darn specialized knowledge. You should head over to the X.org mailing lists or X related newsgroups.



回答3:

Also check out xdotool

http://www.semicomplete.com/projects/xdotool/