У меня сломанный ключ на моей клавиатуре, точка "." чтобы быть конкретным. Это ведет себя очень странно, примерно в 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'
Ничто из этого не работает, поскольку оно перехватывается, как если бы точка-клавиша нажата клавишами xbindkey и запускает тот же скрипт снова и снова.
Я могу что-нибудь сделать? Могу ли я использовать какой-либо другой инструмент для имитации нажатия клавиши?