「俺」についているゲームパッドのキーマップを拾って調べた対応表です。
Activity#dispatchKeyEventにおいて、
public boolean dispatchKeyEvent(KeyEvent e) {
if (e.getAction() == KeyEvent.ACTION_DOWN) {
//キーコード表示
Log.d("KeyCode","KeyCode:"+ e.getKeyCode());
}
return super.dispatchKeyEvent(e);
}
で拾ってキーコードを調べる。
| キー | KeyCode | 定義 | 備考 |
|---|---|---|---|
| 十字キー上 | 19 | KEYCODE_DPAD_UP | |
| 十字キー下 | 20 | KEYCODE_DPAD_DOWN | |
| 十字キー左 | 21 | KEYCODE_DPAD_LEFT | |
| 十字キー右 | 22 | KEYCODE_DPAD_RIGHT | |
| 左アナログスティック 上 | 19 | KEYCODE_DPAD_UP | |
| 左アナログスティック 下 | 20 | KEYCODE_DPAD_DOWN | |
| 左アナログスティック 左 | 21 | KEYCODE_DPAD_LEFT | |
| 左アナログスティック 右 | 22 | KEYCODE_DPAD_RIGHT | |
| 右アナログスティック 上 | (反応なし) | ||
| 右アナログスティック 下 | (反応なし) | ||
| 右アナログスティック 左 | (反応なし) | ||
| 右アナログスティック 右 | (反応なし) | ||
| L1 | 102 | KEYCODE_BUTTON_L1 | |
| L2 | 104 | KEYCODE_BUTTON_L2 | |
| L3 | 106 | KEYCODE_BUTTON_THUMBL | |
| 23 | KEYCODE_DPAD_CENTER | ||
| R1 | 103 | KEYCODE_BUTTON_R1 | |
| R2 | 105 | KEYCODE_BUTTON_R2 | |
| R3 | 107 | KEYCODE_BUTTON_THUMBR | |
| 23 | KEYCODE_DPAD_CENTER | ||
| 音量 - | 25 | KEYCODE_VOLUME_DOWN | |
| 音量 + | 24 | KEYCODE_VOLUME_UP | |
| A | 96 | KEYCODE_BUTTON_A | |
| 4 | KEYCODE_BACK | ||
| B | 97 | KEYCODE_BUTTON_B | |
| 4 | KEYCODE_BACK | ||
| X | 99 | KEYCODE_BUTTON_X | |
| 23 | KEYCODE_DPAD_CENTER | ||
| Y | 100 | KEYCODE_BUTTON_Y | |
| 23 | KEYCODE_DPAD_CENTER | ||
| SELECT | 109 | KEYCODE_BUTTON_SELECT | |
| 82 | KEYCODE_MENU | ||
| START | 108 | KEYCODE_BUTTON_START | ホームに戻った |
| 電源ボタン | スリープした |
L3、R3、A、B、X、Y、SELECTについては、一回の押下で2回のイベントを拾ったため併記している。
ついでにe.getSource()の値は1281となっていて、InputDeviceには未定義の値。
次は、画面の下部にあるソフトキー
| キー | KeyCode | 定義 | 備考 |
|---|---|---|---|
| ソフトキー バックキー | 4 | KEYCODE_BACK | |
| ソフトキー ホームキー | (反応なし) | ホームに戻った | |
| ソフトキー タスクキー | (反応なし) | 実行中アプリが表示 | |
| ソフトキー カメラキー | (反応なし) | スクリーンショット | |
| ソフトキー ゲームパッドキー | (反応なし) | ゲームパッドのマッピング表示 |
こちらのgetSource()の値は257だった。