我的键盘上有一个键坏了,具体来说是点“。”。它的行为非常奇怪,大约 7/10 次键盘在按下一次时会输入双点“.。”。我使用 xbindkeys 来拦截按下点键的时间并触发我的 bash 脚本启动。我编写的 bash 脚本检查有多少个实例正在运行,并且只输入一次“。”。
#!/bin/bash
let "target=2"
curr=$(ps -A | grep 'dot-writer.sh' | wc -l)
if [ "$curr" -eq "$target" ]
then
numlockx on
xdotool key KP_Delete
sleep 0.1
fi
从脚本中可以看出,我实际上并没有使用 xdotool 输入“。”键,而是启用了 Numlock 并在键盘上与删除按钮相同的按钮上输入另一个“。”。
您可能已经猜到这不是一个完美的解决方案,因为这两个键并非 100% 的时间都以完全相同的方式运行。
我尝试告诉 xdotool 将“。”输入为 Unicode 字符
xdotool key U002E
我尝试告诉 xdotool 输入“.”作为由 Bash 生成的字符串
xdotool type $'.'
我尝试告诉 xdotool 输入“。”作为 Bash 生成的包含 Unicode 字符“。”的字符串。
xdotool type $'\u002E'
这些似乎都不起作用,因为它被拦截,就好像点键被 xbindkeys 按下并一次又一次地触发相同的脚本。
我能做什么?我可以使用其他工具来模拟按键吗?