diff options
author | wm4 <wm4@nowhere> | 2014-07-27 22:00:55 +0200 |
---|---|---|
committer | wm4 <wm4@nowhere> | 2014-07-27 22:00:55 +0200 |
commit | 58255e0e2b7a8d5fef45968d7b8dcb2916ba5d6d (patch) | |
tree | aaaeb40c6d15c4e37a34bf5277024dd3e7ae6839 /input | |
parent | 4c533fbb16b99c4b28fbd968d81bb0b44e3084b5 (diff) |
input: be stricter about rejecting mouse input with --no-input-cursor
Apparently this switch means all mouse input should be strictly
rejected. Some VO backends (such as X11) explicitly disable all mouse
events if this option is set, but others don't. So check them in
input.c, which increases consistency.
Diffstat (limited to 'input')
-rw-r--r-- | input/input.c | 2 | ||||
-rw-r--r-- | input/keycodes.h | 3 |
2 files changed, 5 insertions, 0 deletions
diff --git a/input/input.c b/input/input.c index 324f9f250d..ca3f63784d 100644 --- a/input/input.c +++ b/input/input.c @@ -692,6 +692,8 @@ static void mp_input_feed_key(struct input_ctx *ictx, int code, double scale) release_down_cmd(ictx, false); return; } + if (!ictx->opts->enable_mouse_movements && MP_KEY_IS_MOUSE(unmod)) + return; if (unmod == MP_KEY_MOUSE_LEAVE) { update_mouse_section(ictx); struct mp_cmd *cmd = get_cmd_from_keys(ictx, NULL, code); diff --git a/input/keycodes.h b/input/keycodes.h index 9e890fc166..49a7f8d533 100644 --- a/input/keycodes.h +++ b/input/keycodes.h @@ -222,6 +222,9 @@ (MP_KEY_IS_MOUSE_BTN_SINGLE(code) || MP_KEY_IS_MOUSE_BTN_DBL(code) || \ (code) == MP_KEY_MOUSE_MOVE) +#define MP_KEY_IS_MOUSE(code) \ + (MP_KEY_DEPENDS_ON_MOUSE_POS(code) || (code) == MP_KEY_MOUSE_LEAVE) + // Emit a command even on key-up (normally key-up is ignored). This means by // default they binding will be triggered on key-up instead of key-down. // This is a fixed part of the keycode, not a modifier than can change. |