Ubuntuに接続したDualShock 4のタッチパッドによるマウス操作を無効にする
背景
Ubuntu 22.04でゲームをする際、DualShock 4 (PS4コントローラ)を使用しています。
基本的に動作は良好で概ね不満はないのですが、タッチパッドを触った時にマウス操作が行われるため、操作方法が一時的にコントローラではなく、キーボード&マウスによる操作に切り替わってしまう場合がありました。
コントローラのボタンを押せば元に戻りますし、タッチパッドを多用するゲームをしないのであまり困っていませんでしたが、より快適を求めて設定をしてみました。
ディスプレイサーバについて
Ubuntu 22.04以降、標準のディスプレイサーバがX Window SystemからWaylandに変更されています。
そのため、Arch wikiに記載されているxorg.confを利用する方法では対応できません。
設定方法
Waylandが標準であるUbuntu22.04の入力デバイス用ライブラリはlibinputです。
そこで、libinputの公式ドキュメントを見ると、特定のデバイスを無効化する方法が書かれていました。
# 「disable」でドキュメントを検索してはいたのですが、所望の記述にたどり着けず、issueを挙げたところ開発者さんから「ドキュメントのここをちゃんと読んで(意訳)」と教えてもらいました。
これを使って無効化します。
無効化はとても簡単でした。
無効化手順
1. Vender IDとProduct IDを調べる
あとで使うので調べます。
予めUSBケーブルでDualShock4をPCに接続しておいてください。
下記のコマンドで確認できます。
$ lsusb
# Bus 001 Device 012: ID 054c:09cc Sony Corp. DualShock 4 [CUH-ZCT2x]
ID(054c:09cc)の前半がVender IDで、後半がProduct IDです。
2. 設定ファイルを作成
以下の内容を記載したファイルを作成し、/etc/udev/rules.d/ に配置します。
ACTION=="add|change", KERNEL=="event[0-9]*", \
ENV{ID_VENDOR_ID}=="054c", \
ENV{ID_MODEL_ID}=="09cc", \
ENV{LIBINPUT_IGNORE_DEVICE}="1"
3.再起動
最後に再起動しておきます。
これでタッチバッドが無効になったはずです。
反省点
せっかく開発者の方は作ってくれているので、ドキュメント類はちゃんと読みましょう。
この記事が気に入ったらサポートをしてみませんか?