Jaybanuan's Blog

どうせまた調べるハメになることをメモしていくブログ

Ubuntu 22.04LTSでゲームパッドが認識されない場合の対処

はじめに

ThundeRobot社製のゲームパッドを利用しているが、PCを買い替えたら認識されなくなった。 対処方法を調べたので、メモしておく。

環境

$ cat /etc/os-release | grep PRETTY_NAME
PRETTY_NAME="Ubuntu 22.04.2 LTS"

$ uname -srvm
Linux 5.19.0-40-generic #41~22.04.1-Ubuntu SMP PREEMPT_DYNAMIC Fri Mar 31 16:00:14 UTC 2 x86_64

対処方法

ググってなんとか対処方法が書いてある以下に辿り着いた。

github.com

投稿を信じるなら、カーネル 5.16以降で発生する事象のようなので、自分の環境は該当する。 コメントで言及されているworkaround通りに/etc/modprobe.d/nonintendo.confを以下の内容で作成してリブートすると、認識された。

blacklist hid_nintendo

対処前後のsudo lshwの結果を比較すると、差分は以下のように出た。 まずは対処前。

                   詳細: ヒューマンインターフェースデバイス(HID)
                   製品: THUNDEROBOT G30
                   ベンダー: Nintendo Co., Ltd
                   物理ID: 1
                   バス情報: usb@1:1
                   バージョン: 1.15
                   性能: usb-2.00
                   設定: driver=usbhid maxpower=500mA speed=12Mbit/s
              *-usb:1

次に対処後。

                   詳細: 汎用USBデバイス
                   製品: Microsoft X-Box 360 pad
                   ベンダー: Microsoft Corp.
                   物理ID: 1
                   バス情報: usb@1:1
                   論理名: input44
                   論理名: /dev/input/event22
                   論理名: /dev/input/js0
                   バージョン: 1.15
                   シリアル: 12340000
                   性能: usb-2.00 usb
                   設定: driver=xpad maxpower=500mA speed=12Mbit/s
              *-usb:1

対処前はNintendoのプロダクトとして、対処後はMicrosoftのプロダクトとして認識されている。 対処前は/dev/input/マッピングされずに困っていたが、対処後はマッピングできていることが分かる。

参考

wiki.archlinux.jp