.. _input: INPUT.CONF ========== The input.conf file consists of a list of key bindings, for example: | s screenshot # take a screenshot with the s key Each line maps a key to an input command. Keys are specified with their literal value (upper case if combined with ``Shift``), or a name for special keys. For example, ``a`` maps to the ``a`` key without shift, and ``A`` maps to ``a`` with shift. A list of special keys can be obtained with | **mpv** --input=keylist In general, keys can be combined with ``Shift``, ``Ctrl`` and ``Alt``: | ctrl+q quit **mpv** can be started in input test mode, which displays key bindings and the commands they're bound to on the OSD, instead of running the commands: | **mpv** --input=test --demuxer=rawvideo --rawvideo=w=1280:h=720 /dev/zero (Commands which normally close the player will not work in this mode, and you must kill **mpv** externally to make it exit.) General input command syntax ---------------------------- `[Shift+][Ctrl+][Alt+][Meta+] [] ()*` Newlines always start a new binding. ``#`` starts a comment (outside of quoted string arguments). To bind commands to the ``#`` key, ``SHARP`` can be used. is either the literal character the key produces (ASCII or unicode character), or a symbol name. Arguments are separated by whitespace. This applies even to string arguments. For this reason, string arguments should be quoted with ``"``. Inside quotes, C style escaping can be used. Optional arguments can be skipped with ``-``. List of input commands ---------------------- ignore Use this to "block" keys that should be unbound, and do nothing. Useful for disabling default bindings, without disabling all bindings with ``--input=default-bindings=no``. seek [relative|absolute|absolute-percent|- [default-precise|exact|keyframes]] Change the playback position. By default, seeks by a relative amount of seconds. The second argument sets the seek mode: relative (default) Seek relative to current position (a negative value seeks backwards). absolute Seek to a given time. absolute-percent Seek to a given percent position. The third argument defines how exact the seek is: default-precise (default) Follow the default behavior as set by ``--hr-seek``, which by default does imprecise seeks (like ``keyframes``). exact Always do exact/hr/precise seeks (slow). keyframes Always restart playback at keyframe boundaries (fast). frame_step Play one frame, then pause. set "" Set the given property to the given value. add [] Add the given value to the property. On overflow or underflow, clamp the property to the maximum. If is omitted, assume ``1``. cycle [up|down] Cycle the given property. ``up`` and ``down`` set the cycle direction. On overflow, set the property back to the minimum, on underflow set it to the maximum. If ``up`` or ``down`` is omitted, assume ``up``. speed_mult Multiply the ``speed`` property by the given value. screenshot [subtitles|video|window|- [single|each-frame]] Take a screenshot. First argument: (default) Save the video image, in its original resolution, and with subtitles. Some video outputs may still include the OSD in the output under certain circumstances.