Как связать Global HotKeys с программой WINE под Linux

Оглавление:

Как связать Global HotKeys с программой WINE под Linux
Как связать Global HotKeys с программой WINE под Linux

Видео: Как связать Global HotKeys с программой WINE под Linux

Видео: Как связать Global HotKeys с программой WINE под Linux
Видео: Как восстановить загрузку Windows 10 из командной строки - YouTube 2024, Апрель
Anonim
Вы когда-нибудь устанавливали программу Windows в Linux под WINE, только чтобы обнаружить, что она больше не связывает горячие клавиши системы? У HTG есть работа, которую вы искали.
Вы когда-нибудь устанавливали программу Windows в Linux под WINE, только чтобы обнаружить, что она больше не связывает горячие клавиши системы? У HTG есть работа, которую вы искали.

Изображение пользователя djeucalyptus

обзор

Каждый, кто даже думал о переходе на Linux, вероятно, очень быстро столкнулся с проблемой, что есть одно приложение Windows, которое вам НЕОБХОДИМО работать. Мы уже показали вам, что вы можете это сделать, используя WINE.

Для этого автора приложение было приложением Text-To-Speech, которое использует механизм Microsoft SAPI4. Установка программы под WINE была легкой, но по завершении я быстро обнаружил, что горячие клавиши, используемые для запуска различных действий программы (начало чтения, остановки чтения и т. Д.), Не функционируют и что это известно проблема с WINE.

Я рад сказать, что после эонов поиска я наконец нашел решение в виде утилиты GNU, которая может манипулировать интерфейсом X.org с использованием собственных функций. Хотя это не единственный в своем роде, xdotool - это тот, который был самым легким для работы и уже был в репозиториях Ubuntu / Mint.

xdotool

Программа xdotool может выполнять множество задач, связанных с окном, из CLI, при этом единственными, которые мы собираемся использовать, являются «поиск» и «ключ». Функция «поиск» выполняет именно это, ищет идентификатор окна / s в соответствии с параметрами, которые вы ему задали. Функция «ключ» позволяет моделировать ключевой штрих к идентификатору окна.

Установка и настройка

Предполагается, что вы уже установили WINE и нужную вам программу. В этом примере мы будем использовать Балаболку как приложение «Windows», потому что это хорошая бесплатная копия оригинальной программы, в которой мне было нужно это решение для (2-го речевого центра).

Если вы также решили использовать Балаболку, вам необходимо активировать функцию «горячих клавиш». Примечание. Возможно, вы захотите установить TTSReader или второй речевой центр даже в демонстрационном режиме, чтобы голоса SAPI были установлены.

Откройте программу и перейдите к настройкам (Shift + F6) в разделе «Параметры» -> «Настройки».

Перейдите на вкладку «Горячие клавиши» и установите флажок «Использовать глобальные горячие клавиши»
Перейдите на вкладку «Горячие клавиши» и установите флажок «Использовать глобальные горячие клавиши»
 Нажмите «ОК».
Нажмите «ОК».

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

Установите xdotool, выпуская:

sudo apt-get install xdotool

Глобальная привязка

Программа xdotool сама по себе не помогает нам привязывать глобально к горячим клавишам, но мы можем использовать уже существующую систему горячих клавиш ОС. Мы сделаем простой сценарий, который использует xdotool для отправки нажатий клавиш, которые мы хотим использовать в программе Balabolka, и вызываем их из системы горячих клавиш ОС.

Создайте скрипт под названием «start_read.sh» со следующим содержимым:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F9'

Создайте еще один скрипт на этот раз под названием «stop_read.sh» со следующим содержимым:

xdotool key --window $( xdotool search --limit 1 --all --pid $( pgrep balabolka ) --name Balabolka ) 'ctrl+alt+F7'

Примечание. Я знаю, что это один лайнер, который не требует скрипта, но программа Mint / Ubuntu «Keyboard Shortcuts» не сотрудничала, просто вызвав ее напрямую. Если вы знаете, как это сделать, сообщите ниже.

Торможение этой команды ее компонентам, что мы видим:

  • Часть «-pid $ (pgrep balabolka)» выполняет «pgrep» в программе, которую мы хотим использовать, чтобы определить ее идентификатор процесса. Это уменьшит подачу xdotool «поиска» только на этот PID.
  • Часть «xdotool search -limit 1 -all … -name Balabolka» еще больше сужает подачу поиска xdotool и ограничивает возвращаемые ответы на 1. Как и в нашем случае, не имеет значения, какие из идентификаторов окон, возвращаемых программа, ограничивающая результат, выступает в качестве форматирования для команды «ключ». Вы можете обнаружить, что вам нужно массировать эту часть больше, если это имеет значение для программы, которую вы используете.
  • Элемент «xdotool key -window% WINDOW_ID%» ctrl + alt + F7 «» отправляет требуемое нажатие клавиши на идентификатор окна, который был получен предыдущими частями.

Сделайте скрипты исполняемыми.

Клавиатура Linux Mint сочетания

В Linux Mint глобальные горячие клавиши устанавливаются в программе «Ярлыки клавиатуры».

После открытия Нажмите «Добавить», чтобы создать новый пользовательский ярлык:
После открытия Нажмите «Добавить», чтобы создать новый пользовательский ярлык:
Дайте ему имя и в «Command» дайте полный путь к одному из сценариев, которые мы создали выше. Повторите процесс для второго скрипта.
Дайте ему имя и в «Command» дайте полный путь к одному из сценариев, которые мы создали выше. Повторите процесс для второго скрипта.

Теперь в столбце «Ярлыки» нажмите слово «Отключено», чтобы получить возможность установить новую комбинацию клавиш. Примечание. Если хотите, вы можете использовать что-то другое, а не по умолчанию. В некотором смысле создание «переназначения» для привязки клавиш, которое, в зависимости от используемой вами программы, в противном случае было бы не под вашим контролем.

Image
Image

Попадите в комбо, которое вы выбрали, и услышите магию.

Клавиатура Ubuntu

В Ubuntu программа, которая устанавливает глобальные горячие клавиши, называется «Клавиатура».

Перейдите на вкладку «Ярлыки» и выберите «Пользовательские ярлыки»
Перейдите на вкладку «Ярлыки» и выберите «Пользовательские ярлыки»
Image
Image

Нажмите знак «плюс», чтобы добавить ярлык. Дайте ему имя и в «Command» дайте полный путь к одному из сценариев, которые мы создали выше. Повторите процесс для второго скрипта. Теперь щелкните по слову «Отключено», чтобы получить возможность установить новую комбинацию клавиш.

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

Авторские заметки

Каждый раз, когда я серьезно думал о переходе на Linux, эта проблема была первой в моем списке проблем. Это не то, что у Linux нет проблем, но для меня это было настоящим препятствием. Я снова и снова пробовал, спрашивал друзей / людей в поле и даже делал это в щедрости … Я счастлив, что эта сага закончилась, и моя душа может наконец отдохнуть. Я надеюсь, что я помог кому-то, чтобы не пройти через те же испытания.

Док Браун: Мне потребовалось почти тридцать лет и вся моя семейная судьба, чтобы понять видение того дня. Боже мой, так давно?

Рекомендуемые: