Qtileでキーバインディングの設定をする

最近個人PCのデスクトップマネージャーをQtileに切り替えたので、 キーバインディングの設定を xmonad のものから引っ越した。

その際にマルチメディアキーをきちんと拾ってくれるので、 こちらでも変わらずにキーボード経由でミュートのオン/オフなどを行っている。

その際の、 config.py がこちら(一部抜粋)

from libqtile.command import lazy
from libqtile.config import Key


keys = [
    # 既存のものは省略
    # ミュートの切り替え
    Key([], 'XF86AudioMute', lazy.spawn('pactl set-sink-mute 0 toggle')),
    # ボリュームを上げ下げする
    Key([], 'XF86AudioLowerVolume', lazy.spawn('pactl set-sink-volume 0 -5%')),
    Key([], 'XF86AudioRaiseVolume', lazy.spawn('pactl set-sink-volume 0 +5%')),
    # 明るさを上げ下げする
    Key([], 'XF86MonBrightnessUp', lazy.spawn('light -A 5')),
    Key([], 'XF86MonBrightnessDown', lazy.spawn('light -U 5')),
]

修飾キーは不要なのだが、Key 生成の際にはデフォルト引数が無いため、 「一切使わない」ことを示すように [] を指定している。

そこから先は、「どのマルチメディアキーを押したら」「どんな動作をするか」を順に定義。 自機には、 PulseAudiolight をインストールしており、コマンドを直接実行している。