Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Closed
PlayedIn opened this issue Apr 3, 2023 · 7 comments
Closed

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

PlayedIn opened this issue Apr 3, 2023 · 7 comments
Assignees
Labels
enhancement New feature or request New Device Support Request to add support of a currently unsupported device from a supported device family

Comments

@PlayedIn
Copy link

PlayedIn commented Apr 3, 2023

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

@PlayedIn PlayedIn added enhancement New feature or request New Device Support Request to add support of a currently unsupported device from a supported device family labels Apr 3, 2023
@PlayedIn
Copy link
Author

PlayedIn commented Apr 3, 2023

I see there was a leading space in the adb command. I fixed that and got the following:
`source: com.amazon.tv.launcher
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/event0
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: amazon_touch
Classes: 0x00000014
Path: /dev/input/event1
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
3: kcmouse
Classes: 0x80000008
Path: /dev/input/event2
Descriptor: 3b975ed12e4cb4357a995906d1f9c74d8457fd71:00000000
Location:
ControllerNumber: 0
UniqueId:
Identifier: bus=0x0005, vendor=0x0000, product=0x0000, version=0x0008
KeyLayoutFile:
KeyCharacterMapFile:
ConfigurationFile:
HaveKeyboardLayoutOverlay: false
4: Amazon Fire TV Remote
Classes: 0x80000021
Path: /dev/input/event3
Descriptor: 22335dcdd68d4d5c423b143c30bae99ed39b1670:01710413
Location:
ControllerNumber: 0
UniqueId: 5C:41:5A:FD:2E:2E
Identifier: bus=0x0005, vendor=0x0171, product=0x0413, version=0x0000
KeyLayoutFile: /system/usr/keylayout/Vendor_0171_Product_0413.kl
KeyCharacterMapFile: /system/usr/keychars/Generic.kcm
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: 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 2: amazon_touch
Generation: 7
IsExternal: false
HasMic: 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: 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, 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 Raw Button State: 0x00000000
Last Raw Touch: pointerCount=0
Last Cooked Button State: 0x00000000
Last Cooked Touch: pointerCount=0
Stylus Fusion:
ExternalStylusConnected: false
External Stylus ID: -1
External Stylus Data Timeout: 9223372036854775807
External Stylus State:
When: 9223372036854775807
Pressure: 0.000000
Button State: 0x00000000
Tool Type: 0
Device 3: kcmouse
Generation: 10
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
Device 4: Amazon Fire TV Remote
Generation: 12
IsExternal: true
HasMic: false
Sources: 0x00000301
KeyboardType: 1
Keyboard Input Mapper:
Parameters:
HasAssociatedDisplay: false
OrientationAware: false
HandlesKeyRepeat: false
KeyboardType: 1
Orientation: 0
KeyDowns: 0 keys currently down
MetaState: 0x0
DownTime: 19679623649000
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{4d17631 token=Token{4354dbb ActivityRecord{9fcfa4a u0 com.amazon.tv.launcher/.ui.HomeActivity_vNext t1925}}}', dispatchingTimeout=5000.000ms
FocusedWindow: name='Window{2d7425 u0 Sys2023:dream}'
TouchStates:
Windows:
0: name='Window{a4829c5 u0 com.amazon.vizzini}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x01000108, type=0x000007da, layer=241010, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=4076, ownerUid=10100, dispatchingTimeout=5000.000ms
1: name='Window{a2a54e5 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=4076, ownerUid=10100, dispatchingTimeout=5000.000ms
2: name='Window{7319abd 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=4076, ownerUid=10100, dispatchingTimeout=5000.000ms
3: name='Window{74f8f02 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=3475, ownerUid=1000, dispatchingTimeout=5000.000ms
4: name='Window{2d7425 u0 Sys2023:dream}', displayId=0, paused=false, hasFocus=true, hasWallpaper=false, visible=true, canReceiveKeys=true, flags=0x01810581, type=0x000007e7, layer=101000, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=25359, ownerUid=10005, dispatchingTimeout=5000.000ms
5: name='Window{6c717f6 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=4156, ownerUid=10091, dispatchingTimeout=5000.000ms
6: name='Window{142e808 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=18313, ownerUid=10121, dispatchingTimeout=5000.000ms
7: name='Window{c846338 u0 SurfaceView - com.netflix.ninja/com.netflix.ninja.MainActivity}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x00006218, type=0x000003ec, layer=21005, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=18313, ownerUid=10121, dispatchingTimeout=5000.000ms
8: name='Window{1c94baa u0 SurfaceView - com.netflix.ninja/com.netflix.ninja.MainActivity}', displayId=0, paused=false, hasFocus=false, hasWallpaper=false, visible=false, canReceiveKeys=false, flags=0x00006218, type=0x000003e9, layer=21000, frame=[0,0][1920,1080], scale=1.000000, touchableRegion=[0,0][1920,1080], inputFeatures=0x00000000, ownerPid=18313, ownerUid=10121, dispatchingTimeout=5000.000ms
MonitoringChannels:
0: 'WindowManager (server)'
RecentQueue: length=10
KeyEvent, age=1250443.0ms
KeyEvent, age=1250265.0ms
KeyEvent, age=1243131.0ms
KeyEvent, age=1243037.9ms
KeyEvent, age=1234384.5ms
KeyEvent, age=1234183.5ms
KeyEvent, age=1221164.2ms
KeyEvent, age=1221024.5ms
KeyEvent, age=698732.8ms
KeyEvent, age=698616.2ms
PendingEvent:
InboundQueue:
ReplacedKeys:
Connections:
0: channelName='WindowManager (server)', windowName='monitor', status=NORMAL, monitor=true, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
1: channelName='74f8f02 KeyguardScrim (server)', windowName='Window{74f8f02 u0 KeyguardScrim}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
2: channelName='2d7425 Sys2023:dream (server)', windowName='Window{2d7425 u0 Sys2023:dream}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
3: channelName='7319abd com.amazon.vizzini (server)', windowName='Window{7319abd u0 com.amazon.vizzini}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
4: channelName='a2a54e5 com.amazon.vizzini (server)', windowName='Window{a2a54e5 u0 com.amazon.vizzini}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
5: channelName='a4829c5 com.amazon.vizzini (server)', windowName='Window{a4829c5 u0 com.amazon.vizzini}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
6: channelName='6c717f6 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext (server)', windowName='Window{6c717f6 u0 com.amazon.tv.launcher/com.amazon.tv.launcher.ui.HomeActivity_vNext}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
7: channelName='142e808 com.netflix.ninja/com.netflix.ninja.MainActivity (server)', windowName='Window{142e808 u0 com.netflix.ninja/com.netflix.ninja.MainActivity}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
8: channelName='1c94baa SurfaceView - com.netflix.ninja/com.netflix.ninja.MainActivity (server)', windowName='Window{1c94baa u0 SurfaceView - com.netflix.ninja/com.netflix.ninja.MainActivity}', status=NORMAL, monitor=false, inputPublisherBlocked=false
OutboundQueue:
WaitQueue:
9: channelName='c846338 SurfaceView - com.netflix.ninja/com.netflix.ninja.MainActivity (server)', windowName='Window{c846338 u0 SurfaceView - com.netflix.ninja/com.netflix.ninja.MainActivity}', 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
entity_picture: /api/media_player_proxy/media_player.fire_tv_192_168_1_129?token=xxxxxxx&cache=xxxxxxxx
friendly_name: Fire TV 192.168.1.129
supported_features: 22961`

