Wii Remote on PS3 Linux

| | コメント(0) | トラックバック(0)
wii_remote_icon.png

先日思わず入滅したと書いてしまった WiiLi.org ですが、 週明けにまた見にいったら復活してました。サーバの引っ越しをしてたんですね。

それで Python で書かれた Linux 用 Wii リモコンドライバ WMD にアクセスできるようになったので、これを PS3 Linux で動かしてみました。

すぐ動くかと思ったのですが実際はなかなか一筋縄ではいかず、 Python 本体モジュールからカーネルドライバまでいろいろいじる必要がありました。 要点は例によって Wiki サイト のほうにまとめておきました。

おもしろかったのは PyBluez のエンディアン問題を見つけたときですかね。

def bt_connect(addr):
  socket['receive'] = BluetoothSocket( L2CAP )
  socket['control'] = BluetoothSocket( L2CAP )

  socket['receive'].connect( ( addr, 19 ) )
  socket['control'].connect( ( addr, 17 ) )
というコードで connect((addr, 19))ECONNREFUSED を 返すとわかったところでピンときて connect((addr, 19<<8)) に書きかえてみたら動いたんですが、 昔 Linux/x86 と SunOS/SPARC の間でソケット通信プログラムを書いていた頃のことを これで思いだしてしまいました。

それと Python デバッガ pdb がとても役に立ちました。 これだけ便利なツールが整備されて普及してる Python でもやっぱり、 x86 以外の環境ではあまりテストされてないのかというのが今回の感想です。

で、肝心の操作感ですが、ボタンはよいのですがポインティングデバイスとしては微妙でした。 まだまだ改良が必要みたいです。 ともあれ PS3 から Wii リモコンの状態が読めるようになったので、週末の Binary 2.0 Conference 2006 の発表で使ってみようかと思います。

というかこんなもので遊んでいないで、 いいかげん発表内容のほうにとりかからなくてはいけません。 とりあえず OpenGL/SDL で簡単なプレゼンテーションプログラムを書いてみようかと思います。

カテゴリ

トラックバック(0)

このブログ記事を参照しているブログ一覧: Wii Remote on PS3 Linux

このブログ記事に対するトラックバックURL: http://www.keshi.org/mt/mt-tb.cgi/51

コメントする

このブログ記事について

このページは、yaegashiが2006年12月13日 00:09に書いたブログ記事です。

ひとつ前のブログ記事は「PS3 Linux」です。

次のブログ記事は「Binary 2.0 Conference 2006」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0