Xbindkeys (Русский)
Contents
Xbindkeys
Xbindkeys - программа, позволяющая назначать команды клавишам (в том числе мультимедийным) или сочетаниям клавиш. Она независима от DE/WM и может быть полезна, если вы часто их меняете.
Установка
Установить xbindkeys можно из extra-репозитория:
# pacman -S xbindkeys
Также в AUR доступна графическая оболочка [1] для xbindkeys.
Настройка
Создайте файл .xbindkeysrc
в вашей домашней директории:
touch ~/.xbindkeysrc
Теперь вы можете редактировать его вручную, либо воспользоваться для настройки графической утилитой [2].
Xbindkeysrc
Посмотреть формат конфигурационного файла можно командой:
xbindkeys -k
Появится пустое окно. Нажимайте клавиши (сочетания клавиш), для которых вы хотите назначить команды и xbindkeys выведет вам кусок конфигурации, который можно использовать в ~/.xbindkeysrc
. Например, нажатие Alt + o приведёт к такому выводу:
"(Scheme function)" m:0x8 + c:32 Alt + o
Первая строка содержит команду. Вторая - состояние (0x8) и код (32) клавиши, полученные xev
. В третьей строке содержится удобочитаемое название клавиши (сочетания клавиш), соответствующее предоставленным кодам. Что-бы использовать этот вывод, скопируйте все три строки в файл ~/.xbindkeysrc
и замените "(Scheme function)" той командой, которою вы хотите назначить на соответствующую клавишу (сочетание клавиш). Ниже представлен пример конфигурационного файла для управления громкостью с помощью Fn-сочетаний. Символом # обозначаются комментарии.
# Increase volume "amixer set Master playback 1+" m:0x0 + c:123 XF86AudioRaiseVolume # Decrease volume "amixer set Master playback 1-" m:0x0 + c:122 XF86AudioLowerVolume # Toggle mute "amixer set Master toggle" m:0x0 + c:121 XF86AudioMute
Настройка с помощью графической оболочки
Просто запустите:
xbindkeys_config
Использование
После настройки xbindkeys откройте ~/.xinitrc
и поместите
xbindkeys
перед командой старта вашего WM/DE.
Чтобы узнать комбинацию клавиш запустите xbindkeys -k или xbindkeys -mk
Симуляция мультимедиа клавиш
XF86Audio* и другие мультимедиа клавиши хороши, но возможно их нет на вашей клавиатуре. Можно симулировать эти самые клавиши
# сделать звук тише нажимая Super-minus "amixer set Master playback 1-" m:0x50 + c:20 Mod2+Mod4 + minus
Темнеменее чтобы "вызывать" эти клавиши вы можете воспользоваться инструментом [3] или [4]. Также вот скрипт который делает это However, to actually call the keys themselves you can use tools like xdotool[5] (its in [community]) and xmacro[6] (in the AUR). Unfortunately since you'd already be holding down some modifier key (Super or Shift, for example), X will see the result as Super-XF86AudioLowerVolume which won't do anything useful. Here's a script based on xmacro and xmodmap from the xorg-server-utils package for doing this[7].
#!/bin/sh echo 'KeyStrRelease Super_L KeyStrRelease minus' | xmacroplay :0; xmodmap -e 'remove Mod4 = Super_L'; echo 'KeyStrPress XF86AudioLowerVolume KeyStrRelease XF86AudioLowerVolume' | xmacroplay :0; xmodmap -e 'add Mod4 = Super_L';
This works for calling XF86AudioLowerVolume once (assuming you're using Super-minus), but repeatedly calling it without releasing the Super key (like tapping on a volume button) doesn't work. If you'd like it to work that way, add the following line to the bottom of the script.
echo 'KeyStrPress Super_L' | xmacroplay :0
With this modified script, if you press the key combination fast enough your Super_L key will remain 'on' till the next time you hit it, which may result in some interesting side-effects. Just tap it again to remove that state, or use the original script if you want things to 'just work' and do not mind not multi-tapping on volume up/down.
Эти инструкции совместимы с большим количеством XF86 мультимедиа клавиш.
Исправление Проблем
Если комбинация клавиш которую вы добавили не работает наберите xbindkeys -n