Y.s Diary


 

2013年 07月 18日
ゲームコントローラ (Raspberry Pi)
+ [Sony DUALSHOCK®3 WIRELESS CONTROLLER]

DUALSHOCK®3 を、Bluetooth で Raspberry Pi に繋げてみます。

必要なプログラムをコンパイルする為のライブラリをインストールします。

$ sudo apt-get install libusb-dev libbluetooth-dev

ペアリング用のプログラムをダウンロードしてコンパイルします。

$ wget -nd -N http://www.pabr.org/sixlinux/sixpair.c
$ gcc -o sixpair sixpair.c -lusb

USB ケーブルで DUALSHOCK®3 と Raspberry Pi を接続し、ペアリングを実行します。

$ sudo ./sixpair
Current Bluetooth master: XX:XX:XX:XX:XX:XX
Setting master bd_addr to XX:XX:XX:XX:XX:XX

(XX:XX:XX:XX:XX:XX は、実際のアドレスに読み替えてください)

DUALSHOCK®3 と Raspberry Pi の USB ケーブルを外します。

http://sourceforge.net/projects/qtsixa/ から QtSixA-1.5.1-src.tar.gz をダウンロードします。

展開し、sixad をコンパイルします。

$ tar xf QtSixA-1.5.1-src.tar.gz
$ cd QtSixA-1.5.1/sixad
$ make

sixad をインストールした後、実行します。

$ sudo make install
$ sudo /etc/init.d/sixad start

DUALSHOCK®3 の PS ボタンを押すと接続されます。

リブート後も sixad を自動起動したい場合は

$ sudo update-rc.d sixad defaults

を実行します。

jstest で確認します。

$ jstest /dev/input/js0
Driver version is 2.1.0.
Joystick (Sony Computer Entertainment Wireless Controller) has 27 axes (X, Y, Z, Rz, (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null), (null))
and 19 buttons (Trigger, ThumbBtn, ThumbBtn2, TopBtn, TopBtn2, PinkieBtn, BaseBtn, BaseBtn2, BaseBtn3, BaseBtn4, BaseBtn5, BaseBtn6, BtnDead, BtnA, BtnB, BtnC, (null), (null), (null)).
Testing ... (interrupt to exit)
(以下略)

全てのボタンとスティックが反応しました。

モーションセンサーも反応しているみたいでした。

振動機能は未確認です。

 

This page is written in Japanese.