About this Blog

This Blog has English posts and Japanese posts. About Mac, iOS, Objective-C, and so on.

2013年5月5日日曜日

Ubuntu+Ruby1.9.3でXboxのコントローラを使う(gem不使用)


といっても、それほど難しいことはしていないのですが。
Linuxではこういったデバイス(ゲームのコントローラなど)を汎用的にjoystickとして扱います。

コントローラを接続してから、
$ls /dev/input/
と打つと、js0やjs1といったデバイスが表示されます。

で、それを使うためのRubyのライブラリもちゃんとあります。
自分の環境だとgem経由ではうまく動作しなかったので、
Pablotron: Joystick-Ruby
からダウンロードして
$ruby ./extconf.rb
$make
$sudo make install
しました。 ただ1点、joystick.cの77行目
if ((*fd = open(RSTRING(path)->ptr, O_RDONLY)) >= 0) { #=>Compile ERROR!
がRuby1.8向けの古い書き方なので、
if ((*fd = open(RSTRING_PTR(path), O_RDONLY)) >= 0) {
と修正しました。

使い方は、サンプルコードや
RDoc Documentation
を参考にしましょう。

# スティックから手を離した時にAxisの値が0に戻らないという謎の現象。
# そういうもんなのか、コントローラが壊れているのかは不明.. # 長らくしまいこんでたからな〜

0 件のコメント:

コメントを投稿