マウスを見えない位置に移動したい!
ラズベリーパイでデジタルサイネージを作ったりすると、間抜けなことにマウスが表示されていることに気づいたので、XLibを使ってマウスを右下に移動するプログラムを作ってみました。
もちろんX-WindowはLinuxベースなので、Linuxベースのシステムであれば動作します。
必要なもの
root権限で以下のライブラリをインストール
apt install libx11-dev
ソース
mld.c
#include <stdio.h>
#include <unistd.h>
#include <X11/Xlib.h>
#include <X11/Xutil.h>
int main()
{
Display *d;
int wx,wy;
// Open Display
d=XOpenDisplay(NULL);
if (d != NULL) {
// Get screen width and height
wx = WidthOfScreen(XDefaultScreenOfDisplay(d));
wy = HeightOfScreen(XDefaultScreenOfDisplay(d));
// Move mouse pointer
XWarpPointer(d, None, DefaultRootWindow(d), 0,0,0,0,wx,wy);
XFlush(d);
// Close Display
} else {
printf("Can't Open Display!!\n");
return 1;
}
return 0;
}
コンパイル方法
ソースはこれだけなのでMakefileなどは必要ない!
cc mld.c -o mld -lx11
でmldというコマンドが出来上がります。
xwaylandでも動くのかは不明?
誰かやってみた人は、コメントで教えてください!お願いいたします。