続々・SL-C760でUSB(5)

ジョイパッドを使う

ジョイパッドはSL-C3000で動いてるので、これを元にSL-C760+REX-CFU1の場合を調べてみる。
まずは必要なモジュールのロード。input、hid、joydevがあれば使えるっぽい。これもジョイスティックのクラスであるクラス3、サブクラス0、プロトコル0に対してUSB Managerで定義をしておけば自動的にロード/アンロードができる。
SL-C3000ではジョイスティックのデバイス/dev/input/js0があるんだけど、SL-C760には無いのでSL-C3000と同じになるように「mknod /dev/input/js0 c 13 0」で作成。
あとはUSBジョイパッドを繋いだら、「cat /dev/input/js0」で動作テスト。方向キーやボタンを押すと何やら文字が色々出る。飽きたら、Ctrl+C(Fn+C)で止める。

エミュレータで使う

ジョイスティック対応アプリケーションは今んとこSMS plus for Zaurusしか知らないので、これを使う。SDL阿川さんとこの20031201を入れておいた。SDL側でジョイスティックが無効になってるんじゃないか?と言うコメントもあったようだけど、SMS plusの起動時にジョイスティック有効の旨、出てくるので大丈夫だと思うんだけど。

SMS Plus/SDL v0.9.4aR7 (Build date Mar 11 2004)
(C) Charles Mac Donald in 1998, 1999, 2000
SDL Version by Gregory Montoir (cyx@frenchkiss.net)

[MAIN]Frameskip is  2
Loaded `spaceharrier.sms'.
Initializing SDL... Ok.
Initializing SDL TIMER SUBSYSTEM... Ok.
Initializing SDL CONTROLS SUBSYSTEM... Ok.
Initializing SDL JOYSTICK SUBSYSTEM... Joystick (Austgame  USB  PAD
     ) has 2 axes and 8 buttons.
Using button mapping I=1 II=2 START=4.
Ok.

ちなみに起動コマンドは「sms_sdl hogehoge.sms --joystick」、ただしSDLジョイスティックのデバイスを/dev/js0だと思って見るようなので、「ln -s /dev/input/js0 /dev/hs0」でシンボリックリンクを張っておいてやる。
が・・・ジョイパッドで動かない。どのボタンを押してもエミュレータ上で反応しない。エミュレータを終了させた後は「cat /dev/js0」でジョイパッドの反応がやはり確認できない状態になってて、何を押しても文字の表示が変わらない。
うーむ、何故だ?