Coder Social home page Coder Social logo

prprod / ha-firemote Goto Github PK

View Code? Open in Web Editor NEW
324.0 7.0 63.0 3.78 MB

Apple TV, Amazon Fire TV, Fire streaming stick, Chromecast, NVIDIA Shield, onn., Roku, Xiaomi Mi, and Android TV remote control card for Home Assistant

License: GNU General Public License v3.0

amazon-fire home-assistant amazon-fire-stick home-automation amazon-fire-cube android nvidia nvidia-shield shield xiaomi

ha-firemote's Introduction

HA-Firemote

hacs_badge GitHub release (latest by date) Maintenance

Buy Me A Coffee

Need More Information? Check out this project's Wiki page

JVC 4K Fire TV Remote Fire TV Remote Style 6 Fire TV Remote Style 5 Fire TV Remote Style 4 Fire TV Remote Style 3 Fire TV Remote Style 2 Fire TV Remote Style 1
Apple TV Remote Style 3 Apple TV Remote Style 2 Apple TV Remote Style 1 NVIDIA Shield Remote 2 NVIDIA Shield Remote 1 Chromecast Remote
Roku Voice Remote Pro Roku Voice Remote Roku Simple Remote Hisense Roku TV Remote TCL Roku TV Remote Westinghouse Roku TV Remote
Xiaomi Mi Remote 2 onn. App Launcher 1 App Launcher 2


Introduction

Firemote is a custom Home Assistant card that is capable of controlling your media devices directly from any Home Assistant dashboard. The Firemote dashboard remotes are designed to look just like your physical remote controls, but they also contain TONS of customization options to choose from!

For a visual introduction, YouTube's @BeardedTinker created a fantastic video about this card!
https://www.youtube.com/watch?v=hbEHaspKvWs
Be sure to give him a sub and a like if you enjoy it!



Prerequisites

Which Amazon Fire device do I own?
Which NVIDIA Shield device do I own?




Download and Setup via Home Assistant UI & HACS

  1. Turn on ADB/USB debugging on your Amazon, onn., Shield, Xiaomi, Chromecast, or Android TV device - Video Tutorial
    • (does not apply to Apple TV or Roku users)
  2. Connect your device to Home Assistant:
    • Amazon, Chromecast, Shield, onn., Xiaomi, or Android TV users:
    • Apple TV Users
      • Set up the Home Assistant Apple TV Integration and connect it to your device. This will create a "Media Player" entity, and a "Remote" entity automatically.
    • Roku Users
      • Set up the Home Assistant Roku Integration and connect it to your device. This will create a "Media Player" entity, a "Remote" entity, and multiple others as well.
  3. Click on HACS and select Frontend
  4. In the lower right-hand corner, click the "+ EXPLORE & DOWNLOAD REPOSITORIES" button
  5. Search for, and click on "Firemote Card" then click the DOWNLOAD button in the lower right-hand corner
  6. You will be prompted to reload your browser. Click the RELOAD button to continue

OR Install Manually

  1. Turn on ADB/USB debugging on your Amazon, onn., Shield, Xiaomi, Chromecast, or Android TV device - Video Tutorial
    • (does not apply to Apple TV or Roku users)
  2. Connect your device to Home Assistant:
    • Amazon, Chromecast, Shield, onn., Xiaomi, or Android TV users:
    • Apple TV Users
      • Set up the Home Assistant Apple TV Integration and connect it to your device. This will create a "Media Player" entity, and a "Remote" entity automatically.
    • Roku Users
      • Set up the Home Assistant Roku Integration and connect it to your device. This will create a "Media Player" entity, a "Remote" entity, and multiple others as well.
  3. Download the contents of the dist/ directory, and place it in your Home Assistant /config/www directory
  4. Register the HA-Firemote.js file that you just installed as a new resource


How to use

  1. On any dashboard, click the +ADD CARD button
  2. Search by cards for "Firemote Card" and click on it - help: It's not showing up
  3. Under the Device Family dropdown, choose "Amazon Fire", "Apple TV", "Chromecast", "NVIDIA Shield", "onn.", "Roku", or "Xiaomi"
    • Amazon, Chromecast, Shield, onn., Xiaomi, or Android TV users:
      • Under Device Model, select the device model that you own. (Help: Which Amazon Fire or NVIDIA Shield device do I own?)
      • Under the Android Debug Bridge Entity dropdown, a list of your Android Debug Bridge integration entities will appear. Select the one you wish to control.
      • If you are setting up something other than an Amazon Fire device, select the Associated Android TV Remote Entity that points to the same device as your Android Debug Bridge entity. This step is not required, but it will greatly improve the speed and reliability of your Firemote card
    • Apple TV Users
      • Under Apple TV Device Model, select the device model that you own
      • Under Apple TV Media Player Entity, select the Apple TV Media Player entity you wish to control
      • Under Apple TV Remote Entity, select the Apple TV remote entity that is associated with the Apple TV Media Player Entity you chose in the previous step
    • Roku Users
      • Under Roku Device Model, select the device model that you own
      • Under Roku Media Player Entity, select the Roku Media Player entity you wish to control
      • Under Associated Roku Remote Entity, select the Roku remote entity that is associated with the Roku Media Player Entity you chose in the previous step
  4. Make any other optional changes to your card, then click "SAVE" Other options include changing the app launch buttons to apps that you use most often, or changing the style of your remote control to look like something completely different from what shipped with your device. You can even add names and adjust the size of your Firemote card too!

Config




Screenshots from Users

Dashboard
Click here to see the full gallery




YAML card setup options

Examples:

type: custom:firemote-card
entity: media_player.fire_tv_192_168_1_30
device_family: amazon-fire
device_type: fire_tv_4_series
compatibility_mode: default
app_launch_1: prime-video
app_launch_2: netflix
app_launch_3: hdmi_1
app_launch_4: youtube
hdmi_1: Cable
scale: 85
type: custom:firemote-card
entity: media_player.apple_tv_4k_2nd_gen
device_family: apple-tv
device_type: appletv-4k-gen2
compatibility_mode: default
apple_tv_remote_entity: remote.apple_tv_4k_2nd_gen
app_launch_1: apple-appstore
app_launch_2: apple-tv-arcade
app_launch_3: mlb
app_launch_4: nfl
visible_name_text: Game Room
name_position: top
button_overrides:
  mute-button:
    script: receiver_mute_script
type: custom:firemote-card
entity: media_player.android_tv_192_168_107_209
device_family: nvidia-shield
device_type: shield-tv-pro-2019
compatibility_mode: default
android_tv_remote_entity: remote.shield
scale: '100'
app_launch_1: netflix
app_launch_2: function-find-my-remote
app_launch_3: function-mute

Options:

Name Type Required Options Description
type string yes custom:firemote-card Type of the card
entity string yes any valid media player entity created in the Android Debug Bridge Integration, Apple TV Integration or the Roku Integration entity_id
device_family string yes amazon-fire
apple-tv
chromecast
nvidia-shield
onn
roku
xiaomi
Manufacturer Family
android_tv_remote_entity string no any valid entity created in the Android TV Remote Integration entity_id
Ignored in Apple TV and Roku configurations
apple_tv_remote_entity string yes* any valid remote entity created in the Apple TV Integration entity_id
* Required ONLY in Apple TV configurations
device_type string yes appletv-4k-gen3
appletv-4k-gen2
appletv-4k-gen1
appletv-gen4
appletv-gen3
appletv-gen2
appletv-gen1
chromecast-4k
fire_tv_toshiba_v35
fire_tv_4_series
fire_tv_jvc-4k-2021
fire_tv_cube_third_gen
fire_tv_cube_second_gen
fire_tv_cube_first_gen
fire_tv_stick_4k_max_second_gen
fire_tv_stick_4k_second_gen
fire_tv_stick_4k_max
fire_tv_3rd_gen
fire_tv_stick_lite
fire_stick_4k
fire_stick_second_gen
fire_stick_first_gen
fire_tv_second_gen_2015
onn-4k-streaming-box
onn-full-hd-streaming-stick
roku-streambar-pro
roku-streambar
roku-ultra-lt-2023
roku-ultra-lt
roku-ultra-2020
roku-streaming-stick-4k
roku-express-4k-plus
roku-express-4k
roku-express
roku-premiere
roku-generic-hisense
roku-generic-tcl
roku-generic-westinghouse
shield-tv-2017
shield-tv-pro-2017
shield-tv-2019
shield-tv-pro-2019
mi-box-s
xiaomi-tv-stick-4k
The type of device you are controlling
Which devices are supported?
Which device do I own?
compatibility_mode string no default
strong
event0
event1
event2
event3
event4
event5
event6
event7
event8
event9
event10
event11
event12
event13
Adjust this value only if your buttons are completely unresponsive

