フォト
2017年9月
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
無料ブログはココログ

« ソネットのWiMAXモバイル機器が到着 | トップページ | MINIX NEO X5 の新しいファームウェアの公開 »

2013年8月 4日 (日)

MINIX NEO X5 でゲームパッドを使えるようにする

前回 MINIX NEO X5 のroot権限の取得を行いました。今度はキーマップを定義してゲームパッドを利用できるようにします。

近くのジェーソンで安売りしていたゲームパッドBUFFALO BGCFC801を接続します。

今回の目的はAndroid上で動くNINTENDO 64のエミュレータ N64模擬器でゲームパッドを使うことです。

以前購入した中華Android機iDroid X360 に入っていたアプリとゲームROMを流用します。
このN64模擬器は、物理キーボードの割り当てはできるのですが、
ゲームパッドのボタンを割り付けることができません。

今回使いたいゲームパッドのボタンはBUTTON_1~BUTTON_8のキースキャンコードが割り当てられているのですが、
そのコードが認識できません。
そこで強引に各ボタンにキーレイアウトを定義します。

/system/usr/keylayoutにVendor_0411_Product_00c6.kl というファイルを作成して配置します。
ベンダーコードとプロダクトコードはWindows機にゲームパッドを接続して調べます。

Id

ハードウエアIDを見るとVIDとPIDが分かります。

/system/usr/keylayout/Vendor_0411_Product_00c6.kl の内容

 key 288   A
 key 289   B 
 key 290   X 
 key 291   Y 
 key 292   L 
 key 293   R 
 key 294   1 
 key 295   2 
 axis 0x00 X
 axis 0x01 Y

上記の定義でゲームパッドにキーボードを割り付けます。十字キーのための定義axisの2行にちょっと手間取りました。
Xで横操作、Yで縦操作に対応させます。
この定義により、ゲームパッドのAボタンを押すと文字'A'のキーを押したことになり、
Bボタンだと'B'、十字キーの上下左右はDPAD_UP、DPAD_DOWN、
DPAD_LEFT、DPAD_RIGHTに対応します。axisは軸入力でXは横、Yは縦のようです。
スキャンコードは、AndroidのKeyEvent Displayというアプリケーションで調べました。
このファイルをroot権限を取得して/systemを書き換えられるようにした後、ファイルを配置します。
この定義によりN64模擬器でゲームパッドBUFFALO BGCFC801が利用できるようになりました。
MINIX NEO X5 でマリオカートをプレイした画面はこんな感じです。実機よりも画面がきれいです。

多分探せば最初からゲームパッドに対応しているエミュレータがあると思いますが今回の調査はいろいろと勉強になりました。

« ソネットのWiMAXモバイル機器が到着 | トップページ | MINIX NEO X5 の新しいファームウェアの公開 »

Android」カテゴリの記事

MINIX NEO X5」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/571408/57928691

この記事へのトラックバック一覧です: MINIX NEO X5 でゲームパッドを使えるようにする:

« ソネットのWiMAXモバイル機器が到着 | トップページ | MINIX NEO X5 の新しいファームウェアの公開 »