วิธีย้ายล้อเมาส์ปลอมใน Linux

ฉันกำลังพยายามจำลองเหตุการณ์ของแป้นพิมพ์และเมาส์ ฉันได้ทำการกดแป้นพิมพ์ปลอมและกดคีย์สำเร็จแล้ว ปุ่มเมาส์ปลอมลง ขึ้น และเลื่อนเมาส์ปลอม แต่ฉันไม่พบวิธีการเลื่อนล้อเมาส์ปลอม ใครช่วยอธิบายวิธีง่ายๆ ในการทำเช่นนี้ใน 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);

person Antonio Dias    schedule 10.02.2013    source แหล่งที่มา


คำตอบ (1)


ขั้นตอนของ mousewheel บน Linux ไม่ใช่การกดปุ่มอื่นใช่ไหม ฉันไม่สามารถทดสอบสิ่งนี้ให้คุณได้ในตอนนี้ แต่ฉันจำได้ในระบบของฉันว่าการเลื่อนล้อเมาส์เป็นเพียงการสร้างเหตุการณ์ของปุ่ม คุณสามารถทดสอบสิ่งนี้บนระบบของคุณได้โดยการรันโปรแกรม xev ซึ่งแสดงเหตุการณ์อินพุต X

person John Zwinck    schedule 10.02.2013