From fc422f5aebbfe6dd2ea12b92fe9b13ba5fd65041 Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 23 Jun 2013 01:28:28 +0200 Subject: command: add commands to enable/disable input sections For now, it's mostly for testing. It also might allow to create key binding state machines, but this sounds questionable. --- core/command.c | 9 +++++++++ core/input/input.c | 7 +++++++ core/input/input.h | 3 +++ 3 files changed, 19 insertions(+) (limited to 'core') diff --git a/core/command.c b/core/command.c index 9e77436a95..9c56b412fd 100644 --- a/core/command.c +++ b/core/command.c @@ -2412,6 +2412,15 @@ void run_command(MPContext *mpctx, mp_cmd_t *cmd) mplayer_put_key(mpctx->key_fifo, cmd->args[0].v.i); break; + case MP_CMD_ENABLE_INPUT_SECTION: + mp_input_enable_section(mpctx->input, cmd->args[0].v.s, + cmd->args[1].v.i == 1 ? MP_INPUT_EXCLUSIVE : 0); + break; + + case MP_CMD_DISABLE_INPUT_SECTION: + mp_input_disable_section(mpctx->input, cmd->args[0].v.s); + break; + case MP_CMD_VO_CMDLINE: if (mpctx->video_out) { char *s = cmd->args[0].v.s; diff --git a/core/input/input.c b/core/input/input.c index b883974409..5b9a31866c 100644 --- a/core/input/input.c +++ b/core/input/input.c @@ -194,6 +194,13 @@ static const mp_cmd_t mp_cmds[] = { .v.f = 1 }, }}, + { MP_CMD_ENABLE_INPUT_SECTION, "enable_section", { + ARG_STRING, + OARG_CHOICE(0, ({"default", 0}, + {"exclusive", 1})), + }}, + { MP_CMD_DISABLE_INPUT_SECTION, "disable_section", { ARG_STRING } }, + { MP_CMD_AF_SWITCH, "af_switch", { ARG_STRING } }, { MP_CMD_AF_ADD, "af_add", { ARG_STRING } }, { MP_CMD_AF_DEL, "af_del", { ARG_STRING } }, diff --git a/core/input/input.h b/core/input/input.h index 26b529bfb9..551ba80db6 100644 --- a/core/input/input.h +++ b/core/input/input.h @@ -67,6 +67,9 @@ enum mp_command_type { MP_CMD_TV_START_SCAN, MP_CMD_STOP, + MP_CMD_ENABLE_INPUT_SECTION, + MP_CMD_DISABLE_INPUT_SECTION, + /// DVB commands MP_CMD_DVB_SET_CHANNEL = 5101, -- cgit v1.2.3