GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Fire OS Developer Docs
  • Amazon Fire TV

This view

  • Original page
  • New address

GeezerVison is showing developer.amazon.com — Remote Control Input (Fire TV) | Amazon Fire TV

Amazon Developer
Alexa
Amazon Appstore
Ring
AWS
Documentation

Console

as

Settings
Sign out
Notifications
Alexa
Amazon Appstore
Ring
AWS
Documentation
Support
Contact Us
My Cases

Console

as

Fire OS Developer Docs
Home
Develop
Test
Publish
Monetize
Engage users
Device specifications
Resources
Amazon Fire TV

Collapse All | Expand All


  • << Fire OS Developer Docs
    • Overview
      • Get Started with Fire TV
      • Fire TV Development Versus Android TV Development
      • TV App Design UX Guidelines
      • Submitting Your Fire TV App to the Appstore
      • Promote Your App On Fire TV
      • Glossary
      • Amazon Fire TV FAQs
      • Smart TV FAQ
      • What's New in Fire TV Development
    • Fire OS for Fire TV
      • Fire OS Overview
      • Developing for Amazon Fire TV Devices Running Fire OS 16
      • Developing for Amazon Fire TV Devices Running Fire OS 14
      • Developing for Amazon Fire TV Devices Running Fire OS 8
      • Developing for Amazon Fire TV Devices Running Fire OS 7
      • Developing for Amazon Fire TV Devices Running Fire OS 6
    • Set Up Your Development Environment
      • Set Up Your Development Environment
      • Connect to Fire TV through ADB
      • Install and Run Your App
    • Controllers in Android Apps
      • Remote Control Input
      • Game Controller Input
      • Controller Input with Unity
      • Identify Controllers
      • Controller Behavior Guidelines
      • Controller Image Assets
    • Voice
      • Overview for Voice-enabling Your App and Content
      • Voice-enabling Transport Controls with Media Session API
      • In-App Voice Scrolling and Selection
    • Multimedia
      • Managing Audio Focus
      • Testing Audio Focus
      • Dolby Integration
      • Requirements for Multimedia Apps
      • AV Synchronization in Android Applications
      • APIs for HDMI Mode Switch
      • Tunnel Mode Playback
    • Automotive
      • Automotive UX Guidelines
      • Add touch to Fire TV
      • Automotive Developer Reference
    • Fire TV Integration SDK
      • Get Started with the Fire TV Integration SDK
      • Developer Tools
        • Setup the Sample Fire TV App
      • Content Personalization
        • Introduction to Content Personalization
        • Data Types
          • Watch Activity
          • Watchlist
        • Data Type Reference
        • Summary Reference Table
      • Fire TV Integration SDK General Troubleshooting
      • Test Cases for Validating Integration
      • Release Notes
    • Live TV Integrations
      • Linear Integration
        • Introduction to Linear Television Integration
        • TV Input Framework on Fire TV
        • Step-by-step Integration Guide
          • Linear TV Integration Guide Overview
          • Step 1: Set Up Project Dependencies
          • Step 2: Set Up TvInputService
          • Step 3: Insert Your First Channel
          • Step 4: Playback in Fire TV UI
          • Test Cases for Linear Apps
        • Live TV Resources
      • Events Integration
        • Events Integration on Fire TV
        • Test Cases for Events Apps
    • How to Build an Android App for Fire TV
      • Step 1: Create a Media Streaming App
      • Step 2: Understand the Anatomy of a Leanback-Enabled Android App for Amazon Fire TV
      • Step 3: Browse the Content of a Leanback-Enabled Android App
      • Step 4: Edit the User Interface Through Presenters
      • Step 5: Provide the Details of the App Content Through the DetailsFragment
      • Step 6: Play Video Content with the PlaybackOverlayFragment
    • Developer Tools and System X-ray
      • Developer Tools Menu
      • System X-Ray
      • Customizing System X-Ray
      • Network Proxy
    • Development Best Practices
      • Mouse Pointers
      • Display and Layout
      • Media Players
      • HDMI Events
      • Android Menu and ActionBar widgets
      • DIAL Integration
      • Matter Casting
        • Overview of Matter Casting
        • Matter Casting Integration
        • App Attestation
      • Search
      • Notifications
      • App Installation Location
      • Advertising ID
      • Deep Linking to Featured Content from the Fire TV UI
      • Resources for International Locales
    • Web Apps for Fire TV
      • Get Started with Web Apps
      • Web App Controllers
      • Customize Your App
      • User Agent Strings
      • Migrate Your Existing Web App
      • Cordova plugin for Amazon Catalog Integration
      • Web App FAQ
      • HTTP Caching
      • Protect Your Web App
      • Install and Use the Amazon Web App Tester
      • Use the Debug APK to Test Your App
      • Install and Run the Debug APK to Test Your App
      • HTML5 Hybrid Apps
      • Build and Test Your HTML5 Hybrid App
      • HTML5 Hybrid App FAQs
    • React Native for Fire TV
      • Get Started with React Native (Fire TV)
      • Add TV Support to an Existing React Native Project (Fire TV)
      • Supported React Native Libraries (Fire TV)
    • Accessibility
      • Assistive Technologies for Fire OS
      • Implement Accessibility in Fire OS
      • Accessibility Features
        • Implement Reading and Subscribing to AD/CC Settings
        • Implement VoiceView Accessibility Features

    Remote Control Input (Fire TV)

    All buttons, Android events, and behavior guidelines are the same for all remotes — with the exception of the voice search (microphone) button, which is only available on some remotes.

    For suggested guidelines on button behavior for all supported controllers, see Controller Behavior Guidelines. For information on handling input from the Amazon Fire Game Controller, see Amazon Fire Game Controller Input.

    • Controllers Overview
    • Buttons
    • Capturing Input
    • Input Event Reference

    Controllers Overview

    The Amazon Fire TV platform supports user input from the Amazon Fire TV Remote, the Fire TV Voice Remote, the Fire game controller, and other game controllers that support the Bluetooth HID gamepad profile. All controllers must be paired with the device to be used.

    All the Amazon Fire TV controllers are Android input devices. You use the same techniques and APIs to manage input from those devices as you would any other Android input device.

    In particular, simple input from any controller such as navigation or selection can be managed through key events in the same way you would handle input from a keyboard or a button pad.

    Buttons

    Most Amazon Fire TV remote controls have these buttons. Some Fire TV remotes do not include the microphone (voice search) button.

    Remote control
    Remote control
    Remote control with more options
    Remote control with more options, such as the channel button

    Some remote controllers have additional buttons — such as volume up/down, power, Netflix, Amazon Prime, and other apps. However, these buttons can't be mapped to events in third-party apps.

    Capturing Input

    All Amazon Fire TV remote controls generate KeyEvent events for button presses, as any Android input device does. You can handle controller button input with standard Android event listener interfaces and callbacks (onClick(), onFocusChange(), and so on). Neither the Amazon Fire TV Remote nor the Voice Remote raises motion events (from the Android MotionEvent class).

    To capture specific button press events in your View, override input event handlers such as onKeyDown(). Test for the input constants from the KeyEvent class to capture specific keys.

    For example, to capture the LEFT, RIGHT, and CENTER D-pad button (as well as the A button on a game controller), use this code:

    @Override
    public boolean onKeyDown(int keyCode, KeyEvent event){
    boolean handled = false;
    
    switch (keyCode){
    case KeyEvent.KEYCODE_DPAD_CENTER:
    case KeyEvent.KEYCODE_BUTTON_A:
            // ... handle selections
            handled = true;
            break;
    case KeyEvent.KEYCODE_DPAD_LEFT:
            // ... handle left action
            handled = true;
            break;
    case KeyEvent.KEYCODE_DPAD_RIGHT:
            // ... handle right action
            handled = true;
            break;
    }
    return handled || super.onKeyDown(keyCode, event);
    }
    

    As with all input events, your listener method should return true to capture the event and handle it, or pass that event on to super.onKeyDown() so that other controls can manage it.

    Input Event Reference

    The following table describes the buttons, the Android KeyEvent constants, and the default behavior of those buttons. None of the Amazon Fire TV remotes raises motion events (from the Android MotionEvent class).

    If you do not capture a specific input event the default behavior occurs.

    Note: Play/Pause, Rewind, and Fast Forward buttons might not be present on all remotes. Therefore, you should capture D-pad inputs.
    Button KeyEvent Default Behavior
    Home none Return the user to the Home screen. This is a system event and cannot be intercepted.
    Back KEYCODE_BACK Return the user to the previous operation or screen (Activity).
    Menu KEYCODE_MENU Invoke the Android context menu (OptionsMenu).
    Microphone (Search) (Voice Remote only) none Invoke the system voice search. This is a system event and cannot be intercepted.
    Select (D-pad Center) KEYCODE_DPAD_CENTER Select the user interface item with the current focus.
    Up (D-pad) KEYCODE_DPAD_UP Move the focus upward in the user interface.
    Down (D-pad) KEYCODE_DPAD_DOWN Move the focus downward in the user interface.
    Left (D-pad) KEYCODE_DPAD_LEFT Move the focus left in the user interface.
    Right (D-pad) KEYCODE_DPAD_RIGHT Move the focus right in the user interface.
    Play/Pause KEYCODE_MEDIA_PLAY_PAUSE Control media playback. Play/Pause is a toggle.
    Rewind KEYCODE_MEDIA_REWIND Rewind or skip backwards in media playback contexts.
    Fast Forward KEYCODE_MEDIA_FAST_FORWARD Fast Forward or skip ahead in media playback contexts.
    Channel up KEYCODE_CHANNEL_UP Changes the channel up one number.
    Channel down KEYCODE_CHANNEL_DOWN Changes the channel down one number.

    Last updated: Feb 19, 2026


    • Controllers Overview
    • Buttons
    • Capturing Input
    • Input Event Reference
    Follow us:

    Resources

    • Appstore developer blog

    • Technical documentation

    • Amazon Developer Huddle

    Supported devices

    • Amazon Fire TV

    • Fire tablets

    Other services & APIs

    • Small Business Accelerator Program

    • Developer Promotions Console

    • Alexa for video publishers

    • Login with Amazon

    • Frustration-Free Setup

    • Amazon Incentives API

    • Amazon Merch on Demand

    • Amazon Music

    • Fire TV Partners

    Support

    • Appstore Developer Community

    • FAQs

    • Contact us

    Legal

    • Terms & agreements

    • Privacy Notice

    amazon_developer_logo

    © 2010-2026, Amazon.com, Inc. or its affiliates. All Rights Reserved.

    Terms

    Amazon Developer Blog

    Contact Us

    You are visitor 01402503 — GeezerVison does not store the pages you look up.
    Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.