Ignored in Apple TV configurations

FAQ Available for additional help
defaultRemoteStyle_override string no AF1
AF2
AF3
AF4
AF5
AF6
AFJTV
AR1
AR2
AR3
CC1
NS1
NS2
ON1
RVRP
RVR
RSR
RHR
RTR
RWR
XM1
XM2
AL1
AL2
Optionally select a style of remote different from the one that shipped with your device
app_launch_1
app_launch_2
app_launch_3
app_launch_4
app_launch_5
etc...
string no See App Launch Button Customization section for options Quick launch apps customization
hdmi_1
hdmi_2
hdmi_3
hdmi_4
string no Personalized name for this HDMI input The name entered here will appear on the button (truncated to 8 characters to fit)
scale integer no Any positive number Change the size of this card by percentage. The default size is 100
custom_launchers object no Create your own app launcher buttons Details are in the Launcher Button Customizations of the README.md file
button_overrides object no Button name and HA script name are required. Details are in the Button Overrides section of the README.md file
visible_name_text string no Any text Optional device label for your firemote
name_position string no hidden
bottom
top
Position for your optional device label
visible_name_text_color hex color value no Any hex color value e.g.: #ffffff Optional text color for the device name label
show_version_number bool no true
false
Optionally display the Firemote Version number on the card
hide_button_highlights bool no true
false
Optionally hide the status higlighting decorations for the power, home, and play/pause buttons
use_theme_background bool no true
false
Optionally hide the AL1 or AL2 remote style's background color to let the HA theme color show
hide_button_group_frame bool no true
false
Optionally hide the frames around the button groups when using AL1 or AL2
useCustomSkin bool no true
false
Toggle a custom background skin color on or off when using AL1 or AL2
skin hex color value no Any hex color value e.g.: #ffffff background skin color for AL1 or AL2
dpad_style string no amazon-fire
apple-tv-black
apple-tv-silver
chromecast
xiaomi
minimal
Dpad style options for AL1 or AL2



App Launcher Buttons

Custom app launch buttons are not limited to the few that came printed on your remote control. In fact, the possibilities are endless! If you don't see your favorite app on this list, you can click on the Issues button on the top of this page, click 'New Issue' and then click the "Get Started" button next to the "App Shortcut Request" option. There are currently over 230 options available, and the list just keeps growing.




Launcher Button Customizations

You are not limited to only using the launcher buttons that come with Firemote. Through YAML, you can define your own working buttons in one of two ways: defining a script or constructing a service call.

Example:

type: custom:firemote-card
entity: media_player.fire_tv_192_168_107_88
device_family: amazon-fire
device_type: fire_tv_4_series
compatibility_mode: default
custom_launchers:
  - friendly_name: flash the light
    label: FLASH
    image_path: https://upload.wikimedia.org/wikipedia/commons/2/28/Flash-outlined-thin-circular-button.svg
    color: red
    background: white
    script: flashthelablight
  - friendly_name: Red Lamp
    label: red
    icon: mdi:lamp
    color: red
    background: blue
    service: light.toggle
    target:
      entity_id: light.bedroom_lamp
    data:
      color_name: red
      transition: 2
      brightness_pct: 100
app_launch_1: customlauncher flash the light
app_launch_2: customlauncher Red Lamp
scale: '110'

YAML usage:

Key Value Required Description
friendly_name string yes This is the name that will appear in the GUI app selector dropdown
label string no The text that will appear on the button
icon mdi icon name no a valid mdi icon name
ex: mdi:lamp
image_path url no path to an image resource
color css color value no custom color for your text label or your mdi icon
ex: white
ex: '#ff0000'
background css color value no custom color for your button's background
ex: green
ex: '#ffffff'
script string yes if calling a script The name of your Home Assistant script
service string yes if not using a script The name of the Home Assistant service you want to call
target object yes if not using a script Define the entity for your service to act upon
data object no optional parameters for your service call

Once defined, a custom button can be assigned to a Firemote button location through the YAML config itself, or it can be selected through the Visual Editor dropdown

image




Button Overrides

Button Overrides can be very useful for customization. These overrides can be used to call a Home Assistant service directly, run a script, or hide a button on your remote. These options are accomplished through your Firemote's YAML configuration.

Consider this example:

button_overrides:
  mute-button:
    script: receiver_mute_script
  volume-down-button:
    script: receiver_volume_down_script
  volume-up-button:
    service: light.toggle
    target:
      entity_id: light.bedroom_lamp
    data:
      color_name: red
      transition: 2
      brightness_pct: 100
  power-button:
    hidden: true

Valid button names are as follows:

  • app-switch-button
  • apps-button
  • back-button
  • blue-button
  • center-button
  • channel-down-button
  • channel-up-button
  • down-button
  • fastforward-button
  • green-button
  • hamburger-button
  • headset-button
  • home-button
  • input-button
  • keyboard-button
  • left-button
  • live-button
  • mute-button
  • num1-button
  • num2-button
  • num3-button
  • num4-button
  • num5-button
  • num6-button
  • num7-button
  • num8-button
  • num9-button
  • num0-button
  • options-button
  • patchwall-button
  • playpause-button
  • power-button
  • profile-button
  • programmable-one-button
  • programmable-two-button
  • red-button
  • restart-button
  • replay-button
  • rewind-button
  • right-button
  • search-button
  • settings-button
  • sleep-button
  • subtitle-button
  • tv-button
  • up-button
  • voice-button
  • volume-down-button
  • volume-up-button
  • yellow-button



FAQ

Additional FAQs can be found here in the Firemote Wiki

I installed the Firemote Card, but I can't find it to add in my dashboard

This tends to happen when your Home Assistant UI needs a refresh. The best way to do this is through force clearing your Home Assistant cache and trying again.

Why won't the volume, mute, and/or power buttons work from my Firemote card?

In many cases, your remote control sends commands for volume, mute, and power to your TV or receiver using the IR emitter on the front of the physical remote control. These IR commands cannot be sent in a traditional Home Assistant setup.

If your player device AND the device they are connected to both offer CEC options, then activating CEC will allow the Firemote card controls to work as expected. Click here to learn more about how to configure CEC to work with your Firemote. Another option might be to control your devices (TVs, Receivers, etc.) using Button Overrides. If you can control those kinds of devices through Home Assistant, you can write a HA script and attach that script to a button on your Firemote.

Due to the way the Apple TV Home Assistant integration is built, an Apple TV style Firemote cannot properly simulate a "Mute" button press. A Button Override will be required in this case.

Why don't any of the buttons on the Firemote work at all?

  • If your Firemote used to work perfectly, and some or all of the buttons suddenly stopped working, it could be that all you need to do is press one button (any button) on your Fire TV device's physical remote control. After doing that step, try your Firemote again. This step most commonly fixes the issue in Amazon Fire devices after they are powered on, restarted, or updated.
  • Check your card configuration:
    • Is the correct Android device selected?
    • Is the correct Device Family selected?
    • Is the correct Device type selected?
    • If you are using one, is the correct matching Android TV Remote Entity selected?
    • Is Compatibility Mode set to Default?
  • If the Default Compatibility Mode is not working on your device, and you've checked every other step, slowly choose "event0", "event1", etc. and test your remote buttons under each mode. One of these will work.

