Skip to content

Remote control: zoom, reset zoom, screenshot and per-cell sound are touch-only #263

Closed

Description

@compot-dev

The app is in the Android TV launcher and declares the touchscreen not required, so it runs on boxes that have only a D-pad remote. The remote already opens the menu (OK / Enter, Decoder.onKeyDown), and everything in the menu works with the D-pad (#91, #143). Four actions, though, exist only as touch gestures, so a remote-only user cannot reach them:

Action Gesture today (docs/usage.md, "Gestures and keys") Code (Decoder.java, branch v2)
Zoom 1×–5× and pan, single view pinch, then drag ScaleGestureDetector / onScroll on mSurface (~297–330)
Reset the zoom double tap onDoubleTap → resetZoom() (321)
Save a screenshot, single view long press onLongPress → takeScreenshot() (328)
Play this cell's sound, multi-view (#12) long press on a cell quadViews[idx].setOnLongClickListener → toggleQuadAudio (958)

Holding OK does not reach the last two: the cells are SurfaceViews without focus, and OK is taken by the activity to open the menu.

Found while reviewing the Android TV entry of OpenIPC/viewer (OpenIPC/viewer#99), where a remote could not open a camera at all; here the main path works, only these four are missing.

Expected: each of the four can be done with a remote, and docs/usage.md ("Remote control") says how. Possible ways (to be decided in the PR): menu items (e.g. Screenshot, Sound for the selected cell), D-pad keys while the menu is closed (arrows to pan when zoomed, a key or menu item to zoom in / out / reset), media or channel keys where the remote has them.

Check: on an Android TV device or emulator with D-pad input only (adb shell input dpad keyevent …), in single view and in multi-view.

Activity

  1. added a commit that references this issue on Nov 4, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions