Image от djeucalyptus
Преглед
Всеки, който дори е мислил за идеята за преминаване към Linux, вероятно е много бързо да срещне проблема, че има едно приложение за Windows, което НЕ трябва да функционира. Вече ви показахме, че можете да постигнете това чрез WINE.
За този писател, приложението е приложение "Текст към слово", което използва Microsoft SAPI4 двигател. Инсталирането на програмата под WINE беше бриз, но при завършване бързо разбрах, че горещите клавиши, използвани за задействане на различните действия на програмата (започнете да четете, спирайте четенето и т.н.), не функционират и това е известно проблем с WINE.
Радвам се да кажа, че след векове на търсене най-накрая намерих решението под формата на помощна програма на GNU, която може да манипулира интерфейса X.org, използвайки нативни функции. Въпреки че не е единственият по рода си, xdotool е най-лесният за работа и вече е в хранилищата на Ubuntu / Mint.
xdotool
Програмата xdotool може да изпълнява много задачи, свързани с прозореца от CLI, като каза, че само две от тях ще използват "търсене" и "ключ". Функцията "търсене" прави точно това, търси идентификатор на прозорец / и според параметрите, които сте задали за него. Функцията "ключ" ви позволява да симулирате ударен ключ на ID на прозореца.
Инсталация и конфигурация
Предполага се, че вече сте инсталирали WINE и програмата, от която се нуждаете. В този пример ще използваме Balabolka като приложение "Windows", защото това е добра безплатна реплика на оригиналната програма, която имах нужда от това решение за (2тия център за реч).
Ако сте избрали да използвате Balabolka, трябва да активирате и възможностите на клавишните комбинации. Забележка: Може да искате да инсталирате TTSReader или 2-ви център за реч, дори и в демо режим, така че SAPI гласовете да бъдат инсталирани.
Отворете програмата и отворете настройките (Shift + F6) под "Опции" -> "Настройки".
Оставете го да работи във фонов режим, така че да може да изпълнява задачата си, когато вкараме натиснат клавишите.
Инсталирайте xdotool като издавате:
sudo apt-get install xdotool
Глобално обвързване
Програмата xdotool само по себе си не ни помага да се свързваме глобално с клавишни комбинации, но можем да използваме вече съществуващата система за бързи клавишни комбинации. Това, което ще направим, е да създадем прост скрипт, който използва xdotool, за да изпрати натисканията на клавишите, които искаме, към програмата Balabolka и да я извикаме от системата за бързи клавиши на OS.
Създайте скрипт, наречен "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 не е оказала съдействие само с директно извикване. Ако знаете как да го направите, моля, споделете коментарите по-долу.
Спиране на тази команда на нейните компоненти, това, което виждаме, е:
- Частта "-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, глобалните клавишни комбинации се задават в програмата "Клавишни комбинации".
Сега, в колоната "Бързи команди", кликнете върху думата "Disabled", за да получите опцията за задаване на ново комбинирано клавиш. Забележка: Ако желаете, можете да използвате нещо различно от стандартната. В известен смисъл, създавайки "пренебрегване" на ключовите свързвания, които в зависимост от програмата, която използвате, в противен случай биха били извън контрола ви.
Натиснете комбото, което сте избрали, и чуйте магията.
Клавиатура за Ubuntu
Под Ubuntu програмата, която определя глобалните клавишни комбинации, се нарича "клавиатура".
Кликнете върху знака плюс, за да добавите пряк път. Дайте му име и под "Команда" дайте пълния път към един от скриптовете, които сме създали по-горе. Повторете процеса за втория скрипт. Сега кликнете върху думата "Disabled", за да получите опцията за задаване на ново комбинирано клавиш.
Забележка: Повторение на бележката от секцията Mint можете, ако желаете, да използвате нещо различно от стандартната. В известен смисъл, създавайки "пренебрегване" на ключовите свързвания, които в зависимост от програмата, която използвате, в противен случай биха били извън контрола ви.
Бележки на автора
Всеки път, когато сериозно обмислях да се прехвърля на Linux, този въпрос беше първият от списъка ми с проблеми. Не, че Linux няма проблеми, но това беше истинската пречка за мен. Опитах се отново и отново, попитах приятели / хора в областта и дори ги превърнах в глас … Щастлив съм, че тази сага приключи и че душата ми най-после може да си почине. Надявам се, че съм помогнал на някого да не преживява същото изпитание.
Доктор Браун: Отне ми почти тридесет години и цялото ми семейно състояние, за да осъзная визията за този ден. Боже мой, беше ли толкова дълго?