ГлавнаяОперационные системыLinuxКак привязать сочетания клавиш к программам WINE в Linux

Как привязать сочетания клавиш к программам WINE в Linux

Итак, вы любите свою машину с Linux, но на вашей машине должна работать одна (или, возможно, несколько) программа Windows. Вы нашли что-то вроде волшебной палочки и установили Wine. Но когда вы собираетесь использовать это любимое приложение, сочетания клавиш, к которым вы привыкли в мире Windows, просто не работают здесь, в Linux! Ну так что ты делаешь? Мы покажем вам, как можно сопоставить и привязать сочетания клавиш к вашей программе Wine. Мы предполагаем, что Wine у ​​вас уже установлен.

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

BindHotkeysWine-Балаболка-горячая клавиша

Наиболее распространенными инструментами для такого сопоставления клавиш являются xdotoolи хте . Это оба эмулятора клавиш, которые вы можете использовать для подключения скриптов, соответствующих нажатиям клавиш. Затем вам придется использовать Xbindkeys для привязки любых специальных клавиш или кнопок. Давайте посмотрим, как их использовать, а также другие способы сопоставления сочетаний клавиш с программами Wine.

Xdotool

Xdotool позволяет выполнять многие задачи Windows из командной строки. По сути, он позволяет имитировать активность клавиатуры и мыши. Вы можете посмотреть полное сопоставление здесь, но для наших целей мы будем использовать только две основные команды — searchи key. Первые шаги — установите xdotool обычной командой:

sudo apt-get install xdotool

Далее вы создаете нужное сопоставление следующим образом:

xdotool key --window $( xdotool search --name YOUR_APP ) YOUR_KEYSTROKE

Давайте возьмем Spotify в качестве примера и посмотрим, как можно сопоставить горячие клавиши Global Media. Для удобства поместим это в скрипт (с разрешения Арх Linux вики ) music.sh

#!/bin/sh
 
case $1 in
   "play")
       key="XF86AudioPlay"
       ;;
   "next")
       key="XF86AudioNext"
       ;;
   "prev")
       key="XF86AudioPrev"
       ;;
   *)
       echo "Usage: $0 play|next|prev"
       exit 1
        ;;
esac
xdotool key --window $(xdotool search --name "Spotify (Premium )?- Linux Preview"|head -n1) $key
exit 0

Не забудьте сделать свой скрипт исполняемым с помощью простого «chmod». После того, как вы это сопоставили, вам нужно будет привязать этот скрипт к любому инструменту, который действительно отслеживает нажатия клавиш. Вот как это сделать с помощью xbindkeys

<keybind key="XF86AudioPlay">
  <action name="Execute">
      <execute>~/bin/musickeys.sh play</execute>
  </action>
</keybind>
<keybind key="XF86AudioNext">
  <action name="Execute">
      <execute>~/bin/musickeys.sh next</execute>
  </action>
</keybind>
<keybind key="XF86AudioPrev">
  <action name="Execute">
      <execute>~/bin/musickeys.sh prev</execute>
  </action>
</keybind>

BindHotkeysWine-control-modifier-key

Самая распространенная проблема, с которой сталкивается большинство людей при использовании xdotool или другого сопоставления клавиш, связана с нажатием какой-либо дополнительной клавиши Ctrl, Shift или Alt во время установки сочетания клавиш или иногда с наличием дополнительной клавиши key_up или key_down. Есть простой способ удалить лишние модификаторы — просто воспользуйтесь опцией «очистить модификаторы».

xdotool key --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 /playpause
command_2 - wine ~/.foobar2000/foobar2000.exe /stop
command_3 - wine ~/.foobar2000/foobar2000.exe /next
command_4 - wine ~/.foobar2000/foobar2000.exe /prev

Затем перейдите в «/apps/metacity/global_keybindings» и определите:

run_command_1 - XF86AudioPause
run_command_2 - XF86AudioStop
run_command_3 - XF86AudioNext
run_command_4 - XF86AudioPrev

XTE

Xte — еще один инструмент, который можно использовать для сопоставления ввода с клавиатуры. Это часть пакета xautomation, и вы можете установить его с помощью

sudo apt-get install xdotool
sudo apt-get install xautomation
sudo apt-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, он позволяет создавать сценарии и сопоставлять их с определенными сочетаниями клавиш. Наше предыдущее руководство по этой теме покажет вам, как его использовать. Вы можете поэкспериментировать, чтобы выяснить, какой метод подойдет вам лучше всего.

Авторы изображений: Уильям Хук , F Хашеми, Уолт Стоунбернер

ПОХОЖИЕ СТАТЬИ

Популярные записи