如何在Linux中进行虚拟鼠标滚轮移动

3
我在尝试模拟键盘和鼠标事件,已经成功制作了虚假的键盘按下、松开和虚假的鼠标按键按下、松开以及虚假的鼠标移动,但我不知道如何制作虚假的鼠标滚轮移动,有人能够简单解释一下在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);

键盘按键操作:

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);
1个回答

7

在Linux上,鼠标滚轮步进不就是另一种按键吗?我现在不能为您测试,但我记得在我的系统上滚动鼠标滚轮只会生成按钮事件。您可以通过运行程序xev来测试您的系统,该程序显示X输入事件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接