コマンドでのBluetooth接続(PSコントローラとUbuntu)
■DUALSHOCK4の接続。
以前Ubuntuでゲームできるようにしたけど(Steamアプリでゲーム)、大きな問題もなく遊べている。操作には、余っているゲームコントローラをケーブルでつなげている。最近、頻繁に接続不良が起こるようになった。コントローラとケーブルの接続部分をぐいぐいすると一時的に直るが、すぐに切れてしまう。
ケーブル自体ももう何年も使っていて経年劣化もあるかと思い買いなおすか考えていたところ、このコントローラはBluetooth接続もできるとのこと。ワイヤレスでの接続は操作にラグが出る気がしていいイメージがないけど一度試してみた。
最終的には下の画面のようにWireless Controllerとして接続できた。

初めはPCのBluetoothの設定で検索すれば、目当てのコントローラが表示されクリック一つで接続するかと思ったら表示もされない。あと、今までケーブル接続のコントローラをマウス代わりに使っており、ケーブルを外してワイヤレス接続する際にはカーソルを動かせない。ので、キーボードで設定していく(コマンドプロンプトで設定)。
Chat GPTに問い合わせをしつつ試行錯誤をした結果、下の手順で設定できた。
1.コマンドプロンプトを表示(cmdで端末を表示)
2.端末からbluetoothctlコマンドを入力(下のような[bluetooth]#の入力となる。

3.power on, agent on, default-agent, scan on まででデバイス検索となる。(このあたりはデフォルトで動作しており確認だけかと思う)
4.コントローラ側で、Shareボタン+PSボタンを長押しでペアリング待機状態にする。(これで検索にかかるはず)
5.検索で出てこない場合は、コマンドプロンプトに戻って([bluetooth]#でexit)、sudo systemctl restart bluetooth(bluetoothサービスを再起動)を入力して、再度bluetoothctlで検索。検索にかかると下のような表示になる([CHG] Device ... となる)。

6.ここまでで接続準備は整った。あとは"pair 機器の番号(上の00:22:68 ~)"、"connect 機器の番号"で接続。接続できると[bluetooth]の部分が[Wireless Controller]のように接続先の名称に変わるよう。

7.自動的に接続できるようtrustコマンドも使っておく。
ここまでの操作でPC起動後にPSボタンで接続できるようになった。
少し使ってみた操作感としては気になるようなラグもない。あとはどのくらい電池が持つか気になるところ。ケーブルは充電もかねているそうなので、ワイヤレスにしたら電池切れのデメリットが出てくる。
