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

1 に答える 1

6

Linuxでのマウスホイールのステップは、ボタンを押すだけではありませんか?今はこれをテストすることはできませんが、私のシステムでは、マウスホイールを回すとボタンイベントが生成されるだけだったことを思い出します。xevX入力イベントを表示するプログラムを実行することにより、システムでこれをテストできます。

于 2013-02-10T00:50:03.550 に答える