Захват управления клавиатурой в сценарии оболочки

У меня есть определенный скрипт shell (zsh), который читает по одному символу за раз и после этого выполняет действие. В оболочке это реализуется посредством «read -k» в цикле. Я хочу выполнить скрипт как комбинацию клавиш, не открывая оболочку.

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

Благодарю.

  • воспитывать ubuntu desktop x11 forwarding
  • Отключить индикатор блокировки num lock или обратную клавиатуру, поэтому, когда включена функция num lock, индикатор выключен
  • Могу ли я запускать через SSH?
  • Клавиши быстрого доступа, которые не зависят от раскладки клавиатуры
  • Что случилось с расширением GLP OpenGL?
  • удалить фон с feh?
  • Java не отображает текст меню
  • X: alt / ctrl / f1 больше не работает после выключения и включения дисплея с помощью xrandr
  • 2 Solutions collect form web for “Захват управления клавиатурой в сценарии оболочки”

    (попытался опубликовать комментарий, но я получаю сообщение об ошибке – попробую ответить)

    Когда вы говорите «выполнить из ярлыка» «без открытия оболочки», вы говорите в графической среде (X11), не открывая окно эмулятора терминала?

    Команда командной оболочки считывает символы с символа «стандартный вход», не обязательно на клавиатуре.

    Терминальный эмулятор получает в своем окне события клавиатуры X11 и отображает поток символов (который обычно начинается как стандартный ввод).

    Если вы хотите использовать read но не эмулятор терминала, вам понадобится что-то еще, чтобы сопоставить события нажатия клавиш X11 в окне символа. (возможно, «корневое окно»)

    В зависимости от того, что ваш скрипт делает с символами, может быть проще написать небольшую графическую программу.

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

    Вещь для запуска будет эмулятором терминала с zsh, запускающим ваш скрипт, который непосредственно read -k . Таким образом, вам не нужно запускать терминал самостоятельно. Обратите внимание, что вы можете указать, что терминал подходит для любого размера (например, небольшой).

    Без ключа активации (или любой другой активации) мне непонятно, как вы хотите отличить, когда обычный ввод клавиатуры должен идти в вашу программу или другие приложения, которые вы можете использовать.

    Interesting Posts

    kvm usb modem passthrough

    Как удалить Launcher из меню Whisker

    В vim, как вы выполняете команду молча в фоновом режиме?

    Можно ли позволить активному виртуальному термину быть единственным, у которого есть доступ к аудио?

    переименование сетевых интерфейсов не работает должным образом. Где искать?

    Проблема создания виртуального хоста с Apache

    Как я могу контролировать, является ли кто-либо (какой-либо процесс) доступ определенным файлом

    Открытый сертификат OpenSSL с общим именем длиной более 64 байт

    Arch Linux продолжает печатать странные символы в tty

    Скопируйте только файлы и только строки, содержащие строку, сохраняя структуру каталогов

    Vim: преобразовать обратные к нотации $ () в сценарии оболочки

    Как записать в каталог с именем «-»?

    Проверить правила брандмауэра без доступа к другим машинам

    Почему diff вызывается при вызове из Makefile?

    Конфигурация Synaptics не найдена

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