USBジョイスティックドライバ
English version
概要
USBゲームコントローラ(ジョイスティック、ゲームパッドなど)のドライバです。
要件
- BeOS R5 x86
- USBゲームコントローラ(以後「ジョイスティック」)
製品ごとの動作可否については、ハードウェア互換性リストを参照してください。
作者は、以下のデバイスと
- Gravis GamePad Pro USB (2軸10ボタン)
- 東芝 ゲームパッド PA2823UJ (2軸10ボタン)
- SK-NET SMART JOYPAD 3 (4軸16ボタン)
- Planex PS-MG2 (4軸16ボタン)
- Microsoft SideWinder Game Pad Pro (2軸9ボタン)
- Microsoft SideWinder Strategic Commander (3軸15ボタン)
以下のアプリケーションでテストしました。
導入
install.shを実行します。
設定ファイル(usb_joy.conf)を~/config/settings/kernel/drivers/usb_joyにコピーして編集すると、
ボタンの割り当てを変えることができます。
使用法
- ジョイスティックをUSBポートに接続します。
- Joysticks preferenceを起動し、Game Portの"usb/0"を選択します。
- Connected Controllerの"Generic USB Joystick"を選択するか、"Probe"を押します。
- "Calibrate"を押して動作を確認します。
- StickItでさらにテストできます。
再起動後ジョイスティック対応アプリを動かす前にJoysticks preferenceを起動する必要があるかもしれません。
注意
- BeOSのジョイスティックの枠組みは静的に設計されており、
USBの動的な性質とは相性がよくないことに注意してください。
ジョイスティック対応アプリ(Joystick preference含む)の動作中にジョイスティックを抜いてはいけません。
また、複数のジョイスティックを挿した場合、
ジョイスティックとデバイス名(/dev/joystick/usb/*)の割り当てが一定でないことも要注意です。
ジョイスティックを抜き挿しすると、接続されている他のジョイスティックの割り当ても変更される場合があります。
- ジョイスティックを較正(calibrate)すると、軸やボタンの数が保存されます。
後でもっと軸やボタンの多いジョイスティックに交換した場合、
増えた軸やボタンの名称はnullになります。
これを直すには、~/config/settings/joysticks/usb/*を削除して、
古い較正データを消します。
- Joysticks preferenceでusb/*に対してProbeを押すと、
無条件にGeneric USB Joystickが選択されます。
これは必ずしもジョイスティックが正常に動作していることを意味しません。
- フォースフィードバック、振動、モード切り替えなどはサポートしていません。
アプリケーション固有の注意
代表的なアプリケーションでの注意事項です。
- Corum III
Joysticks preferenceで他のポートをdisableしてください。
- Axia!
ジョイスティックをサポートしているように見えますが、実際はサポートしていません。
ジョイスティックをenableにすると、次回からゲーム開始時にクラッシュするようになるので、enableにしないでください。
- BeGameboy
軸の入力ができません(原因不明)。
ボタンのマッピングは、1:START、2:B、3:A、4:SELECTとなっています。
- Snes9x
ボタンの割り当てを変えるとクラッシュするという報告があります。
トラブルシューティング
インストーラーの指示に従ってください。
参考文献
使用条件
本ソフトウェアはフリーソフトです。
Copyright 2000 (C) ITO, Takayuki. All rights reserved.
履歴
- 0.10
-
- 0.20
-
- インストーラーの改良
- デフォルトインタフェースを修正(デバイス認識の改善)
- 軸の順序を修正
- 8ビットを超える値の修正
- 初期状態取得の修正(一部製品のみ)
- 0.30
-
- ハットスイッチの改善
- 8ビットより小さい値の修正
- 複数インタフェースの対応
- HIDデスクリプタ読み出しエラーを無視
- hidparseを改善(Push/Pop, Physical Maximum/Minimum, Usage)
- hiddumpの修正
- インストーラーのタイムアウト
- 0.40
-
- 設定ファイルの導入
- ハットスイッチの修正
- 軸の初期状態が得られない場合に中央にする
- 0.50
-
- Microsoft製品の軸の問題を修正
- 一部の製品で応答が得られなかった問題を修正
- SideWinder Strategic Commanderのサポート
- HCLを添付
- ToDo
-
- 独自ioctl
- オープン中に抜かれた場合の対処
- スケーリングの改善
- 設定ファイルの自動生成
- hidparseのモジュール化
作者
伊藤隆幸
(e-mail /
WWW)