I own a device that isn't a part of any of the existing device families, can it be added?

Yes! In fact, there is a poll in the discussion group called Vote for what gets added next where the community can help decide which new device family will gain Firemote support next. If your device isn't on the ballot, no problem! Just vote for "Other" and write the name of your device in the discussion thread below.

Why isn't the model of my Amazon Fire Device supported?

There are over 40 kinds of Amazon Fire devices, so it will take a while to gain properly tested support for all of them. If Firemote doesn't support your Amazon Fire device yet, you can still use Firemote! Simply choose a supported device that is similar to the one that you have (preferably a remote that looks the same as your physical remote), then you can test different compatibility modes to find out which one works the best.

The BEST option for everyone is if you would submit a request to have your device added! It's simple! Just open a new Amazon Fire TV Device Support Request, fill out the quick and easy form, and you're done!

Why do only some of the Firemote buttons for the Apps that came with my Apple TV work properly, while others don't?

Apple TV app shortcuts work simply by passing the name of the app to the apple tv remote entity. Firemote is built and tested against an environment that uses English as the primary language. In some scenarios, built-in Apple TV apps use language app specific names, which is why asking it to open the English version of that app's name does not work. In order to overcome this, I request that you open a new language support request so we can work together and make all of these buttons work as intended.

I want a shortcut button for an app I use frequently, but it's not on the list. Can it be added?

Absolutely! Simply ask! Here's how: From the Issues menu, simply start a new App Shortcut Request. If you absolutely cannot wait, you can also build your own launcher button using YAML.

How do I report a problem, make a request, or talk about stuff?

Click on the Issues button at the top of this page, click 'New Issue', and select the appropriate category for your needs. You're also welcome to join or begin a new discussion if that suits your needs.

How can I contribute?

  • Did you install Firemote through HACS? If you did, and it was easy, visit the HACS Github Page and give their project a star! There should be thousands, but for some reason they don't have many. Give them some love!
  • Do you speak a language other than English that is not already supported? You can help out the community by filling out a new language support request.
  • Take a look at the current discussions board to see if anything is tagged with "Help Wanted".
  • Buy Me A Coffee
  • Since it is personally expensive for me to purchase, evaluate, and develop integrations for all of your requests, I've set up an Amazon Wish List (US) and an Amazon Wish List (DE) for any of you who are feeling incredibly generous and want to send me something that I don't already own.

ha-firemote's People

Contributors

comicmuse avatar mdjward avatar prprod avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

ha-firemote's Issues

[New Device Support]: Fire TV Cube Gen 1

Device Name

Fire TV Cube Gen 1

Which compatability mode event number works BEST with your device?

None

Additional Comments (optional)

No response

Interrogation ADB Response (optional but EXTREMELY helpful)

adb_response: INPUT MANAGER (dumpsys input)

Input Manager State:
Interactive: true
System UI Visibility: 0x0
Pointer Speed: 0
Pointer Gestures Enabled: true
Show Touches: false

Event Hub State:
BuiltInKeyboardId: -2
Devices:
-1: Virtual
Classes: 0x40000023
Path:
Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
KeyLayoutFile: /system/usr/keylayout/Generic.kl
KeyCharacterMapFile: /system/usr/keychars/Virtual.kcm
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
1: cec_input
Classes: 0x00000001
Path: /dev/input/event2
Descriptor: 02b1ce58713e0e531eab61b0742baac6893ff49f:1b8e0cec
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0010, vendor=0x1b8e, product=0x0cec, version=0x0001
KeyLayoutFile: /system/usr/keylayout/Generic.kl
KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
2: aml_keypad
Classes: 0x00000800
Path: /dev/input/event0
Descriptor: 485d69228e24f5e46da1598745890b214130dbc4:00010001
Location: keypad/input0
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0010, vendor=0x0001, product=0x0001, version=0x0100
KeyLayoutFile:
KeyCharacterMapFile:
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
3: gpio_keypad
Classes: 0x00000001
Path: /dev/input/event1
Descriptor: d2c52ff0f656fac4cd7b7a118d575e0109a9fe1c:00010001
Location: gpio_keypad/input0
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0010, vendor=0x0001, product=0x0001, version=0x0100
KeyLayoutFile: /system/usr/keylayout/Vendor_0001_Product_0001.kl
KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
4: amazon_touch
Classes: 0x00000014
Path: /dev/input/event3
Descriptor: 185733e0df071e21edd860dd6224a1f9f378c689:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0005, vendor=0x0000, product=0x0000, version=0x0008
KeyLayoutFile:
KeyCharacterMapFile:
ConfigurationFile: /system/usr/idc/amazon_touch.idc
HaveKeyboardLayoutOverlay: false
5: kcmouse
Classes: 0x80000008
Path: /dev/input/event4
Descriptor: 3b975ed12e4cb4357a995906d1f9c74d8457fd71:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0005, vendor=0x0000, product=0x0000, version=0x0008
KeyLayoutFile:
KeyCharacterMapFile:
ConfigurationFile:
HaveKeyboardLayoutOverlay: false

