【发布时间】:2019-10-29 07:37:08
【问题描述】:
我正在尝试编写一个 bash 脚本来监视键盘的特定按键,并在检测到它们时运行命令。我目前可以使用输入命令执行此操作,但前提是运行它的终端位于前台。当窗口不在焦点时,我需要让它工作。
我已经研究过使用 xinput test-xi2 --root 来获取每个事件,这似乎工作得很好,但我不确定如何有效地将输入转换为对我有用的键定义。
这是我目前的程序:
while true; do
read -rsn1 input
if [ "$input" = "a" ];
then
#Do Something
fi
done
上面的代码有效,但只在前台。
任何帮助将不胜感激!
【问题讨论】:
-
您的意思是无论前台是什么应用程序,您都希望能够捕获字母“a”?甚至是 GUI 应用程序?我认为这不能通过在后台运行的 bash 脚本来完成。做一些关于键盘记录器的研究。可以使用expect 完成,但仅适用于单个 shell 进程。
标签: bash input keypress xinput