Skip to content

[Feature]: Configurable seek / jump duration for keyboard arrow keys and player controls #662

Description

@EdizKeskin

Area (tag)

Playback

Problem statement

Currently, seeking forward or backward with the keyboard arrow keys (Left/Right or J/L keys) and the on-screen seek controls is hardcoded to 10 seconds (10_000L).

Depending on personal preference or media type (e.g. anime intros, dialogue rewind vs skipping long recap scenes), 10 seconds can be too long or too short for different users. There is currently no option in Settings to customize this seek step interval.

Proposed solution

Add a "Seek Duration" (or "Jump Duration") setting under Playback Settings with common preset values (e.g., 5s, 10s, 15s, 30s; default: 10s).

  • The configured duration will govern the jump interval when pressing Left/Right arrow keys (and J/L keys) as well as clicking the on-screen rewind/fast-forward buttons.
  • The on-screen seek toast (+10s / -10s) and relevant player feedback will dynamically display the configured interval (+5s, +15s, +30s, etc.).
  • Maintain Shift + Arrow keys as a separate 1-second fine-seek step without conflict.

Are you planning to implement this yourself?

Yes, but I understand implementation still needs maintainer approval

Alternatives considered (optional)

Currently, users can only use Shift + Arrow keys for 1-second fine stepping or repeatedly tap arrow keys in 10-second multiples, which is inconvenient when a user specifically prefers standard 5-second or 15-second jumps.

Additional context (optional)

Most media players (such as MPV, VLC, YouTube, and Stremio) provide a setting to customize seek intervals.

I have already analyzed the codebase (PlayerSettingsRepository, PlaybackSettingsPage, NativePlayerController, and controls.js) and can submit a clean, localized PR adhering to all contribution guidelines once approved.

Activity

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