シェルスクリプトを介してキーストロークを挿入する方法は?

シェルスクリプトを介してキーストロークを挿入する方法は?

Bashスクリプトの入力をシミュレートするために、入力デーモンにキーストロークを挿入しようとしています。可能ですか?可能であれば、どのように実装できますか?

ベストアンサー1

ドライバを使用してくださいuinput。私はこれが役に立つとは思わない。いくつかのCコードを作成または調整する必要があります。簡単に言うと:

#include <fcntl.h>
#include <ioctl.h>
#include <unistd.h>
#include <linux/input.h>
#include <linux/uinput.h>
/* Set up a fake keyboard device */
fd = open("/dev/uinput", O_WRONLY | O_NONBLOCK); // or /dev/input/uinput
ioctl(fd, UI_SET_EVBIT, EV_KEY);
struct uinput_user_dev uidev = …;
write(fd, &uidev, sizeof(uidev));
ioctl(fd, UI_DEV_CREATE);
/* Send an event */
struct input_event ev = …;
write(fd, &ev, sizeof(ev));
/* Clean up */
ioctl(fd, UI_DEV_DESTROY);
close(fd);

より完全な参考資料:

おすすめ記事