Итак, вы любите свою машину с Linux, но у вас должна быть одна (или, возможно, несколько) программ Windows, работающая на вашей машине. Вы нашли нечто похожее на волшебную палочку и установили Wine. Но когда вы запускаете это любимое приложение, сочетания клавиш, к которым вы привыкли в мире Windows, просто не работают здесь, в Linux! Ну так что ты делаешь? Мы покажем вам, как можно сопоставить и привязать сочетания клавиш к вашей программе Wine. Мы предполагаем, что у вас уже установлен Wine.
Обратите внимание, что некоторые приложения требуют, чтобы вы явно включили горячие клавиши. Обычно это находится в меню "Параметры" или "Настройки". Например, для Балаболки вам нужно будет включить горячие клавиши в настройках.
Наиболее распространенными инструментами для этого сопоставления клавиш являются xdotool и xte. Это оба основных эмулятора, которые можно использовать для подключения сценариев, соответствующих нажатию клавиш. Затем вам нужно будет использовать Xbindkeys для привязки любых специальных клавиш или кнопок. Давайте посмотрим, как использовать эти и другие способы сопоставления сочетаний клавиш с программами Wine.
Xdotool
Xdotool позволяет выполнять многие задачи Windows из командной строки. По сути, он позволяет имитировать действия клавиатуры и мыши. Здесь вы можете просмотреть полное сопоставление, но для наших целей мы будем использовать только две основные команды - search
и key
. Сначала первые шаги - установите xdotool с помощью обычной команды:
sudo apt- получить установку xdotool
Затем вы создаете нужное отображение следующим образом:
xdotool key --window $( xdotool search --name YOUR_APP ) YOUR_KEYSTROKE
Давайте возьмем Spotify в качестве примера и посмотрим, как можно сопоставить горячие клавиши Global Media. Для удобства поместим его в скрипт (любезно предоставлен Arch linux Wiki) music.sh
#!/bin/shcase$1in"play")key="XF86AudioPlay";;"next")key="XF86AudioNext";;"prev")key="XF86AudioPrev";;*)echo"Usage: $0 play|next|prev"exit1;;esacxdotool key --window $(xdotool search --name"Spotify (Premium )?- Linux Preview"|head -n1)$keyexit0
Не забудьте сделать свой скрипт исполняемым с помощью простого " chmod
". Как только вы это сопоставите, вам нужно будет привязать этот скрипт к любому инструменту, который действительно улавливает нажатия клавиш. Вот как это сделать с помощью xbindkeys
keybind key="XF86AudioPlay">action name="Execute">execute>~/bin/musickeys.sh playexecute>action>keybind>keybind key="XF86AudioNext">action name="Execute">execute>~/bin/musickeys.sh nextexecute>action>keybind>keybind key="XF86AudioPrev">action name="Execute">execute>~/bin/musickeys.sh prevexecute>action>keybind>
Наиболее распространенная проблема, с которой сталкивается большинство пользователей при использовании xdotool или другого сопоставления клавиш, связана с нажатием дополнительных клавиш Ctrl, Shift или Alt во время установки сочетания клавиш, а иногда и с дополнительными клавишами key_up или key_down. Есть простой способ удалить лишние модификаторы - просто используйте параметр " clearmodifiers".
ключ xdotool - clearmodifiers XF86AudioRaiseVolume
Clearmodifiers ищет любые специальные клавиши, такие как Shift, Ctrl или Alt, которые были нажаты, удаляет их, отправив соответствующую последовательность клавиш, запускает вашу команду xdotool и восстанавливает ваш модификатор, отправляя соответствующую клавишу вниз. Вы можете найти более подробную информацию на странице руководства.
Пример с Foobar
Мы только что увидели, как сопоставить горячие клавиши глобальных медиа с помощью Spotify. С foobar все намного проще. Wine обычно позволяет foobar отображать мультимедийные клавиши, если они еще не отображены какой-либо другой программой. Вот что вы можете сделать, чтобы настроить глобальные мультимедийные горячие клавиши с помощью Foobar + Wine:
- Откройте "Редактор конфигурации Gnome".
- На левой панели навигации выберите "/ apps / metacity / keybinding_commands" и настройте
command_1 - wine ~/.foobar2000/foobar2000.exe /playpausecommand_2 - wine ~/.foobar2000/foobar2000.exe /stopcommand_3 - wine ~/.foobar2000/foobar2000.exe /nextcommand_4 - wine ~/.foobar2000/foobar2000.exe /prev
Затем перейдите в "/ apps / metacity / global_keybindings" и определите:
run_command_1 - XF86AudioPauserun_command_2 - XF86AudioStoprun_command_3 - XF86AudioNextrun_command_4 - XF86AudioPrev
XTE
Xte - еще один инструмент, который можно использовать для сопоставления ввода с клавиатуры. Это часть пакета xautomation, и вы можете установить его с помощью
sudoapt-get install xdotoolsudoapt-get install xautomationsudoapt-get install xwd
Он генерирует поддельные вводы (клавиша или мышь) с помощью расширения XTest. Возьмем простой пример. Допустим, вы хотите отобразить "Ctrl + PageUp", чтобы переключиться на предыдущую вкладку и использовать клавишу XF86Back. Создайте скрипт с правами исполняемого файла (755), вызовите sc_back:
!/bin/bash/usr/bin/xte 'keydown Control_L''keydown Page_Up''keyup Page_Up''keyup Control_L'
Затем убедитесь, что вы сопоставили XF86Back как ярлык для sc_back. Это должно позволить вам переключиться на предыдущую вкладку с помощью "Ctrl + PageUp".
В зависимости от того, чего именно вы хотите достичь, существует множество способов сопоставления и привязки сочетаний клавиш. Мы рассмотрели некоторые примеры в этом руководстве, но есть и много других способов. Например, Автоключ предоставляет один из самых чистых способов. Подобно методу xdotool, который мы описали выше для Spotify, он позволяет создавать сценарии и сопоставлять их с определенными сочетаниями клавиш. Наш предыдущий учебник по этой теме покажет вам, как его использовать. Вы можете поэкспериментировать, чтобы выяснить, какой метод лучше всего подходит для вас.
Изображение предоставлено: Уильям Хук, Ф. Хашеми, Уолт Стоунбернер