Input Reader State:
Device -1: Virtual
Generation: 2
IsExternal: false
HasMic: false
Sources: 0x00000301
KeyboardType: 2
Keyboard Input Mapper:
Parameters:
HasAssociatedDisplay: false
OrientationAware: false
HandlesKeyRepeat: false
KeyboardType: 2
Orientation: 0
KeyDowns: 0 keys currently down
MetaState: 0x0
DownTime: 0
Device 1: cec_input
Generation: 8
IsExternal: false
HasMic: false
Sources: 0x00000101
KeyboardType: 1
Keyboard Input Mapper:
Parameters:
HasAssociatedDisplay: false
OrientationAware: false
HandlesKeyRepeat: false
KeyboardType: 1
Orientation: 0
KeyDowns: 0 keys currently down
MetaState: 0x0
DownTime: 0
Device 2: aml_keypad
Generation: 6
IsExternal: false
HasMic: false
Sources: 0x00004002
KeyboardType: 0
Motion Ranges:
PRESSURE: source=0x00004002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
External Stylus Input Mapper:
Raw Stylus Axes:
Pressure: unknown range
Stylus State:
When: 177980064606978048
Pressure: 0.000000
Button State: 0x00000000
Tool Type: 229864781
Device 3: gpio_keypad
Generation: 4
IsExternal: false
HasMic: false
Sources: 0x00000101
KeyboardType: 1
Keyboard Input Mapper:
Parameters:
HasAssociatedDisplay: false
OrientationAware: false
HandlesKeyRepeat: false
KeyboardType: 1
Orientation: 0
KeyDowns: 0 keys currently down
MetaState: 0x0
DownTime: 0
Device 4: amazon_touch
Generation: 38
IsExternal: false
HasMic: false
Sources: 0x0000d002
KeyboardType: 0
Motion Ranges:
X: source=0x0000d002, min=0.000, max=1919.000, flat=0.000, fuzz=0.000, resolution=0.000
Y: source=0x0000d002, min=0.000, max=1079.000, flat=0.000, fuzz=0.000, resolution=0.000
PRESSURE: source=0x0000d002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
Touch Input Mapper:
Parameters:
GestureMode: multi-touch
DeviceType: touchScreen
AssociatedDisplay: hasAssociatedDisplay=true, isExternal=false
OrientationAware: true
Raw Touch Axes:
X: min=0, max=1919, flat=0, fuzz=0, resolution=0
Y: min=0, max=1079, flat=0, fuzz=0, resolution=0
Pressure: unknown range
TouchMajor: unknown range
TouchMinor: unknown range
ToolMajor: unknown range
ToolMinor: unknown range
Orientation: unknown range
Distance: unknown range
TiltX: unknown range
TiltY: unknown range
TrackingId: unknown range
Slot: unknown range
Calibration:
touch.size.calibration: none
touch.size.scale: 40.000
touch.size.bias: 0.000
touch.size.isSummed: false
touch.pressure.calibration: none
touch.pressure.scale: 0.013
touch.orientation.calibration: none
touch.distance.calibration: none
touch.coverage.calibration: none
Affine Transformation:
X scale: 1.000
X ymix: 0.000
X offset: 0.000
Y xmix: 0.000
Y scale: 1.000
Y offset: 0.000
Viewport: displayId=0, orientation=0, logicalFrame=[0, 0, 1920, 1080], physicalFrame=[0, 0, 3840, 2160], deviceSize=[3840, 2160]
SurfaceWidth: 1920px
SurfaceHeight: 1080px
SurfaceLeft: 0
SurfaceTop: 0
SurfaceOrientation: 0
Translation and Scaling Factors:
XTranslate: 0.000
YTranslate: 0.000
XScale: 1.000
YScale: 1.000
XPrecision: 1.000
YPrecision: 1.000
GeometricScale: 1.000
PressureScale: 0.000
SizeScale: 0.000
OrientationScale: 0.000
DistanceScale: 0.000
HaveTilt: false
TiltXCenter: 0.000
TiltXScale: 0.000
TiltYCenter: 0.000
TiltYScale: 0.000
Last Raw Button State: 0x00000000
Last Raw Touch: pointerCount=0
Last Cooked Button State: 0x00000000
Last Cooked Touch: pointerCount=0
Stylus Fusion:
ExternalStylusConnected: true
External Stylus ID: -1
External Stylus Data Timeout: 9223372036854775807
External Stylus State:
When: 9223372036854775807
Pressure: 0.000000
Button State: 0x00000000
Tool Type: 0
Device 5: kcmouse
Generation: 39
IsExternal: true
HasMic: false
Sources: 0x00002002
KeyboardType: 0
Motion Ranges:
X: source=0x00002002, min=0.000, max=1919.000, flat=0.000, fuzz=0.000, resolution=0.000
Y: source=0x00002002, min=0.000, max=1079.000, flat=0.000, fuzz=0.000, resolution=0.000
PRESSURE: source=0x00002002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
VSCROLL: source=0x00002002, min=-1.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
Cursor Input Mapper:
Parameters:
HasAssociatedDisplay: true
Mode: pointer
OrientationAware: false
XScale: 1.000
YScale: 1.000
XPrecision: 1.000
YPrecision: 1.000
HaveVWheel: true
HaveHWheel: false
VWheelScale: 1.000
HWheelScale: 1.000
Orientation: 0
ButtonState: 0x00000000
Down: false
DownTime: 0
Configuration:
ExcludedDeviceNames: []
VirtualKeyQuietTime: 0.0ms
PointerVelocityControlParameters: scale=1.000, lowThreshold=500.000, highThreshold=3000.000, acceleration=3.000
WheelVelocityControlParameters: scale=1.000, lowThreshold=15.000, highThreshold=50.000, acceleration=4.000
PointerGesture:
Enabled: true
QuietInterval: 100.0ms
DragMinSwitchSpeed: 50.0px/s
TapInterval: 150.0ms
TapDragInterval: 300.0ms
TapSlop: 20.0px
MultitouchSettleInterval: 100.0ms
MultitouchMinDistance: 15.0px
SwipeTransitionAngleCosine: 0.3
SwipeMaxWidthRatio: 0.2
MovementSpeedRatio: 0.8
ZoomSpeedRatio: 0.3

Input Dispatcher State:
DispatchEnabled: 1
DispatchFrozen: 0
FocusedApplication: name='AppWindowToken{17c92db token=Token{8a78bd5 ActivityRecord{6db588c u0 com.amazon.tv.settings.v2/.tv.device.DeviceActivity t12}}}', dispatchingTimeout=5000.000ms
FocusedWindow: name='Window{17d0bd8 u0 com.amazon.tv.settings.v2/com.amazon.tv.settings.v2.tv.device.DeviceActivity}'
TouchStates:
Windows:
0: name='Window{4017a89 u0 com.amazon.vizzini}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01000108, type=0x000007da, layer=241005, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=4195, ownerUid=10158, dispatchingTimeout=5000.000ms
1: name='Window{8e4eac7 u0 com.amazon.vizzini}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01000100, type=0x000007da, layer=241000, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=4195, ownerUid=10158, dispatchingTimeout=5000.000ms
2: name='Window{341d1de u0 KeyguardScrim}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01110900, type=0x000007ed, layer=141000, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=3628, ownerUid=1000, dispatchingTimeout=5000.000ms
3: name='Window{17d0bd8 u0 com.amazon.tv.settings.v2/com.amazon.tv.settings.v2.tv.device.DeviceActivity}', displayId=0, paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x83810120, type=0x00000001, layer=21010, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=22626, ownerUid=10154, dispatchingTimeout=5000.000ms
4: name='Window{2a66fb u0 com.nst.iptvsmarterstvbox/com.nst.iptvsmarterstvbox.view.activity.NewDashboardActivity}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x81810520, type=0x00000001, layer=21005, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=6409, ownerUid=10200, dispatchingTimeout=5000.000ms
5: name='Window{5090e81 u0 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x83810120, type=0x00000001, layer=21000, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=16861, ownerUid=10144, dispatchingTimeout=5000.000ms
MonitoringChannels:
0: 'WindowManager (server)'
RecentQueue: length=10
KeyEvent, age=119447.5ms
KeyEvent, age=119447.5ms
KeyEvent, age=117358.5ms
KeyEvent, age=117358.5ms
KeyEvent, age=115226.5ms
KeyEvent, age=115226.5ms
KeyEvent, age=113145.5ms
KeyEvent, age=113145.5ms
KeyEvent, age=107355.5ms
KeyEvent, age=107355.5ms
PendingEvent:
InboundQueue:
ReplacedKeys:
Connections:
0: channelName='WindowManager (server)', windowName='monitor', status=NORMAL, monitor=true, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
1: channelName='341d1de KeyguardScrim (server)', windowName='Window{341d1de u0 KeyguardScrim}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
2: channelName='17d0bd8 com.amazon.tv.settings.v2/com.amazon.tv.settings.v2.tv.device.DeviceActivity (server)', windowName='Window{17d0bd8 u0 com.amazon.tv.settings.v2/com.amazon.tv.settings.v2.tv.device.DeviceActivity}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
3: channelName='8e4eac7 com.amazon.vizzini (server)', windowName='Window{8e4eac7 u0 com.amazon.vizzini}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
4: channelName='4017a89 com.amazon.vizzini (server)', windowName='Window{4017a89 u0 com.amazon.vizzini}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
5: channelName='2a66fb com.nst.iptvsmarterstvbox/com.nst.iptvsmarterstvbox.view.activity.NewDashboardActivity (server)', windowName='Window{2a66fb u0 com.nst.iptvsmarterstvbox/com.nst.iptvsmarterstvbox.view.activity.NewDashboardActivity}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
6: channelName='5090e81 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext (server)', windowName='Window{5090e81 u0 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
AppSwitch: not pending
Configuration:
KeyRepeatDelay: 50.0ms
KeyRepeatTimeout: 500.0ms

