開発者コンソール

リモコン入力

リモコン入力(Fire TV)

すべてのリモコンが、同じボタン、同じ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日