Controls¶
Playback is driven from a gamepad, a USB keyboard, or a TV or set-top remote — all three work at once, and none of them needs setting up. The button numbers below are MiSTer's standard numbering — whatever you mapped B1 to in the MiSTer menu is what "B1" means here.
| Button | Action | Button | Action | |
|---|---|---|---|---|
| B1 | Pause | B8 | Subtitle (cycle) | |
| B2 | Prev Chapter | B9 | Display (toggle status line) | |
| B3 | Next Chapter | B10 | Fast Fwd (hold to scrub) | |
| B4 | Select | B11 | Rewind (hold to scrub) | |
| B5 | Menu | B12 | Title menu | |
| B6 | Angle (cycle) | B13 | Return (go up) | |
| B7 | Audio (cycle) | D-pad | Menu navigation |
Every one of those actions also has a keyboard or remote key. A USB keyboard's number keys select menu buttons directly, which is often quicker than walking a menu with the D-pad.
Keyboard and TV remote¶
Nothing to configure — plug in a keyboard and these keys work. Anything that presents itself to MiSTer as a keyboard counts, which is how a remote drives the player too.
| Key | Action | Key | Action | |
|---|---|---|---|---|
| ↑ ↓ ← → | Menu navigation | A | Audio (cycle) | |
| Enter | Select | S | Subtitle (cycle) | |
| Space | Pause | G | Angle (cycle) | |
| Page Up / P | Prev Chapter | D | Display (toggle status line) | |
| Page Down / N | Next Chapter | Tab / F | Fast Fwd (10 s per press) | |
| M / X | Menu | Backspace / R | Rewind (10 s per press) | |
| T | Title menu | Esc / B | Return (go up) | |
| 0 – 9 | Select menu button by number |
Fast Fwd and Rewind work differently here
On a gamepad you hold them to scrub. On a keyboard or remote each press jumps 10
seconds, and presses add up the same way D-pad seek does — six quick
taps is one minute, and one seek happens when you stop. That is deliberate: a remote's
"hold" is really a rapid stream of taps, which a scrub would turn into dozens of
separate seeks. This works whether or not D-Pad Seek is switched on. Files with no seek
information — a bare .m2v — have no keyboard seek.
Using a remote¶
The reliable way is an infrared receiver that presents itself as a USB keyboard — a Flirc, a generic MCE-style USB IR dongle, or the receiver built into a console dock. It learns whatever remote you already own, emits ordinary keystrokes, and needs no setting up on the MiSTer side at all: the keys in the table above simply work.
That is also what a console dock does. A dock remote usually sends only a handful of keys — on a SuperStation One SuperDock, the arrows plus OK (Enter), Exit (Esc), Cancel (X) and one function key — which is enough to walk a disc's menus and start a title. Cancel is mapped to Menu precisely because that remote's own Menu button belongs to the MiSTer OSD.
Using your TV's remote over HDMI-CEC¶
A TV remote can drive the player over CEC instead, with no extra hardware — but whether CEC works at all depends on your board, so treat it as worth trying rather than as a supported path.
Enable it under [MiSTer] in MiSTer.ini:
Then map the colour keys to the disc's own menus: blue = Menu, red = Title, green = Audio, yellow = Subtitle. You need those because the remote's Menu / Exit button belongs to the MiSTer OSD (see below).
If nothing happens, check the log before changing anything else
MiSTer throws its own log away by default. Add debug=2 under [MiSTer], reboot, and
read /tmp/debug.txt:
| What you see | What it means |
|---|---|
CEC: no clock detected then CEC: init failed. |
Your board's CEC hardware is not usable. Nothing in the ini changes this — see below. |
CEC: main register setup failed |
The HDMI transmitter could not be reached at all. |
CEC: no EDID and power-on disabled |
Set hdmi_cec_power_on=1. |
CEC: logical=… physical=1.0.0.0 |
CEC is working. If the remote still does nothing, the TV is not routing it — usually because MiSTer is not the selected input. |
no CEC: lines at all |
hdmi_cec=1 is not being read. It must be under [MiSTer], not below another core's section heading. |
To see whether the TV sends anything at all, press keys from the MiSTer main menu
rather than inside the player — button codes are only logged there, as
CEC button: 0x09, pressed=1.
no clock detected cannot be fixed in the ini
It means the HDMI transmitter's CEC engine never completed a transmission, which is a
wiring or clock-source question on the board itself. In particular hdmi_cec_clock=
does not help: that setting only chooses between clock rates after a successful
probe, so it cannot revive an engine that is not running. Set hdmi_cec=0 to skip the
probe and its startup delay, and use a USB infrared receiver instead — it gives you the
same remote control and does not involve the HDMI transmitter at all.
Turning CEC off again
hdmi_cec=0 disables the whole thing. To stop a TV remote controlling playback while
keeping CEC's power-on and standby handling, set hdmi_cec_input_mode=0 instead. There
is no setting for either in the player's own menu, because a CEC keypress arrives as an
ordinary keystroke — the core cannot tell it apart from a USB keyboard.
Things MiSTer keeps for itself¶
- F12 and a remote's Menu button open the MiSTer OSD, always. They can never be given a disc function.
- While the OSD is open, no key reaches the player.
- On a CEC remote, Menu / Exit is the MiSTer OSD button, not the disc menu. It is a proper toggle: pressing it again steps back a level and closes the OSD at the top, so it is how you get in and out. Stop also closes the OSD from any level. Which physical button sends which code is up to the TV, not MiSTer — most sets send Exit for Back/Return and Root Menu for Home/Menu while a source is selected, and some pass only a few keys through CEC at all.
- The support bundle chord is gamepad-only — it is handled outside the core, so the keyboard's Audio and Subtitle keys cannot trigger it.
Rebinding¶
Use MiSTer's own Define buttons, which maps any key onto any of the buttons in the first table. A key you map there takes over completely, so it replaces whatever the built-in list above gave it.
Enter and Esc cannot be rebound
MiSTer reserves both as its own confirm and cancel keys and will not assign them to a button — pressing Enter during Define buttons ends the session rather than capturing it, which looks like it worked. That is exactly why the player reads them itself, and it is why a dock remote's OK and Exit buttons now work at all.
In a menu¶
The D-pad walks the buttons of whatever menu is on screen, following the link graph the disc's author defined — so it moves the way the disc intends, not in reading order. B4 (Select) activates the highlighted button. B13 (Return) goes up a level where the disc provides one.
B5 (Menu) and B12 (Title) are the two menu keys a set-top remote has. Menu goes to the disc's root menu; Title goes to the title menu. Many discs make them the same thing.
Menu during the disc's opening chain¶
Pressing Menu over a copyright or warning screen — before the disc has shown you any menu — goes straight to the disc's main menu.
This is a deliberate deviation from what the DVD specification says should happen. Some discs, DVD games especially, author their per-title Root "menu" as a dispatcher that routes based on where you pressed Menu from. Followed literally during the opening chain, that drops you into a random clip rather than a menu. Once you have been to a menu at least once, Menu behaves exactly as the disc specifies.
During playback¶
B1 (Pause) freezes on the current frame. Audio stops cleanly and resumes in sync.
B2 / B3 step chapters. B10 / B11 (Fast Fwd / Rewind) tapped step forward and back; held, they
scrub — a seek bar appears showing where you are and where you will land, and the seek
happens when you release. The target accelerates the longer you hold, so a brief hold nudges
you along and a long one crosses the whole disc.
B9 (Display) toggles the status line — the elapsed/total time and chapter readout along the bottom. It also appears by itself for a couple of seconds whenever something changes.
B7 / B8 / B6 cycle audio track, subtitle track and camera angle. Each shows a popup
naming what you switched to, with the language where the disc provides one — AUDIO 2/4 FR,
SUB OFF, ANGLE 2/3. Angle only does anything on a multi-angle disc.
Track numbers are the disc's, not a count
A disc's audio and subtitle tracks are numbered by the disc itself, and the numbering
is often sparse — a disc may have tracks 1, 3 and 8 with nothing between. The core
cycles through the ones that exist and shows the disc's own number, which is why you
may see AUDIO 3/2-looking combinations on unusual discs.
Changing audio track inside a menu
Switching the audio track while a disc menu is open silences the menu's own audio until you leave the menu. Menu audio otherwise plays normally on the default track.
Support bundle chord¶
Needs MiSTer_DVDcss
New in v0.4.0, and only with the custom Main installed.
Audio + Subtitle held together for two seconds writes a navigation support bundle for
the disc you are playing to /media/fat/DVD_reports/ — a small file that makes a menu or
navigation bug reproducible without the disc. See
Reporting a bug. It also steps the audio and subtitle
tracks once each, which you can simply step back.
D-pad seek¶
During plain playback the D-pad does nothing unless you turn on D-Pad Seek, which puts VLC-style jumps on it:
| Direction | Jump |
|---|---|
| Left / Right | ∓10 seconds |
| Down / Up | ∓1 minute |
Taps add up, and each one restarts a short window. Three quick taps of Right is one
30-second skip rather than three separate seeks, and you can keep tapping to build a jump
of any length — tap Up twenty times for a 20-minute skip. The on-screen SEEK FWD 12:30
readout shows the running total as you tap, and the jump happens once you stop.
That coalescing is the whole design: one seek per gesture, however long. Seeking once per tap would mean a flush and re-lock per press, which is a regime that does not survive rapid input.
On a DVD the targets come from the disc's own seek tables, so they land on real frame
boundaries rather than approximate byte offsets. On a VCD/SVCD, exact CD geometry is used
instead. On a flat .mpg or .VOB there is neither, so the player measures how fast the
file is playing and jumps by that — accurate on a steady-bitrate file, and on a very
variable one a ten-second jump may land a second or two out. It needs about half a second
of playback to take that measurement, so a jump attempted the instant a file starts does
nothing; tap again.
Bare .m2v files are the exception: they carry no timing information at all, so neither
the D-pad nor Fast Fwd/Rewind can seek in them.
Why it is off by default
Some interactive and game DVDs play seekable video while expecting the D-pad as game input. Seeking would fight the disc. D-Pad Seek is also automatically suppressed while a disc menu is up, so turning it on never costs you menu navigation — but the default stays Off because a game disc's gameplay is not a menu.