DebianでUSBゲームパッドを使う
BUFFALO レトロ調 USBゲームパッド 8ボタンタイプ BSGP810GY
http://buffalo.jp/product/input/gamepad/bsgp810/
色がもう少し青白かったらよかったのですが、、、。
ゲームパッド対応ゲームの場合
ゲームパッドをUSBポートに繋ぐだけで使えると思います。
しなくてもよい動作確認方法
・ゲームパッドをUSBポートに繋ぐ
・dmesgでgamepadの認識を確認する
・cat /dev/input/js0を実行する
・ゲームパッドの各ボタンを押す
・文字化けはするが反応していることを確認する
# dmesg
usb 1-1: New USB device found, idVendor=0583, idProduct=2060
input: USB, 2-axis 8-button gamepad
この商品はlsusbや上記のidVendorから台湾Padix Co.Ltd(Rockfire)の製造するQF-109U MjolnirのOEM?ODM?モデルのようです。
# cat /dev/input/js0
ゲームパッド非対応ゲームの場合
キーボードで遊ぶゲームでは、ゲームパッドの信号をキーボードのキー入力に変換する必要があります。(qjoypadなどをinstallすればGUIで設定できます)
・xserver-xorg-input-joystickをapt installする
・xevでキーコードを調べる
・/usr/share/X11/xorg.conf.d/50-joystick.confを編集する
・X Window Systemを再起動する
以上で使えるようになると思います。
# xev
ゲームで使うキーのキーコードを調べる。
# vi /usr/share/X11/xorg.conf.d/50-joystick.conf
dmesgで認識された数のMapButtonとMapAxisを追記します。xevで調べたキーコードをxxに、必要のないボタンはnoneと設定します。下記は設定の一例ですが、この設定はゲームの面白さに直結するのでman joystickをよく読んでゲームと自分に合った設定値を探してみて下さい。
Section "InputClass"
Identifier "joystick catchall"
MatchIsJoystick "on"
MatchDevicePath "/dev/input/event*"
Driver "joystick"
Option "MapButton1" "key=xx" # Aボタン赤
Option "MapButton2" "key=xx" # Bボタン黄
Option "MapButton3" "key=xx" # Xボタン青
Option "MapButton4" "key=xx" # Yボタン緑
Option "MapButton5" "none" # Lボタン
Option "MapButton6" "none" # Rボタン
Option "MapButton7" "key=xx" # SELECTボタン
Option "MapButton8" "key=xx" # START ボタン
Option "MapAxis1" "mode=relative axis=0.5key keylow=xx keyhigh=xx" # low左 右high
Option "MapAxis2" "mode=relative axis=0.5key keylow=xx keyhigh=xx" # low上 下high
EndSection