libinput
libinput プロジェクトより:
- libinput はディスプレイサーバーなどの入力デバイスを直接操作する必要があるアプリケーションのために入力デバイスを管理するライブラリです。
- libinput は Wayland のリファレンスコンポジタである weston から作られました。
libinput ドライバーは標準的な入力デバイスはほとんどサポートしています。特にプロジェクトが力を入れてるのは、タッチパッドやタッチスクリーンのタッチ機能 (マルチタッチやジェスチャー) の先進的なサポートです。詳しくは ドキュメント を見て下さい。
インストール
xf86-input-libinput パッケージをインストールしてください。libinput ドライバーが依存パッケージとしてインストールされない場合、既にグラフィック環境の依存パッケージとしてインストールされています。また、xorg-xinput をインストールすることで実行中に設定を変更することができます。
設定
Xorg 用のデフォルト設定ファイルは /usr/share/X11/xorg.conf.d/90-libinput.conf
にインストールされます。キーボードやタッチパッド、トラックポイントやサポートされているタッチスクリーンなら特別な設定をしなくても自動で検出されます。
まず、次を実行してください:
# libinput-list-devices
上記のコマンドは接続されているデバイスと、libinput によってサポートされている機能を出力します。
グラフィカル環境を再起動すれば、他のドライバーが優先的に使用されるように設定されていないかぎり、デフォルト設定によって libinput によってデバイスが管理されるようになるはずです。
設定できるオプションは libinput(4) man ページを参照してください。xinput ツールを使うことで使用している特定のデバイスのオプションを確認・変更することができます。例えばオプションを確認するには:
$ xinput list-props device-number
オプションを設定するには:
$ xinput set-prop device-number option-number setting
オプションの永続的な設定については Xorg#.conf ファイルを使う を見て下さい。Logitech Marble Mouse#Using libinput に設定例が載っています。
通常、入力デバイス用に別のドライバーを同時にインストールすることができます。デバイスのドライバーを libinput を使うように切り替えたいときは、/etc/X11/xorg.conf.d/
にある昔の設定ファイルによって他のドライバーが優先されるようになっていないことを確認してください。どのデバイスが libinput によって管理されているか xorg のログファイルで確認できます。例えば、/etc/X11/xorg.conf.d/
に何も設定ファイルを置いていない (デバイスを自動で検出させている) ノートパソコンの場合、以下のようになります:
$ grep -e "Using input driver 'libinput'" ~/.local/share/xorg/Xorg.0.log
[ 28.799] (II) Using input driver 'libinput' for 'Power Button' [ 28.847] (II) Using input driver 'libinput' for 'Video Bus' [ 28.853] (II) Using input driver 'libinput' for 'Power Button' [ 28.860] (II) Using input driver 'libinput' for 'Sleep Button' [ 28.872] (II) Using input driver 'libinput' for 'AT Translated Set 2 keyboard' [ 28.878] (II) Using input driver 'libinput' for 'SynPS/2 Synaptics TouchPad' [ 28.886] (II) Using input driver 'libinput' for 'TPPS/2 IBM TrackPoint' [ 28.895] (II) Using input driver 'libinput' for 'ThinkPad Extra Buttons'
もちろん、あるデバイスでは他のドライバーを使用して、他のデバイスでは libinput を使うようにすることもできます。使用するドライバーを決める要因は様々です。例えば、Touchpad Synaptics と比べて、libinput ドライバーにはタッチパッドの挙動をカスタマイズするためのオプションが少ないですが、マルチタッチイベントをよりプログラマティックに処理することができます (例: 手のひら検出)。従って、あるドライバーでハードウェアの問題を抱えるような場合、別のドライバーを試してみると良いでしょう。
タッチパッドの設定
タップはデフォルトで無効になっていることがあります。有効にするには、設定ファイルを追加してください:
/etc/X11/xorg.conf.d/30-touchpad.conf
Section "InputClass" Identifier "MyTouchpad" MatchIsTouchpad "on" Driver "libinput" Option "Tapping" "on" EndSection
デバッグ
入力デバイスによってはカーネルのサポートが必要なことがありますが、それを確認するには `evemu-describe` を使うのが一番です。
software supported input trackpad driver の出力を a supported trackpad と比較して下さい (ABS_, ABS_MT, REL_X/Y)。動作しているときは INPUT_PROP_BUTTONPAD が設定されています。
参照
- FOSDEM 2015 - libinput - Hans de Goede on goals and plans of the project
- Peter Hutterer's Blog - numerous posts on libinput from one of the project's hackers.