Xorg での特別なキーボードキー

提供: ArchWiki
ナビゲーションに移動 検索に移動

関連記事

キーシムをアクションにマップ

When we are in a graphical environment we may want to execute a command when certain key combination is pressed. There are multiple ways to do that:

  • The most portable way using low level tools, such as acpid. Not all keys are supported, but configuration in uniform way is possible for keyboard keys, power adapter connection and even headphone jack (un)plugging events. It is also difficult to run programs inside X session correctly.
  • The universal way using Xorg utilities (e.g. xbindkeys) and eventually your desktop environment or window manager tools.
  • The quicker way using a third-party program to do everything in GUI, such as the Gnome Control Center or Keytouch.

デスクトップ環境

Gnome

Gnome Control Center is quite complete for the extra keyboard keys management. In fact it can directly detect scancodes which means that it can map any key seen by the kernel.

KDE

キーボードショートカットは System Settings -> Shortcuts and Gestures で設定できます。

Xfce4

Xfce#Keyboard_Shortcuts を見て下さい。

ウィンドウマネージャ

Openbox

Openbox#キーバインド を見て下さい。

PekWM

PekWM#ホットキー を見て下さい。

Xmonad

If you use Xmonad as a stand alone window manager, you can edit the xmonad.hs to add unbound keyboard keys. You just need to find the Xf86 name of the key (such as XF86PowerDown) and look it up in /usr/include/X11/XF86keysym.h. It will give you a keycode (like 0x1008FF2A) which you can use to add a line like the following in the keybindings section of your xmonad.hs:

((0,               0x1008FF2A), spawn "sudo pm-suspend")

i3

Open your ~/.i3/config and just bind the keysym to a command:

bindsym XF86AudioLowerVolume exec amixer -q set Master 5-
bindsym XF86AudioRaiseVolume exec amixer -q set Master 5+
bindsym XF86AudioMute exec $(amixer get Master | grep off > /dev/null && amixer -q set Master unmute) || amixer -q set Master mute
bindsym XF86MonBrightnessDown  exec  xbacklight -dec 10
bindsym Print                  exec  scrot

サードパーティのツール

sxhkd

A simple X hotkey daemon with a powerful and compact configuration syntax.

Available as sxhkd-gitAUR and sxhkdAUR in AUR.

keytouch

KeyTouch is a program which allows you to easily configure the extra function keys of your keyboard. This means that you can define, for every individual function key, what to do if it is pressed.

See the main article: keytouch.

actkbd

From actkbd home page:

actkbdAUR (available in AUR) is a simple daemon that binds actions to keyboard events. It recognises key combinations and can handle press, repeat and release events. Currently it only supports the linux-2.6 evdev interface. It uses a plain-text configuration file which contains all the bindings.

A sample configuration and guide is available here.

xbindkeys

xbindkeys allows advanced mapping of keysyms to actions independently of the Desktop Environment.

ヒント: If you find xbindkeys difficult to use, try the graphical manager xbindkeys_configAUR from the AUR.