Keyboard Layouts:
"English (UK) - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_en_GB
"French - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_fr_FR
"Italian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_it_IT
"English (US) - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_en_US
"Spanish (Latin) - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_es_ES
"German - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_de_DE
"Turkish - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_tr_TR
"Danish - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_da_DK
"Finnish - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_fi_FI
"Swiss French - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_fr_CH
"Slovak - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_sk_SK
"Russian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_ru_RU
"Slovenian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_sv_SE
"Croatian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_hr_HR
"Norwegian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_nb_NO
"Swiss German - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_de_CH
"Czech - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_cs_CZ
"French (Canada) - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_fr_CA
"Ukrainian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_uk_UA
"Bulgarian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_bg_BG
"Portuguese - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_pt_PT
"Hungarian - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/locale_hu_HU
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_05ac_pt_PT
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_04f2_fr_FR
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_05ac_fr_FR
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_045e_fr_FR
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_046d_fr_FR
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_04f2_de_DE
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_05ac_de_DE
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_045e_de_DE
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_046d_de_DE
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_05ac_it_IT
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_045e_it_IT
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_046d_it_IT
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_04f2_es_ES
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_05ac_es_ES
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_045e_es_ES
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_046d_es_ES
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_04f2_en_GB
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_05ac_en_GB
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_045e_en_GB
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_046d_en_GB
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_04f2_en_US
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_045e_ja_JP
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_05ac_ja_JP
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_1949_en_GB
" - Fire keyboard layout": com.amazon.fireinputdevices/com.amazon.fireinputdevices.FireInputDeviceReceiver/vendor_0171_en_GB

PersistentDataStore
mLoaded=true
mDirty=false
InputDeviceStates:
hdmi_input: null
device_class: tv
friendly_name: Fire TV 192.168.20.185
supported_features: 22961
source_list: com.amazon.ceviche, com.amazon.diode, com.amazon.client.metrics, com.amazon.imp, android.ext.services, com.android.proxyhandler, com.amazon.vizzini, com.amazon.tcomm, com.amazon.tv.devicecontrol, com.amazon.whad, com.amazon.tv.ime, com.amazon.tv.alexaalerts, amazon.speech.davs.davcservice, logcat, com.amazon.kso.blackbird, com.amazon.connectivitycontroller, com.amazon.device.rdmapplication, Amazon Video, com.amazon.whisperjoin.middleware.np, IPTV Smarters Pro, com.amazon.alexamediaplayer.runtime.ftv, com.amazon.avl.stark, com.amazon.comms.knightcontacts, com.amazon.discoveryservice.core.android, com.amazon.whisperlink.core.android, com.amazon.uxcontrollerservice, Disney+, Plex, com.amazon.alexa.externalmediaplayer.fireos, com.amazon.cardinal, com.amazon.webview.chromium:AWVArcusServiceProcess, com.amazon.webview.chromium:AWVMetricsProcess, com.amazon.tv.launcher, com.amazon.wirelessmetrics.service, com.amazon.prism.android.service:remote, com.amazon.tv.livetv, com.amazon.tv.settings.v2, com.amazon.ftv.profilepicker, com.amazon.bueller.photos, com.amazon.tahoe, com.amazon.tv.notificationcenter, com.amazon.logan, FireTV Store, com.android.providers.downloads, Prime Video (FireTV), com.amazon.aca, com.amazon.device.software.ota
app_id: com.amazon.tv.settings.v2
source: com.amazon.tv.settings.v2
entity_picture: /api/media_player_proxy/media_player.fire_tv_192_168_20_185?token=c9558ecdaadea0499b91c14bdd7cefae98bf198e63bfc11debd3eb0ab3807188&cache=1672887779.119589

Allow override of buttons in YAML + support for FireTV cube

This card (or any others) don't seem to work with my FireTV cube...

I was able to make a different card work by overriding the buttons:

Is it possible to
-add support to override the buttons?
-add support for FireTV cube (without overriding the buttons)

Attached is the YAML for firetv-card for inspiration and the androidtv.adb_command sendevent's that made my stuff work.
I'm not sure if this is unique to my fire-tv cube or everyone's?!

type: custom:firetv-card
theme: Backend-selected
tv: false
entity: media_player.fire_tv_192_168_2_27
name: FireTV
select:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 458840 && sendevent /dev/input/event5 1 96
      1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5 4 4
      458840 && sendevent /dev/input/event5 1 96 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
up:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 458834 && sendevent /dev/input/event5 1
      103 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 458834 && sendevent /dev/input/event5 1 103 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
down:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 458833 && sendevent /dev/input/event5 1
      108 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 458833 && sendevent /dev/input/event5 1 108 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
right:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 458831 && sendevent /dev/input/event5 1
      106 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 458831 && sendevent /dev/input/event5 1 106 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
left:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 458832 && sendevent /dev/input/event5 1
      105 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 458832 && sendevent /dev/input/event5 1 105 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
volume_mute:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786658 && sendevent /dev/input/event5 1
      113 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786658 && sendevent /dev/input/event5 1 113 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
volume_up:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786665 && sendevent /dev/input/event5 1
      115 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786665 && sendevent /dev/input/event5 1 115 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
back:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 458993 && sendevent /dev/input/event5 1
      158 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 458993 && sendevent /dev/input/event5 1 158 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
volume_down:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786666 && sendevent /dev/input/event5 1
      114 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786666 && sendevent /dev/input/event5 1 114 0 && sendevent
      /dev/input/event5 0 0 0 && sendevent /dev/input/event5 4 4 786666 &&
      sendevent /dev/input/event5 1 114 1 && sendevent /dev/input/event5 0 0 0
      && sendevent /dev/input/event5 4 4 786666 && sendevent /dev/input/event5 1
      114 0 && sendevent /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
menu:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786496 && sendevent /dev/input/event5 1
      139 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786496 && sendevent /dev/input/event5 1 139 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
reverse:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786612 && sendevent /dev/input/event5 1
      168 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786612  && sendevent /dev/input/event5 1 168 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
forward:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786611 && sendevent /dev/input/event5 1
      208 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786611 && sendevent /dev/input/event5 1 208 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
pauseplay:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786637 && sendevent /dev/input/event5 1
      164 1 && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786637 && sendevent /dev/input/event5 1 164 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
home:
  service: androidtv.adb_command
  service_data:
    command: >-
      sendevent /dev/input/event5 4 4 786979 && sendevent /dev/input/event5 1
      172 1  && sendevent /dev/input/event5 0 0 0 && sendevent /dev/input/event5
      4 4 786979 && sendevent /dev/input/event5 1 172 0 && sendevent
      /dev/input/event5 0 0 0
    entity_id: media_player.fire_tv_192_168_2_27
``

[New App Shortcut]: Zattoo

App Name

Zattoo

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

Would love it to work on the "TV" button on the App. When I click that button on the physical remote, it opens the Zattoo app, as it's the default TV app on my firetv.

[New App Shortcut]: ESPN

App Name

ESPN for Fire TV

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

No response

Option to turn hide power and volume?

First, thanks for putting this together.

Might it be possible to add an option to hide the volume controls and the power button for those who can't use that? The override option is nice, but that might be confusing for some members of the house.

Telenet tv app

App Name

Telenet tv

Device Platform

NVIDIA Shield

Is this app downloadable through you device's "store" app?

  • Yes

Optional Comments

App_id: be.telenet.tv
logo telenet tv

Device selection assumes remote version

Describe the bug

Hello-

I have a Fire TV Stick 3rd Gen with 3rd Gen remote.
The visual config selector only gives me the option to use a 2nd gen remote, without any shortcuts.

Product page for the "supported" 3rd gen stick using 2nd gen remote https://www.amazon.com/dp/B07ZZVX1F2
image

The same stick but newer 3rd gen remote:
https://www.amazon.com/dp/B08C1W5N87
image

And, as the specs table indicates, the remote generations are compatible with a variety of models.

There should be more flexibility in allowing the users to choose whichever remote style is supported for their device - particularly when extra buttons are on the line :)

Thanks!

To Reproduce

N/A

Expected Behavior

N/A

Which Fire TV Device do you own?

3rd Gen 2020 Fire TV Stick
3rd Gen Alexa Voice Remote

Troubleshooting Steps Completed

No response

Additional context

No response

Error in YAML card setup options

I don't know if this is the correct way to report this issue.

In the YAML card setup options section of the Read Me is a typo.
You wrote "type: cusom:firemote-card" with a missing "t" in custom.

Fire TV Stick 4k Max - Volume and Mute buttons

