Делайте работу «читать», когда не фокусируетесь на терминале

У меня есть следующий скрипт, который спамает кнопку в программе при нажатии кнопки V

#!/bin/bash winid=$(xdotool search "application name here" | head -n1) while true; do read -rsn1 input if [ "$input" = "v" ]; then xdotool keydown --window $winid "button" xdotool keyup --window $winid "button" fi done 

Однако это работает только тогда, когда терминал сконцентрирован, есть ли способ заставить его прослушивать все нажатия клавиш?

  • сочетание клавиш для вставки текста
  • Как запустить приложение в качестве док-станции в openbox
  • Как я могу автоматизировать черепицу окна с пользовательской шириной? (Корица)
  • Есть ли у xdotool журнал?
  • Повторно активировать сохраненный pid окна с помощью xdotool
  • Почему xdotool не щелкает при восстановлении позиции?
  • Эмуляция клавиатуры в Wayland
  • Как определить, находится ли окно в фокусе?
  • One Solution collect form web for “Делайте работу «читать», когда не фокусируетесь на терминале”

    Это работает для пользователя root :

     cat /dev/input/$(grep -E 'Handlers|EV=' /proc/bus/input/devices | \ grep -B1 'EV=120013' | grep -Eo 'event[0-9]+') | \ while read -rsn1 foo ; do echo "$foo" ; done | nl 

    Вывод (до Ctrl-C ):

      1 ԥ 2  W 3 ^ 4 5 

    Код читается от того, какой файл / dev / input / event * в настоящее время соответствует клавиатуре. Echos каждое нажатие на отдельные строки, затем номера каждой строки – нажатия клавиш быстро накапливаются, поэтому номера строк помогают показать, что процедура работает.

    Попробуйте открыть текстовый редактор в маленьком окне переднего плана, введите текст в редакторе и обратите внимание, что номера прокручиваются на фоновом терминале.


    Код grep выше заимствован из ответа JacobP здесь: захват клавиатуры клавиатуры Linux / dev / inputX

    Interesting Posts

    ^ P не работает в zsh, где я должен смотреть?

    Поиск файлов в каталоге с парными именами

    Понимание котировок в условной инструкции bash

    Строки соответствия, начинающиеся с одного шаблона в двух текстовых файлах

    SSH Соединение закрыто удаленным сервером для одного клиента, но без проблем с другими!

    В Makefile, как я могу начать обработку файла до его завершения?

    Iptables удаляет доступ к определенному ip-адресу, кроме моего ip

    Как подключить USB-диск, подключенный к NAS

    Kali linux internet неожиданно работает

    показывать только физические диски при использовании df и mount

    Удалить последний символ последнего элемента в массиве bash

    Диапазоны массивов с пользовательским размером шага в оболочках Борна

    Терминалу иногда не удается найти исполняемые файлы в локальном каталоге

    Как запустить streamripper и mplayer в терминале X с раздельным экраном, используя один скрипт

    Сценарий оболочки для поиска и подсчета общего количества символов во всех файлах

    Linux и Unix - лучшая ОС в мире.