feat: protocol key/launch command layer — RemoteKeyCode maps, C-LAUNCH app launch, ADB digit keyevent fallback, PlaybackIntent protocol path
This commit is contained in:
1 parent
906126b0da
commit
61aca9d413
4 files changed
+92
-1
No files matched your search
@@ -54,6 +54,44 @@ JELLYFIN_APP_IDS = [
|
||||
"com.github.damontecres.wholphin",
|
||||
]
|
||||
|
||||
# Remote-protocol key names (RemoteKeyCode enum in remotemessage.proto).
|
||||
# HA service kind → protocol keycode string.
|
||||
PROTOCOL_MEDIA_KEYS = {
|
||||
"media_play": "KEYCODE_MEDIA_PLAY",
|
||||
"media_pause": "KEYCODE_MEDIA_PAUSE",
|
||||
"media_stop": "KEYCODE_MEDIA_STOP",
|
||||
"media_next_track": "KEYCODE_MEDIA_NEXT",
|
||||
"media_previous_track": "KEYCODE_MEDIA_PREVIOUS",
|
||||
}
|
||||
PROTOCOL_VOLUME_KEYS = {
|
||||
"volume_up": "KEYCODE_VOLUME_UP",
|
||||
"volume_down": "KEYCODE_VOLUME_DOWN",
|
||||
"volume_mute": "KEYCODE_VOLUME_MUTE",
|
||||
}
|
||||
PROTOCOL_REMOTE_KEYS = {
|
||||
**PROTOCOL_VOLUME_KEYS,
|
||||
"play": "KEYCODE_MEDIA_PLAY",
|
||||
"pause": "KEYCODE_MEDIA_PAUSE",
|
||||
"stop": "KEYCODE_MEDIA_STOP",
|
||||
"up": "KEYCODE_DPAD_UP",
|
||||
"down": "KEYCODE_DPAD_DOWN",
|
||||
"left": "KEYCODE_DPAD_LEFT",
|
||||
"right": "KEYCODE_DPAD_RIGHT",
|
||||
"enter": "KEYCODE_DPAD_CENTER",
|
||||
"home": "KEYCODE_HOME",
|
||||
"back": "KEYCODE_BACK",
|
||||
"menu": "KEYCODE_MENU",
|
||||
"search": "KEYCODE_SEARCH",
|
||||
"power": "KEYCODE_POWER",
|
||||
"channel_up": "KEYCODE_CHANNEL_UP",
|
||||
"channel_down": "KEYCODE_CHANNEL_DOWN",
|
||||
}
|
||||
|
||||
# §7 channel selection: digits only, ~0.1 s apart, no ENTER by default
|
||||
# (replicates HA core androidtv_remote's verified behavior).
|
||||
CHANNEL_DIGIT_DELAY = 0.1
|
||||
CONF_CHANNEL_SEND_ENTER = "channel_send_enter"
|
||||
|
||||
# Verified on-device package names (docs/RESEARCH_SHIELD.md): TiviMate does
|
||||
# not publish a MediaSession on Shield Android 11 — it is the headline
|
||||
# Phase-3 fallback app.
|
||||
|
||||
Reference in new issue
Block a user