見出し画像

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.再起動

最後に再起動しておきます。
これでタッチバッドが無効になったはずです。

反省点

せっかく開発者の方は作ってくれているので、ドキュメント類はちゃんと読みましょう。

この記事が気に入ったらサポートをしてみませんか?