我为此奋斗了很长时间。我有一个非常简单的脚本:
#!/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 在终端中疯狂发送垃圾邮件,但点击未在操作系统中注册。我正在使用 xfce 运行 Debian 12,所以显然我在 X11 下。但是,当我向按钮 12 发送垃圾邮件时,它有时会记录几次按钮 1 点击。我还尝试做一些计时技巧和 stackoverflow 中提出的其他事情,但没有运气。
另外,当我的配置如下所示时:
"xdotool click 1"
b:12
它执行相同的操作,检测到单击,但操作系统未注册单击 1 命令。
当我按住按钮 12 在终端中执行脚本时,它会按预期工作,甚至在我释放它时退出,因此脚本工作正常。有人知道为什么xdotool
运行 fromxbindkeys
不起作用吗?