Ubuntu
DualShock4

UbuntuでDual Shock4 コントローラを振動させる

UbuntuでPS4用のDual Shock4 V2を振動させる方法です。

環境

  • Ubuntu 16.04 LTS
  • Linux Kernel: 4.13.-36-generic
  • DS4との接続:USB, Bluetoothどちらでも可能

接続したDS4のイベント番号を確認する

ターミナルで以下のコマンドを実行し、Ubuntuで認識されているデバイスを確認します。

$ cat /proc/bus/input/devices

すると以下のような結果が表示されます。

  • USB接続の場合
    USB.png

  • Bluetooth接続の場合
    Bluetooth.png

ここから、Wireless Controllerという名前のeventを探します。Handlerの箇所で確認できるevent番号は、USB接続、Bluetooth接続ともにevent24となっていることが分かります。

DS4の振動コマンド

fftestに先ほど確認したevent24を指定して実行します。

$ fftest /dev/input/event24

すると以下のような表示がターミナルに現れます。

fftest.png

下側にUploading effectと書かれている行の最後にOK
表示されている振動をDS4へ指示することができます。

この場合だと以下の3つの指示ができます。
1. #0のPeriodic sinusoidal
2. #4のStrong rumble, with heavy motor
3. #5のWeak rumble, with light motor

0,4,5の数字をいずれかをターミナルに入力すると、DS4を振動させることができます。

このように、DS4を振動させることが出来れば、自分のプログラムでDS4を振動させることが出来ます。
こちらについてはまた次回。