Describe the bug
After installing the Android TV Integration and this HA-Firemote card, all other buttons work on my Firemote card, however the volume up, volume down and mute buttons do not perform any actions. I am using the Fire TV Stick 4k Max and have selected this as the device type, and am using default compatability mode.

To Reproduce
Steps to reproduce the behavior:

  1. Go to 'HA-Firemote card in dashboard'
  2. Click on any of 'volume up', 'volume down' or 'mute' buttons on screen remote
  3. Nothing happens

Expected behavior
Volume should increase, decrease or mute accordingly

Screenshots
If applicable, add screenshots to help explain your problem.

Smartphone (please complete the following information):

  • Device: [Samsung S21+]
  • OS: [Android 12]
  • Android HA Companion app
  • Version [2022.10.2-full]

Additional context
The same behaviour happens on iPhone companion app also.

[New App Shortcut]: WaipuTV

App Name

WaipuTV

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

No response

[New App Shortcut]: DAZN

App Name

DAZN

Device Platform

both

Is this app downloadable through you device's "store" app?

  • Yes

Optional Comments

No response

[New App Shortcut]: Zattoo

App Name

Zattoo

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

No response

[New App Shortcut]: CNN

App Name

CNN

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

No response

[New App Shortcut]: Kodi

App Name

Kodi

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

No response

[New App Shortcut]: Magenta TV

App Name

Magenta TV (German IP TV Streaming App)

Device Platform

Android TV

Is this app downloadable through you device's "store" app?

  • Yes

Optional Comments

The Magenta TV App is an IP TV Streaming application provided by the "deutsche Telekom".
Magenta TV is part of the Internet Serivce provided by the telekom - and usually you will get a receiver from the telekom.
But it is also possible, to install the same app on any other android tv based device...
This would allow you to reduce the amount of devices, since you don't need to implement another device which is usually not possible to integrate into smarthome systems like HomeAssistant.

Link to the App: https://play.google.com/store/apps/details?id=de.telekom.magentatv.atv&gl=DE

[New App Shortcut]: Ott Navigator

App Name

Ott Navigator

Device Platform

Fire Cube, Google TV, Xiaomi Mi box

Is this app downloadable through you device's "store" app?

  • Yes

Optional Comments

Ott navigator is not there in the Amazon store but its owner does allow installation on Fire devices.

[New App Shortcut]: Three Now (NZ)

App Name

Three Now (NZ)

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

    "threenow": {
      "button": "Three Now",
      "friendlyName": "Three Now (NZ)",
      "appName": "com.mediaworks.android.tv",
      "className": "threenowButton",
      "androidName": "com.mediaworks.android.tv",
      "adbLaunchCommand": "adb shell am start -n com.mediaworks.android.tv/nz.co.mediaworks.vod.ui.splash.TVSplashActivity" },

          .threenowButton {
            font-size: calc(var(--sz) * 1rem);
            color: #fff;
            font-weight: bold;
            background: #ff004f;
          }
          .threenowButton:active, .threenowButton.appActive {
            color: #fff;
            box-shadow: 0 0 calc(var(--sz) * 0.857rem) calc(var(--sz) * 0.142rem) rgb(255 255 255 / 20%);
            text-shadow: 0 0 calc(var(--sz) * 0.2857rem) black;
          }

[New Device Support]: Fire TV - 3rd Gen (2017)

Device Name

Fire TV - 3rd Gen (2017)

Which compatability mode event number works BEST with your device?

event3

Additional Comments (optional)

Of those event numbers, only event3 works for some of the buttons. The following buttons work:
The directional navigation buttons (left, right, up, down). The options button (hamburger menu) works. The home button works, and the return button (button with a curved arrow pointing left) works. When playing video, the play/pause works and rewind works.

The following buttons do not work.
The center of the direction pad (select button) does not work. When playing video, the fast forward does not work.

If instead of an event, I choose Strong (Slow), every button works albeit slowly as expected.

Interrogation ADB Response (optional but EXTREMELY helpful)

When I ran the ADB command as:

service: androidtv.adb_command
data:
  command: " adb shell dumpsys input"
target:
  entity_id: media_player.fire_tv_192_168_1_129

I only get the following for the entity:
adb_response: /system/bin/sh: adb: not found

NVIDIA Shield: volume buttons don't work

Describe the bug

The two volume buttons (+/-) don't work. I added the Mute button to test it and that one works.

Tried on NVIDIA SHIELD TV Pro 2019 and NVIDIA SHIELD TV 2019 with same results.

To Reproduce

My configuration:

image

Expected Behavior

Volume control when pressing the two buttons

Which Fire TV Device do you own?

  • NVIDIA Shield TV Pro 2019
  • NVIDIA Shield TV 2019

Troubleshooting Steps Completed

No response

Additional context

No response

[New App Shortcut]: DirecTV Stream

App Name

Direct Tv Stream

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

I want to select Direct Tv stream from your remote

[New Device Support]: Nokia Streaming Box

Device Name

Nokia Streaming Box 8000

Which compatability mode event number works BEST with your device?

None

Additional Comments (optional)

should be similar to SHIELD - it is a basic Android TV ...
Currently, Shield seems to work pretty fine - it would only be nice to have a matching image of the remote controller :)
[I don't know how / where I can create the image resources]

image

Interrogation ADB Response (optional but EXTREMELY helpful)

No response

[New App Shortcut]: Surfshark VPN

App Name

Surfshark VPN

Device Platform

Amazon Fire(stick 4k max)

Is this app downloadable through you device's "store" app?

  • Yes

Optional Comments

No response

[New App Shortcut]: CyberGhost

App Name

Cyber Ghost

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

I use this app all the time to be able to watch TV.

[New App Shortcut]: MyCanal

App Name

MyCanal

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

Hello,

Thanks a lot for this card. Very nice and good job

The app "MyCanal" is quite popular in France.
Here is the app_id :

com.canal.android.canal

And this is the official website of the webapp version
https://www.canalplus.com/

Thanks again

Feature request: allow mapping buttons to existing HA services/automations

Feature Request:
My amazon remote sends IR codes to my receiver(s) to change the volume/mute/power on.
My receiver(s) are also in HA and it controls the volume/power. it would be great to be able to map volume up/down/mute buttons to the HA services
media_player.volume.down
media_player.volume.up
media_player.volume.mute
would need to be able to input a specific entity as I have a receiver on each floor of the house

Feature Suggestion:
additionally the power button could be mapped to trigger an automation which could turn on tv's, receivers, on/off lights. etc

[New App Shortcut]: NordVPN

App Name

NordVPN

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

Just a widely used vpn provider as I’m sure there are many others.
Any way to be able to add apps ourselves?

[New App Shortcut]: Emby

App Name

Emby

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

No response

[Existing App Shortcut]:

App Name

Paramount+

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

Hello Doug,

I found a difference here in Germany, Paramount+ has other configuration, I think.

source_list: com.cbs.ca
app_id: com.cbs.ca
source: com.cbs.ca
adb_response: Starting: Intent { cmp=com.cbs.ott/com.cbs.app.tv.ui.activity.DeepLinkActivity }
Error type 3
Error: Activity class {com.cbs.ott/com.cbs.app.tv.ui.activity.DeepLinkActivity} does not exist.
hdmi_input: null
device_class: tv
entity_picture: /api/media_player_proxy/media_player.fire_tv_192_168_178_37?token=d9c3c4005becac86c11eb3176c7e123b88c5bcfaa609dc73e10911c885baa42d&cache=1672839752.918439
friendly_name: Fire TV 192.168.178.37
supported_features: 22961

Add support for Fire TV 4k MAX

Request support for 4k Max remote.
It works with Android tv integration.
happy to help with testing.
https://www.amazon.com/dp/B08MQZXN1X
Edit: it works if I set compatibility to Event1

2nd: my remote controls my receiver for audio. is it possible to change what device the volume/mute buttons control? (my receivers are also in HA)

[New App Shortcut]: TiVimate and SmartTubeNext

App Name

TiviMate and SmartTubeNext

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

TiViMate: ar.tvplayer.tv
SmartTube Stable: com.teamsmart.videomanager.tv
SmartTube Beta: com.liskovsoft.smarttubetv.beta

TiViMate is readily available through Playstore

SmartTube is sideloaded so may be rejected, but is also a massive open-sourced project so I figured I'd ask
https://github.com/yuliskov/SmartTubeNext

EDIT:
Thinking out loud here since there seems to be a few requests for sideloaded apps....
What about a "User Defined" field which would allow a user to manually enter the displayed app name, the android app name (ie: com.liskovsoft.smarttubetv.beta) and also the ADB command to launch it?
This would put the responsibility onto the user instead of having a user potentially load a malicious app due to seeing it in this package? It would also give users the ability to add an app while they wait for official compatibility.

[New App Shortcut]: TiviMate IP TV Player

App Name

TiviMate IP TV Player

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

If by official means the Amazon download app is meant, through which one can download the APK, then yes, otherwise not currently.

[New App Shortcut]: YouTube Kids

App Name

YouTube Kids

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

This should make the kids jhappy :)

  "youtubekids": {
    "button": "YouTubeKids",
    "friendlyName": "YouTube Kids",
    "appName": "com.google.android.youtube.tvkids",
    "className": "youtubekidsButton",
    "androidName": "com.google.android.youtube.tvkids",
    "adbLaunchCommand": "adb shell am start -n com.google.android.youtube.tvkids/com.google.android.apps.youtube.tvkids.activity.MainActivity" },
          .youtubekidsButton {
            font-size: calc(var(--sz) * 1rem);
            color: #919191;
            font-weight: bold;
            background: rgb(74 0 0);
          }
          .youtubekidsButton:active, .youtubekidsButton.appActive {
            color: #ffffff;
            background: rgb(199 0 0);
            box-shadow: 0 0 calc(var(--sz) * 0.857rem) calc(var(--sz) * 0.142rem) rgb(255 255 255 / 20%);
            text-shadow: 0 0 calc(var(--sz) * 0.2857rem) black;
          }