@PRProd
Copy link
Owner

PRProd commented Apr 3, 2023

THANK YOU!!

I have captured this information in a new wiki page: https://github.com/PRProd/HA-Firemote/wiki/Fire-TV---3rd-Gen-(2017)

Let's handle the Select and the Fast-Forward button differences now. The best approach will be to try and capture the commands from your physical remote. This can be done by following these steps:

  1. Click on Developer Tools
  2. Select the Services Tab
  3. In the Service dropdown, choose "Android TV: Learn sendevent"
  4. In the Targets section, select your "Fire TV 192.168.1.129" device
  5. Press the "Call Service" button
  6. Within 10 seconds, press either the "Select" or the "Fast Forward" button ONCE on your physical remote control. DO NOT PRESS ANYTHING ELSE
  7. Wait for a brief moment until you see a notification appear
  8. Click on the notification and copy/paste each result into this thread, clearly identifying if it is the sample of the Select button, or if it's the sample of the Fast Forward button
  9. Click the Dismiss button to clear the notification
  10. Repeat the process (steps 5 - 9) for the other button

Developer Tools (steps 1-6)
image

Notification: (step 7)
image

Notification Open: (step 8)
image

@PlayedIn
Copy link
Author

PlayedIn commented Apr 6, 2023

The following is the notification after pressing the Select button:
Output from service 'learn_sendevent' from media_player.fire_tv_192_168_1_129: 'sendevent /dev/input/event3 4 4 458840 && sendevent /dev/input/event3 1 96 1 && sendevent /dev/input/event3 0 0 0 && sendevent /dev/input/event3 4 4 458840 && sendevent /dev/input/event3 1 96 0 && sendevent /dev/input/event3 0 0 0'

@PlayedIn
Copy link
Author

PlayedIn commented Apr 6, 2023

The following is the notification after pressing the Fast Forward button ONCE:
Output from service 'learn_sendevent' from media_player.fire_tv_192_168_1_129: 'sendevent /dev/input/event3 4 4 786611 && sendevent /dev/input/event3 1 208 1 && sendevent /dev/input/event3 0 0 0 && sendevent /dev/input/event3 4 4 786611 && sendevent /dev/input/event3 1 208 0 && sendevent /dev/input/event3 0 0 0'

@PRProd
Copy link
Owner

PRProd commented Apr 6, 2023

@PlayedIn ~ Thank you for your help! Please download v2.1.3-beta1, and select "Fire TV (3rd Gen -2017)" as your device type.

image
image

I want to be sure that all of the default remote style buttons work perfectly as expected, but I'd also like to know if you find any non-functioning buttons when you choose a different remote style, especially since your default remote (Amazon Fire Style 1) is very limited.

If you happen to find anything that doesn't work as expected, let me know and we will work it out! If everything is good, please let me know about that as well and I will include official support for the Fire TV - 3rd Gen (2017) in the next release.

@PlayedIn
Copy link
Author

PlayedIn commented Apr 7, 2023

All of the "default remote style buttons" now work as expected. Thank you for taking the time to add this! I will check for any non-functioning buttons with other remote styles as soon as I get a chance.

PRProd added a commit that referenced this issue Apr 7, 2023
Version 2.1.3

What's New:
 - 2 New Remote Styles: App Launcher 1 & App Launcher 2 #59
 - Native Support for Fire TV (3rd Gen - 2017) #64
 - New App Button Option #66

Misc:
 - CSS and JS Code cleanup
 - Moved external lit dependency to make it local
 - Various SVG logo adjustments
@PRProd
Copy link
Owner

PRProd commented Apr 7, 2023

@PlayedIn ~ That's great news! I've pushed this functionality into the latest official release v2.1.3, so I will close this issue now. If you happen to find anything else, please don't hesitate to add another comment to this issue and I will take a look right away.

Enjoy!

@PRProd PRProd closed this as completed Apr 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request New Device Support Request to add support of a currently unsupported device from a supported device family
Projects
None yet
Development

No branches or pull requests

2 participants