如何在linux中做一个虚假的鼠标滚轮移动

Ant*_*ias 3 c++ linux x11 qt xlib

我正在尝试模拟键盘和鼠标事件,我已成功制作假键盘keydown,keyup.假鼠标按下,向上和假鼠标移动,但我没有找到如何做假鼠标轮移动,有人可以用c ++简单的方法向我解释吗?

鼠标移动和鼠标按钮按下:

Display *dpy = XOpenDisplay(NULL);
XTestFakeMotionEvent(dpy, -1, 50, 50, 0);
XTestFakeButtonEvent(dpy, Button1, true, 0);
XTestFakeButtonEvent(dpy, Button1, false, 0);
XFlush(dpy);
XCloseDisplay(dpy);
Run Code Online (Sandbox Code Playgroud)

键盘按键:

Display *dpy = XOpenDisplay(NULL);
unsigned int keycode = XKeysymToKeycode(dpy, XK_Super_L);
XTestFakeKeyEvent(dpy, keycode, true, 0);
XTestFakeKeyEvent(dpy, keycode, false, 0);
XFlush(dpy);
XCloseDisplay(dpy);
Run Code Online (Sandbox Code Playgroud)

Joh*_*nck 6

Linux上的鼠标滚轮是不是只按了另一个按钮?我现在无法为你测试这个,但我记得在我的系统中滚动鼠标滚轮只是生成按钮事件.您可以通过运行xev显示X输入事件的程序在系统上对此进行测试.