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を見ると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で縦操作に対応させます。
Xで横操作、Yで縦操作に対応させます。
この定義により、ゲームパッドのAボタンを押すと文字'A'のキーを押したことになり、
Bボタンだと'B'、十字キーの上下左右はDPAD_UP、DPAD_DOWN、
DPAD_LEFT、DPAD_RIGHTに対応します。axisは軸入力でXは横、Yは縦のようです。
DPAD_LEFT、DPAD_RIGHTに対応します。axisは軸入力でXは横、Yは縦のようです。
スキャンコードは、AndroidのKeyEvent Displayというアプリケーションで調べました。
このファイルをroot権限を取得して/systemを書き換えられるようにした後、ファイルを配置します。
この定義によりN64模擬器でゲームパッドBUFFALO BGCFC801が利用できるようになりました。
MINIX NEO X5 でマリオカートをプレイした画面はこんな感じです。実機よりも画面がきれいです。
多分探せば最初からゲームパッドに対応しているエミュレータがあると思いますが今回の調査はいろいろと勉強になりました。
« ソネットのWiMAXモバイル機器が到着 | トップページ | MINIX NEO X5 の新しいファームウェアの公開 »
「Android」カテゴリの記事
- Android-x86 4.4-r2(VirtualBox)の画面解像度の変更(2015.01.13)
- Android-x86 4.4-r2を VirtualBoxの仮想マシンで利用してみた(2015.01.10)
- NTTドコモのDマガジンに加入しました(2014.06.24)
- 中華タブレット Cube Talk 7X talk7X4 を購入しました(2014.06.11)
- Android-x86 4.4-RC2を使ってみました その1(2014.05.25)
「MINIX NEO X5」カテゴリの記事
- Lenovo Miix 2 8でワイヤレスディスプレイを試してみました(2014.06.03)
- MINIX NEO X5のファームウェアを更新しました(2014.04.17)
- MINIX NEO X5の新ファームウェアが公開されたので更新しました(2013.11.09)
- MINIX NEO X5 の消費電力の測定(2013.09.02)
« ソネットのWiMAXモバイル機器が到着 | トップページ | MINIX NEO X5 の新しいファームウェアの公開 »


コメント