xdotool 输出被 xbindkeys 拦截

xdotool 输出被 xbindkeys 拦截

我的键盘上有一个键坏了,具体来说是点“。”。它的行为非常奇怪,大约 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 按下并一次又一次地触发相同的脚本。

我能做什么?我可以使用其他工具来模拟按键吗?

相关内容