Как сделать поддельное движение колесика мыши в Linux

Я пытаюсь имитировать события клавиатуры и мыши, я успешно сделал поддельную клавиатуру, нажатие клавиши, нажатие клавиши. Поддельная кнопка мыши вниз, вверх и поддельное движение мыши, но я не нашел, как сделать поддельное движение колесика мыши, может ли кто-нибудь объяснить мне простой способ сделать это на С++?

Перемещение мыши и нажатие кнопки мыши:

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);

person Antonio Dias    schedule 10.02.2013    source источник


Ответы (1)


Разве шаг колесика мыши в Linux не просто еще одно нажатие кнопки? Я не могу проверить это для вас сейчас, но я помню, что в моей системе вращение колесика мыши просто генерировало события кнопки. Вы можете проверить это в своей системе, запустив программу xev, которая отображает X входных событий.

person John Zwinck    schedule 10.02.2013