我为此奋斗了很长时间。我有一个非常简单的脚本:
#!/bin/bash
while true; do
if [ ! -z "$(/usr/bin/xinput --query-state 17 | grep -o 'button\[12\]=down')" ]; then
/usr/bin/xdotool click --delay 18 1
else
break
fi
done
我想在按住鼠标第 12 个按钮时运行它,因此文件.xbindkeysrc
如下所示:
"bash ~/Scripts/test2.sh"
b:12
并且它起作用了 -xbindkeys -v
显示按钮 1 在终端中疯狂地发送垃圾邮件,但点击未在操作系统中注册,但是,当我发送按钮 12 时,它有时会注册几次按钮 1 的点击。我还尝试了一些计时技巧和在互联网上找到的其他解决方案,但没有成功。
此外,当我的配置如下所示时:
"xdotool click 1"
b:12
它的作用是一样的,检测到点击,但是点击 1 命令未被操作系统注册。
但是,当配置如下所示时:
"xdotool click 1"
b:12 + release
点击就可以了。
当我按住按钮 12 并在终端中执行脚本时,它会按预期工作,甚至在我释放它时退出,因此脚本工作正常。有人知道为什么xdotool
运行xbindkeys
不起作用吗?