我的键盘上有一个坏键,点“。” 再具体一点。它的行为非常奇怪,大约 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 按下并一次又一次地触发相同的脚本。
有什么我可以做的吗?我可以使用其他工具来模仿按键吗?