Вывод 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 набрать "." как персонаж Юникод

xdotool key U002E

Я пытался сказать xdotool набрать "." как строка, сгенерированная Bash

xdotool type $'.'

Я пытался сказать xdotool набрать "." как строка, сгенерированная Bash, содержащая символ Unicode "."

xdotool type $'\u002E'

Кажется, что ничего из этого не работает, поскольку он перехватывается, как если бы xbindkeys нажимал клавишу "точка", и снова и снова запускает один и тот же сценарий.

Что я могу сделать? Могу ли я использовать какой-либо другой инструмент для имитации нажатия клавиши?

0 ответов

Другие вопросы по тегам