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 をインストールしており、コマンドを直接実行している。