リモコン入力
すべてのリモコンが、同じボタン、同じAndroidイベント、同じ動作ガイドラインに対応しています。ただし、マイク(音声認識)ボタンは一部のリモコンでしか利用できません。
サポートされているすべてのコントローラーのボタン動作に関する推奨ガイドラインについては、コントローラー動作のガイドラインを参照してください。Amazon Fire TVゲームコントローラー(日本では現在お取り扱いできません)からの入力を処理する方法について詳しくは、ゲームコントローラー入力を参照してください。
コントローラーの概要
Amazon Fire TVプラットフォームは、Amazon Fire TVリモコン、Fire TV音声認識リモコン、Amazon Fire TVゲームコントローラー(日本では現在お取り扱いできません)、およびBluetooth HIDゲームパッドプロファイルをサポートするその他ゲームコントローラーからのユーザー入力に対応しています。コントローラーはすべて、使用するデバイスに接続する必要があります。
すべてのAmazon Fire TVコントローラーは、Android入力デバイスです。これらのデバイスから送られた入力の処理には、ほかのAndroid入力機器の場合と同じ技術とAPIを使用します。
特にナビゲーションや選択など、コントローラーからの単純な入力は、キーボードやボタンパッドからの入力を処理する場合と同じようにキーイベントを使用して処理することができます。
ボタン
ほとんどのAmazon Fire TVリモコンには次のボタンがあります。一部のFire TVリモコンにはマイク(音声認識)ボタンが付属していません。
一部のリモコンには、音量ボタンや電源ボタンのほか、Netflix、Amazonプライムといったアプリのボタンが追加されています。ただし、これらのボタンはサードパーティ製アプリのイベントにはマッピングできません。
入力のキャプチャ
Android入力デバイスと同じように、すべてのAmazon Fire TVリモコンは、ボタンが押されると、KeyEvent
イベントを生成します。コントローラーボタン入力は、標準のAndroidイベントリスナーインターフェイスとコールバック(onClick()
、onFocusChange()
など)を使用して処理できます。Amazon Fire TVリモコンと音声認識リモコンのいずれも、(Android MotionEvent
クラスの)モーションイベントを発生させません。
View
で特定のボタン押下イベントをキャプチャするには、onKeyDown()
などの入力イベントハンドラーをオーバーライドします。特定のキーをキャプチャするには、KeyEvent
クラスの入力定数に一致するかどうかをテストします。
たとえば、左、右、および選択のD-Padボタンをキャプチャするには、次のコードを使用します(ゲームコントローラーのAボタンに対しても同様です)。
@Override
public boolean onKeyDown(int keyCode, KeyEvent event){
boolean handled = false;
switch (keyCode){
case KeyEvent.KEYCODE_DPAD_CENTER:
case KeyEvent.KEYCODE_BUTTON_A:
// ... 選択処理
handled = true;
break;
case KeyEvent.KEYCODE_DPAD_LEFT:
// ... 左の操作の処理
handled = true;
break;
case KeyEvent.KEYCODE_DPAD_RIGHT:
// ... 右の操作の処理
handled = true;
break;
}
return handled || super.onKeyDown(keyCode, event);
}
すべての入力イベントに関して、リスナーメソッドは、イベントをキャプチャして処理するためにtrue
を返すか、ほかのコントロールで管理できるようにイベントをsuper.onKeyDown()
に渡す必要があります。
入力イベントリファレンス
次の表に、ボタン、Android KeyEvent
定数、およびボタンのデフォルトの動作を示します。Amazon Fire TVリモコンはいずれも、(Android MotionEvent
クラスの)モーションイベントを発生させません。
特定の入力イベントをキャプチャしない場合は、デフォルトの動作が行われます。
ボタン | KeyEvent | デフォルトの動作 |
---|---|---|
ホーム | なし | ホーム画面に戻ります。これはシステムイベントで、インターセプトできません。 |
戻る | KEYCODE_BACK |
前の操作または画面(アクティビティ)に戻ります。 |
Menu(メニュー) | KEYCODE_MENU |
Androidコンテキストメニュー(OptionsMenu)が開きます。 |
Microphone(検索)(音声認識リモコンのみ) | なし | システムの音声検索が起動されます。これはシステムイベントで、インターセプトできません。 |
選択(D-Padの選択) | KEYCODE_DPAD_CENTER |
現在フォーカスが置かれているユーザーインターフェイスアイテムが選択されます。 |
上(D-Pad) | KEYCODE_DPAD_UP |
ユーザーインターフェイス内でフォーカスが上方向に移動します。 |
下(D-Pad) | KEYCODE_DPAD_DOWN |
ユーザーインターフェイス内でフォーカスが下方向に移動します。 |
左(D-Pad) | KEYCODE_DPAD_LEFT |
ユーザーインターフェイス内でフォーカスが左方向に移動します。 |
右(D-Pad) | KEYCODE_DPAD_RIGHT |
ユーザーインターフェイス内でフォーカスが右方向に移動します。 |
再生/一時停止 | KEYCODE_MEDIA_PLAY_PAUSE |
メディアが再生または一時停止されます。再生と一時停止は、相互に切り替わります。 |
早戻し | KEYCODE_MEDIA_REWIND |
再生中のメディアコンテキストが早戻しされます。 |
早送り | KEYCODE_MEDIA_FAST_FORWARD |
再生中のメディアコンテキストが早送りされます。 |
チャンネル上 | KEYCODE_CHANNEL_UP |
チャンネルを1つ上の番号に変更します。 |
チャンネル下 | KEYCODE_CHANNEL_DOWN |
チャンネルを1つ下の番号に変更します。 |
Last updated: 2024年2月6日