Изображение пользователя 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 глобальные горячие клавиши устанавливаются в программе «Ярлыки клавиатуры».
Теперь в столбце «Ярлыки» нажмите слово «Отключено», чтобы получить возможность установить новую комбинацию клавиш. Примечание. Если хотите, вы можете использовать что-то другое, а не по умолчанию. В некотором смысле создание «переназначения» для привязки клавиш, которое, в зависимости от используемой вами программы, в противном случае было бы не под вашим контролем.
Попадите в комбо, которое вы выбрали, и услышите магию.
Клавиатура Ubuntu
В Ubuntu программа, которая устанавливает глобальные горячие клавиши, называется «Клавиатура».
Нажмите знак «плюс», чтобы добавить ярлык. Дайте ему имя и в «Command» дайте полный путь к одному из сценариев, которые мы создали выше. Повторите процесс для второго скрипта. Теперь щелкните по слову «Отключено», чтобы получить возможность установить новую комбинацию клавиш.
Примечание. Повторяя заметку в разделе монетного двора, вы можете, если хотите, использовать что-то другое, кроме программного обеспечения по умолчанию. В некотором смысле создание «переназначения» для привязки клавиш, которое, в зависимости от используемой вами программы, в противном случае было бы не под вашим контролем.
Авторские заметки
Каждый раз, когда я серьезно думал о переходе на Linux, эта проблема была первой в моем списке проблем. Это не то, что у Linux нет проблем, но для меня это было настоящим препятствием. Я снова и снова пробовал, спрашивал друзей / людей в поле и даже делал это в щедрости … Я счастлив, что эта сага закончилась, и моя душа может наконец отдохнуть. Я надеюсь, что я помог кому-то, чтобы не пройти через те же испытания.
Док Браун: Мне потребовалось почти тридцать лет и вся моя семейная судьба, чтобы понять видение того дня. Боже мой, так давно?