[New App Shortcut]: News

App Name

News by Fire TV

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

No response

[New App Shortcut]: Vtm go & npo & Videoland (Nvidia shield)

App Name

Vtm go & Npo & Videoland

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

hello i am using nvidia via your fire remote now my question was there is still new support for app the following apps i would like vtm go & npo & videoland? thanks in advance!

Remote no longer working, HA no longer recognizing custom:firemote-card

Describe the bug

Remote no longer working, HA no longer recognizing custom:firemote-card. Have removed and redownloaded.

To Reproduce

Remove fireremote
Redownload fireremote,
Refresh browser
Restart HA

Expected Behavior

Ability to use fireremote by adding card

Which Type of Device Do You Own?

firetv cube

Troubleshooting Steps Completed

No response

Additional context

No response

[New App Shortcut]: App Opener

App Name

App Opener

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

To get around the issue of not being able to open side loaded apps such as TiviMate an App was created called App Opener which opens another sideloaded app.

If you can add this app to the list it will allow us to open side loaded apps.

This is also a workaround for the following issue: #32

Make "Visible Device Name" color white for easier viewing

Is your feature request related to a problem? Please describe.
I am having a hard time seeing the visible device name text in black on the black fire remote

Describe the solution you'd like
I tried to change the color from black to white in the JS file which didnt work and also tried to add text into the card

Describe alternatives you've considered
primary-background-color: '#FFFFFF'
secondary-background-color: '#FFFFFF'
table-row-background-color: '#FFFFFF'
table-row-alternative-background-color: '#FFFFFF'
visible_name_text: Den
primary-text-color: '#FFFFFF'
secondary-text-color: '#FFFFFF'

Additional context
I didnt get an error from the above but it didnt work either (the text color change).

The card is great! Love it!

I was using something else and the only nice thing i could do with it that I am struggling with on your card is pointing the volume controls to the TV direct

Similar to:
volume_down:
service: media_player.volume_down
data:
entity_id: media_player.maindensam
volume_up: null
service: media_player.volume_up
data: {}
target:
entity_id: media_player.maindensam
volume_mute:
service: media_player.volume_mute
service_data:
command: volume_mute
entity_id: media_player.maindensam

[New Device Support]: Fire TV Stick - Basic Edition

Device Name

Fire TV Stick - Basic Edition

Which compatability mode event number works BEST with your device?

None

Additional Comments (optional)

All the buttons work with "event4" compatibility mode.
RaiPlay (IT) does not work: issue35

Interrogation ADB Response (optional but EXTREMELY helpful)

