summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--DOCS/man/en/input.rst6
-rw-r--r--etc/input.conf4
-rw-r--r--input/input.c9
3 files changed, 14 insertions, 5 deletions
diff --git a/DOCS/man/en/input.rst b/DOCS/man/en/input.rst
index 36a19e9479..a8c1fc177f 100644
--- a/DOCS/man/en/input.rst
+++ b/DOCS/man/en/input.rst
@@ -21,10 +21,10 @@ In general, keys can be combined with ``Shift``, ``Ctrl`` and ``Alt``::
**mpv** can be started in input test mode, which displays key bindings and the
commands they're bound to on the OSD, instead of executing the commands::
- mpv --input-test --demuxer=rawvideo --demuxer-rawvideo=w=1280:h=720 /dev/zero
+ mpv --input-test --force-window --idle
-(Commands which normally close the player will not work in this mode, and you
-must kill **mpv** externally to make it exit.)
+(Only closing the window will make **mpv** exit, pressing normal keys will
+merely display the binding, even if mapped to quit.)
General Input Command Syntax
----------------------------
diff --git a/etc/input.conf b/etc/input.conf
index 035ec783bf..42ae0701ce 100644
--- a/etc/input.conf
+++ b/etc/input.conf
@@ -6,8 +6,8 @@
# Also see mpv --input-cmdlist for other possible options.
# The file should be placed in the $HOME/.mpv directory.
#
-# mpv --input-test --pause dummy.mkv can be used to test which commands keys are
-# bound to.
+# mpv --input-test --force-window --idle can be used to test which commands
+# keys are bound to.
#
# If you wish to unbind a key, bind it to the 'ignore' command:
# KEY ignore
diff --git a/input/input.c b/input/input.c
index 39644fd723..0d8118d8fe 100644
--- a/input/input.c
+++ b/input/input.c
@@ -311,6 +311,15 @@ static void append_bind_info(struct input_ctx *ictx, char **pmsg,
static mp_cmd_t *handle_test(struct input_ctx *ictx, int code)
{
+ if (code == MP_KEY_CLOSE_WIN) {
+ MP_WARN(ictx,
+ "CLOSE_WIN was received. This pseudo key can be remapped too,\n"
+ "but --input-test will always quit when receiving it.\n");
+ const char *args[] = {"quit", NULL};
+ mp_cmd_t *res = mp_input_parse_cmd_strv(ictx->log, 0, args, "");
+ return res;
+ }
+
char *key_buf = mp_input_get_key_combo_name(&code, 1);
char *msg = talloc_asprintf(NULL, "Key %s is bound to:\n", key_buf);
talloc_free(key_buf);