Bagaimana cara melakukan gerakan roda mouse palsu di linux

Saya mencoba mensimulasikan kejadian keyboard dan mouse, saya berhasil membuat keydown keyboard palsu, keyup. Tombol mouse palsu ke bawah, ke atas dan gerakan mouse palsu, tetapi saya tidak menemukan cara melakukan gerakan roda mouse palsu, dapatkah seseorang menjelaskan kepada saya cara sederhana untuk melakukan ini di c++?

Gerakan Mouse dan tekan tombol Mouse:

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

Penekanan tombol keyboard:

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 sumber


Jawaban (1)


Bukankah langkah roda mouse di Linux hanyalah menekan satu tombol lagi? Saya tidak dapat mengujinya untuk Anda sekarang, tetapi saya ingat di sistem saya bahwa memutar roda mouse hanya menghasilkan peristiwa tombol. Anda dapat mengujinya pada sistem Anda dengan menjalankan program xev yang menampilkan kejadian input X.

person John Zwinck    schedule 10.02.2013