`source_list: Netflix
app_id: com.netflix.ninja
source: Netflix
adb_response: INPUT MANAGER (dumpsys input)

Event Hub State:
BuiltInKeyboardId: -2
Devices:
-1: Virtual
Classes: 0x40000023
Path:
Descriptor: a718a782d34bc767f4689c232d64d527998ea7fd:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
KeyLayoutFile: /system/usr/keylayout/Generic.kl
KeyCharacterMapFile: /system/usr/keychars/Virtual.kcm
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
1: hdmipower
Classes: 0x00000001
Path: /dev/input/event1
Descriptor: a917cc44911b6f32b9481384b0da35fb5f3d84d3:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0000, vendor=0x0000, product=0x0000, version=0x0000
KeyLayoutFile: /system/usr/keylayout/Generic.kl
KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
2: mtk-kpd
Classes: 0x00000001
Path: /dev/input/event0
Descriptor: f0d2e427e7a05eb6d316f5e14800c5ac7b6aee79:24546500
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0019, vendor=0x2454, product=0x6500, version=0x0010
KeyLayoutFile: /system/usr/keylayout/Generic.kl
KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
3: amazon_touch
Classes: 0x00000014
Path: /dev/input/event2
Descriptor: 185733e0df071e21edd860dd6224a1f9f378c689:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0005, vendor=0x0000, product=0x0000, version=0x0008
KeyLayoutFile:
KeyCharacterMapFile:
ConfigurationFile: /system/usr/idc/amazon_touch.idc
HaveKeyboardLayoutOverlay: false
4: kcmouse
Classes: 0x80000008
Path: /dev/input/event3
Descriptor: 3b975ed12e4cb4357a995906d1f9c74d8457fd71:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0005, vendor=0x0000, product=0x0000, version=0x0008
KeyLayoutFile:
KeyCharacterMapFile:
ConfigurationFile:
HaveKeyboardLayoutOverlay: false

Input Reader State:
Device -1: Virtual
Generation: 2
IsExternal: false
Sources: 0x00000301
KeyboardType: 2
Keyboard Input Mapper:
Parameters:
HasAssociatedDisplay: false
OrientationAware: false
HandlesKeyRepeat: false
KeyboardType: 2
Orientation: 0
KeyDowns: 0 keys currently down
MetaState: 0x0
DownTime: 0
Device 1: hdmipower
Generation: 6
IsExternal: false
Sources: 0x00000101
KeyboardType: 1
Keyboard Input Mapper:
Parameters:
HasAssociatedDisplay: false
OrientationAware: false
HandlesKeyRepeat: false
KeyboardType: 1
Orientation: 0
KeyDowns: 0 keys currently down
MetaState: 0x0
DownTime: 701760650346000
Device 2: mtk-kpd
Generation: 4
IsExternal: false
Sources: 0x00000101
KeyboardType: 1
Keyboard Input Mapper:
Parameters:
HasAssociatedDisplay: false
OrientationAware: false
HandlesKeyRepeat: false
KeyboardType: 1
Orientation: 0
KeyDowns: 0 keys currently down
MetaState: 0x0
DownTime: 0
Device 3: amazon_touch
Generation: 9
IsExternal: false
Sources: 0x00001002
KeyboardType: 0
Motion Ranges:
X: source=0x00001002, min=0.000, max=1919.000, flat=0.000, fuzz=0.000, resolution=0.000
Y: source=0x00001002, min=0.000, max=1079.000, flat=0.000, fuzz=0.000, resolution=0.000
PRESSURE: source=0x00001002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
Touch Input Mapper:
Parameters:
GestureMode: spots
DeviceType: touchScreen
AssociatedDisplay: hasAssociatedDisplay=true, isExternal=false
OrientationAware: true
Raw Touch Axes:
X: min=0, max=1919, flat=0, fuzz=0, resolution=0
Y: min=0, max=1079, flat=0, fuzz=0, resolution=0
Pressure: unknown range
TouchMajor: unknown range
TouchMinor: unknown range
ToolMajor: unknown range
ToolMinor: unknown range
Orientation: unknown range
Distance: unknown range
TiltX: unknown range
TiltY: unknown range
TrackingId: unknown range
Slot: unknown range
Calibration:
touch.size.calibration: none
touch.size.scale: 40.000
touch.size.bias: 0.000
touch.size.isSummed: false
touch.pressure.calibration: none
touch.pressure.scale: 0.013
touch.orientation.calibration: none
touch.distance.calibration: none
touch.coverage.calibration: none
Affine Transformation:
X scale: 1.000
X ymix: 0.000
X offset: 0.000
Y xmix: 0.000
Y scale: 1.000
Y offset: 0.000
Viewport: displayId=0, orientation=0, logicalFrame=[0, 0, 1920, 1080], physicalFrame=[0, 0, 1920, 1080], deviceSize=[1920, 1080]
SurfaceWidth: 1920px
SurfaceHeight: 1080px
SurfaceLeft: 0
SurfaceTop: 0
SurfaceOrientation: 0
Translation and Scaling Factors:
XTranslate: 0.000
YTranslate: 0.000
XScale: 1.000
YScale: 1.000
XPrecision: 1.000
YPrecision: 1.000
GeometricScale: 1.000
PressureScale: 0.000
SizeScale: 0.000
OrientationScale: 0.000
DistanceScale: 0.000
HaveTilt: false
TiltXCenter: 0.000
TiltXScale: 0.000
TiltYCenter: 0.000
TiltYScale: 0.000
Last Button State: 0x00000000
Last Raw Touch: pointerCount=0
Last Cooked Touch: pointerCount=0
Device 4: kcmouse
Generation: 12
IsExternal: true
Sources: 0x00002002
KeyboardType: 0
Motion Ranges:
X: source=0x00002002, min=0.000, max=1919.000, flat=0.000, fuzz=0.000, resolution=0.000
Y: source=0x00002002, min=0.000, max=1079.000, flat=0.000, fuzz=0.000, resolution=0.000
PRESSURE: source=0x00002002, min=0.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
VSCROLL: source=0x00002002, min=-1.000, max=1.000, flat=0.000, fuzz=0.000, resolution=0.000
Cursor Input Mapper:
Parameters:
HasAssociatedDisplay: true
Mode: pointer
OrientationAware: false
XScale: 1.000
YScale: 1.000
XPrecision: 1.000
YPrecision: 1.000
HaveVWheel: true
HaveHWheel: false
VWheelScale: 1.000
HWheelScale: 1.000
Orientation: 0
ButtonState: 0x00000000
Down: false
DownTime: 0
Configuration:
ExcludedDeviceNames: []
VirtualKeyQuietTime: 0.0ms
PointerVelocityControlParameters: scale=1.000, lowThreshold=500.000, highThreshold=3000.000, acceleration=3.000
WheelVelocityControlParameters: scale=1.000, lowThreshold=15.000, highThreshold=50.000, acceleration=4.000
PointerGesture:
Enabled: true
QuietInterval: 100.0ms
DragMinSwitchSpeed: 50.0px/s
TapInterval: 150.0ms
TapDragInterval: 300.0ms
TapSlop: 20.0px
MultitouchSettleInterval: 100.0ms
MultitouchMinDistance: 15.0px
SwipeTransitionAngleCosine: 0.3
SwipeMaxWidthRatio: 0.2
MovementSpeedRatio: 0.8
ZoomSpeedRatio: 0.3

Input Dispatcher State:
DispatchEnabled: 1
DispatchFrozen: 0
FocusedApplication: name='AppWindowToken{3591a18b token=Token{5a9fb5a ActivityRecord{124d6f05 u0 com.netflix.ninja/.MainActivity t236}}}', dispatchingTimeout=5000.000ms
FocusedWindow: name='Window{3efed45d u0 dream}'
TouchStates:
Windows:
0: name='Window{1b38178e u0 com.amazon.vizzini}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01400108, type=0x000007da, layer=221005, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=1413, ownerUid=32143, dispatchingTimeout=5000.000ms
1: name='Window{14f32973 u0 com.amazon.vizzini}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01400100, type=0x000007da, layer=221000, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=1413, ownerUid=32143, dispatchingTimeout=5000.000ms
2: name='Window{3efed45d u0 dream}', displayId=0, paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x01810581, type=0x000007e7, layer=91000, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=1160, ownerUid=32086, dispatchingTimeout=5000.000ms
3: name='Window{22c2f803 u0 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x83810120, type=0x00000001, layer=21015, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=18417, ownerUid=32128, dispatchingTimeout=5000.000ms
4: name='Window{34874c2d u0 com.netflix.ninja/com.netflix.ninja.MainActivity}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01810520, type=0x00000001, layer=21010, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=4856, ownerUid=10018, dispatchingTimeout=5000.000ms
MonitoringChannels:
0: 'WindowManager (server)'
RecentQueue: length=10
KeyEvent, age=78475368.0ms
KeyEvent, age=78475328.0ms
KeyEvent, age=78457176.0ms
KeyEvent, age=78457056.0ms
KeyEvent, age=78454472.0ms
KeyEvent, age=78454264.0ms
KeyEvent, age=78441368.0ms
KeyEvent, age=78441216.0ms
DeviceResetEvent(deviceId=10), policyFlags=0x00000000, age=69433528.0ms
, age=69433528.0ms
PendingEvent:
InboundQueue:
ReplacedKeys:
Connections:
0: channelName='WindowManager (server)', windowName='monitor', status=NORMAL, monitor=true, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
1: channelName='22c2f803 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext (server)', windowName='Window{22c2f803 u0 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
2: channelName='14f32973 (server)', windowName='Window{14f32973 u0 com.amazon.vizzini}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
3: channelName='1b38178e (server)', windowName='Window{1b38178e u0 com.amazon.vizzini}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
4: channelName='34874c2d com.netflix.ninja/com.netflix.ninja.MainActivity (server)', windowName='Window{34874c2d u0 com.netflix.ninja/com.netflix.ninja.MainActivity}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
5: channelName='3efed45d dream (server)', windowName='Window{3efed45d u0 dream}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
AppSwitch: not pending
Configuration:
KeyRepeatDelay: 50.0ms
KeyRepeatTimeout: 500.0ms
hdmi_input: null
device_class: tv
entity_picture: /api/media_player_proxy/media_player.fire_tv_192_168_1_116?
friendly_name: Fire TV 192.168.1.116
supported_features: 22961`

[New App Shortcut]: Oqee by Free France

App Name

Oqee Free France

Can this app be freely downloaded through official means?

  • Yes

Optional Comments

Good morning

Would it be possible to integrate, oqee of internet provider Free France ...

Namely no official version is planned for the moment for the fire stick.

But a version that installs and works very well can be found here
https://www.lesalexiens.fr/actualites/comment-installer-oqee-sur-fire-tv-stick-ou-cube/

Link for dl compatible version is latest

https://www.lesalexiens.fr/oqeeshow

for version of
Version Android TV pour Fire OS 7+ (merci à nic020) :

Version 1.8.1 (dernière) : lesalexiens.fr/oqeeshow
Thanks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.