diff options
Diffstat (limited to 'core/input/input.c')
-rw-r--r-- | core/input/input.c | 318 |
1 files changed, 158 insertions, 160 deletions
diff --git a/core/input/input.c b/core/input/input.c index 171909b015..c12dba29b6 100644 --- a/core/input/input.c +++ b/core/input/input.c @@ -268,170 +268,168 @@ static const struct legacy_cmd legacy_cmds[] = { static const struct key_name key_names[] = { { ' ', "SPACE" }, { '#', "SHARP" }, - { KEY_ENTER, "ENTER" }, - { KEY_TAB, "TAB" }, - { KEY_BACKSPACE, "BS" }, - { KEY_DELETE, "DEL" }, - { KEY_INSERT, "INS" }, - { KEY_HOME, "HOME" }, - { KEY_END, "END" }, - { KEY_PAGE_UP, "PGUP" }, - { KEY_PAGE_DOWN, "PGDWN" }, - { KEY_ESC, "ESC" }, - { KEY_PRINT, "PRINT" }, - { KEY_RIGHT, "RIGHT" }, - { KEY_LEFT, "LEFT" }, - { KEY_DOWN, "DOWN" }, - { KEY_UP, "UP" }, - { KEY_F+1, "F1" }, - { KEY_F+2, "F2" }, - { KEY_F+3, "F3" }, - { KEY_F+4, "F4" }, - { KEY_F+5, "F5" }, - { KEY_F+6, "F6" }, - { KEY_F+7, "F7" }, - { KEY_F+8, "F8" }, - { KEY_F+9, "F9" }, - { KEY_F+10, "F10" }, - { KEY_F+11, "F11" }, - { KEY_F+12, "F12" }, - { KEY_KP0, "KP0" }, - { KEY_KP1, "KP1" }, - { KEY_KP2, "KP2" }, - { KEY_KP3, "KP3" }, - { KEY_KP4, "KP4" }, - { KEY_KP5, "KP5" }, - { KEY_KP6, "KP6" }, - { KEY_KP7, "KP7" }, - { KEY_KP8, "KP8" }, - { KEY_KP9, "KP9" }, - { KEY_KPDEL, "KP_DEL" }, - { KEY_KPDEC, "KP_DEC" }, - { KEY_KPINS, "KP_INS" }, - { KEY_KPENTER, "KP_ENTER" }, - { MOUSE_BTN0, "MOUSE_BTN0" }, - { MOUSE_BTN1, "MOUSE_BTN1" }, - { MOUSE_BTN2, "MOUSE_BTN2" }, - { MOUSE_BTN3, "MOUSE_BTN3" }, - { MOUSE_BTN4, "MOUSE_BTN4" }, - { MOUSE_BTN5, "MOUSE_BTN5" }, - { MOUSE_BTN6, "MOUSE_BTN6" }, - { MOUSE_BTN7, "MOUSE_BTN7" }, - { MOUSE_BTN8, "MOUSE_BTN8" }, - { MOUSE_BTN9, "MOUSE_BTN9" }, - { MOUSE_BTN10, "MOUSE_BTN10" }, - { MOUSE_BTN11, "MOUSE_BTN11" }, - { MOUSE_BTN12, "MOUSE_BTN12" }, - { MOUSE_BTN13, "MOUSE_BTN13" }, - { MOUSE_BTN14, "MOUSE_BTN14" }, - { MOUSE_BTN15, "MOUSE_BTN15" }, - { MOUSE_BTN16, "MOUSE_BTN16" }, - { MOUSE_BTN17, "MOUSE_BTN17" }, - { MOUSE_BTN18, "MOUSE_BTN18" }, - { MOUSE_BTN19, "MOUSE_BTN19" }, - { MOUSE_BTN0_DBL, "MOUSE_BTN0_DBL" }, - { MOUSE_BTN1_DBL, "MOUSE_BTN1_DBL" }, - { MOUSE_BTN2_DBL, "MOUSE_BTN2_DBL" }, - { MOUSE_BTN3_DBL, "MOUSE_BTN3_DBL" }, - { MOUSE_BTN4_DBL, "MOUSE_BTN4_DBL" }, - { MOUSE_BTN5_DBL, "MOUSE_BTN5_DBL" }, - { MOUSE_BTN6_DBL, "MOUSE_BTN6_DBL" }, - { MOUSE_BTN7_DBL, "MOUSE_BTN7_DBL" }, - { MOUSE_BTN8_DBL, "MOUSE_BTN8_DBL" }, - { MOUSE_BTN9_DBL, "MOUSE_BTN9_DBL" }, - { MOUSE_BTN10_DBL, "MOUSE_BTN10_DBL" }, - { MOUSE_BTN11_DBL, "MOUSE_BTN11_DBL" }, - { MOUSE_BTN12_DBL, "MOUSE_BTN12_DBL" }, - { MOUSE_BTN13_DBL, "MOUSE_BTN13_DBL" }, - { MOUSE_BTN14_DBL, "MOUSE_BTN14_DBL" }, - { MOUSE_BTN15_DBL, "MOUSE_BTN15_DBL" }, - { MOUSE_BTN16_DBL, "MOUSE_BTN16_DBL" }, - { MOUSE_BTN17_DBL, "MOUSE_BTN17_DBL" }, - { MOUSE_BTN18_DBL, "MOUSE_BTN18_DBL" }, - { MOUSE_BTN19_DBL, "MOUSE_BTN19_DBL" }, - { JOY_AXIS1_MINUS, "JOY_UP" }, - { JOY_AXIS1_PLUS, "JOY_DOWN" }, - { JOY_AXIS0_MINUS, "JOY_LEFT" }, - { JOY_AXIS0_PLUS, "JOY_RIGHT" }, - - { JOY_AXIS0_PLUS, "JOY_AXIS0_PLUS" }, - { JOY_AXIS0_MINUS, "JOY_AXIS0_MINUS" }, - { JOY_AXIS1_PLUS, "JOY_AXIS1_PLUS" }, - { JOY_AXIS1_MINUS, "JOY_AXIS1_MINUS" }, - { JOY_AXIS2_PLUS, "JOY_AXIS2_PLUS" }, - { JOY_AXIS2_MINUS, "JOY_AXIS2_MINUS" }, - { JOY_AXIS3_PLUS, "JOY_AXIS3_PLUS" }, - { JOY_AXIS3_MINUS, "JOY_AXIS3_MINUS" }, - { JOY_AXIS4_PLUS, "JOY_AXIS4_PLUS" }, - { JOY_AXIS4_MINUS, "JOY_AXIS4_MINUS" }, - { JOY_AXIS5_PLUS, "JOY_AXIS5_PLUS" }, - { JOY_AXIS5_MINUS, "JOY_AXIS5_MINUS" }, - { JOY_AXIS6_PLUS, "JOY_AXIS6_PLUS" }, - { JOY_AXIS6_MINUS, "JOY_AXIS6_MINUS" }, - { JOY_AXIS7_PLUS, "JOY_AXIS7_PLUS" }, - { JOY_AXIS7_MINUS, "JOY_AXIS7_MINUS" }, - { JOY_AXIS8_PLUS, "JOY_AXIS8_PLUS" }, - { JOY_AXIS8_MINUS, "JOY_AXIS8_MINUS" }, - { JOY_AXIS9_PLUS, "JOY_AXIS9_PLUS" }, - { JOY_AXIS9_MINUS, "JOY_AXIS9_MINUS" }, - - { JOY_BTN0, "JOY_BTN0" }, - { JOY_BTN1, "JOY_BTN1" }, - { JOY_BTN2, "JOY_BTN2" }, - { JOY_BTN3, "JOY_BTN3" }, - { JOY_BTN4, "JOY_BTN4" }, - { JOY_BTN5, "JOY_BTN5" }, - { JOY_BTN6, "JOY_BTN6" }, - { JOY_BTN7, "JOY_BTN7" }, - { JOY_BTN8, "JOY_BTN8" }, - { JOY_BTN9, "JOY_BTN9" }, - - { AR_PLAY, "AR_PLAY" }, - { AR_PLAY_HOLD, "AR_PLAY_HOLD" }, - { AR_NEXT, "AR_NEXT" }, - { AR_NEXT_HOLD, "AR_NEXT_HOLD" }, - { AR_PREV, "AR_PREV" }, - { AR_PREV_HOLD, "AR_PREV_HOLD" }, - { AR_MENU, "AR_MENU" }, - { AR_MENU_HOLD, "AR_MENU_HOLD" }, - { AR_VUP, "AR_VUP" }, - { AR_VDOWN, "AR_VDOWN" }, - - { KEY_POWER, "POWER" }, - { KEY_MENU, "MENU" }, - { KEY_PLAY, "PLAY" }, - { KEY_PAUSE, "PAUSE" }, - { KEY_PLAYPAUSE, "PLAYPAUSE" }, - { KEY_STOP, "STOP" }, - { KEY_FORWARD, "FORWARD" }, - { KEY_REWIND, "REWIND" }, - { KEY_NEXT, "NEXT" }, - { KEY_PREV, "PREV" }, - { KEY_VOLUME_UP, "VOLUME_UP" }, - { KEY_VOLUME_DOWN, "VOLUME_DOWN" }, - { KEY_MUTE, "MUTE" }, + { MP_KEY_ENTER, "ENTER" }, + { MP_KEY_TAB, "TAB" }, + { MP_KEY_BACKSPACE, "BS" }, + { MP_KEY_DELETE, "DEL" }, + { MP_KEY_INSERT, "INS" }, + { MP_KEY_HOME, "HOME" }, + { MP_KEY_END, "END" }, + { MP_KEY_PAGE_UP, "PGUP" }, + { MP_KEY_PAGE_DOWN, "PGDWN" }, + { MP_KEY_ESC, "ESC" }, + { MP_KEY_PRINT, "PRINT" }, + { MP_KEY_RIGHT, "RIGHT" }, + { MP_KEY_LEFT, "LEFT" }, + { MP_KEY_DOWN, "DOWN" }, + { MP_KEY_UP, "UP" }, + { MP_KEY_F+1, "F1" }, + { MP_KEY_F+2, "F2" }, + { MP_KEY_F+3, "F3" }, + { MP_KEY_F+4, "F4" }, + { MP_KEY_F+5, "F5" }, + { MP_KEY_F+6, "F6" }, + { MP_KEY_F+7, "F7" }, + { MP_KEY_F+8, "F8" }, + { MP_KEY_F+9, "F9" }, + { MP_KEY_F+10, "F10" }, + { MP_KEY_F+11, "F11" }, + { MP_KEY_F+12, "F12" }, + { MP_KEY_KP0, "KP0" }, + { MP_KEY_KP1, "KP1" }, + { MP_KEY_KP2, "KP2" }, + { MP_KEY_KP3, "KP3" }, + { MP_KEY_KP4, "KP4" }, + { MP_KEY_KP5, "KP5" }, + { MP_KEY_KP6, "KP6" }, + { MP_KEY_KP7, "KP7" }, + { MP_KEY_KP8, "KP8" }, + { MP_KEY_KP9, "KP9" }, + { MP_KEY_KPDEL, "KP_DEL" }, + { MP_KEY_KPDEC, "KP_DEC" }, + { MP_KEY_KPINS, "KP_INS" }, + { MP_KEY_KPENTER, "KP_ENTER" }, + { MP_MOUSE_BTN0, "MOUSE_BTN0" }, + { MP_MOUSE_BTN1, "MOUSE_BTN1" }, + { MP_MOUSE_BTN2, "MOUSE_BTN2" }, + { MP_MOUSE_BTN3, "MOUSE_BTN3" }, + { MP_MOUSE_BTN4, "MOUSE_BTN4" }, + { MP_MOUSE_BTN5, "MOUSE_BTN5" }, + { MP_MOUSE_BTN6, "MOUSE_BTN6" }, + { MP_MOUSE_BTN7, "MOUSE_BTN7" }, + { MP_MOUSE_BTN8, "MOUSE_BTN8" }, + { MP_MOUSE_BTN9, "MOUSE_BTN9" }, + { MP_MOUSE_BTN10, "MOUSE_BTN10" }, + { MP_MOUSE_BTN11, "MOUSE_BTN11" }, + { MP_MOUSE_BTN12, "MOUSE_BTN12" }, + { MP_MOUSE_BTN13, "MOUSE_BTN13" }, + { MP_MOUSE_BTN14, "MOUSE_BTN14" }, + { MP_MOUSE_BTN15, "MOUSE_BTN15" }, + { MP_MOUSE_BTN16, "MOUSE_BTN16" }, + { MP_MOUSE_BTN17, "MOUSE_BTN17" }, + { MP_MOUSE_BTN18, "MOUSE_BTN18" }, + { MP_MOUSE_BTN19, "MOUSE_BTN19" }, + { MP_MOUSE_BTN0_DBL, "MOUSE_BTN0_DBL" }, + { MP_MOUSE_BTN1_DBL, "MOUSE_BTN1_DBL" }, + { MP_MOUSE_BTN2_DBL, "MOUSE_BTN2_DBL" }, + { MP_MOUSE_BTN3_DBL, "MOUSE_BTN3_DBL" }, + { MP_MOUSE_BTN4_DBL, "MOUSE_BTN4_DBL" }, + { MP_MOUSE_BTN5_DBL, "MOUSE_BTN5_DBL" }, + { MP_MOUSE_BTN6_DBL, "MOUSE_BTN6_DBL" }, + { MP_MOUSE_BTN7_DBL, "MOUSE_BTN7_DBL" }, + { MP_MOUSE_BTN8_DBL, "MOUSE_BTN8_DBL" }, + { MP_MOUSE_BTN9_DBL, "MOUSE_BTN9_DBL" }, + { MP_MOUSE_BTN10_DBL, "MOUSE_BTN10_DBL" }, + { MP_MOUSE_BTN11_DBL, "MOUSE_BTN11_DBL" }, + { MP_MOUSE_BTN12_DBL, "MOUSE_BTN12_DBL" }, + { MP_MOUSE_BTN13_DBL, "MOUSE_BTN13_DBL" }, + { MP_MOUSE_BTN14_DBL, "MOUSE_BTN14_DBL" }, + { MP_MOUSE_BTN15_DBL, "MOUSE_BTN15_DBL" }, + { MP_MOUSE_BTN16_DBL, "MOUSE_BTN16_DBL" }, + { MP_MOUSE_BTN17_DBL, "MOUSE_BTN17_DBL" }, + { MP_MOUSE_BTN18_DBL, "MOUSE_BTN18_DBL" }, + { MP_MOUSE_BTN19_DBL, "MOUSE_BTN19_DBL" }, + { MP_JOY_AXIS1_MINUS, "JOY_UP" }, + { MP_JOY_AXIS1_PLUS, "JOY_DOWN" }, + { MP_JOY_AXIS0_MINUS, "JOY_LEFT" }, + { MP_JOY_AXIS0_PLUS, "JOY_RIGHT" }, + + { MP_JOY_AXIS0_PLUS, "JOY_AXIS0_PLUS" }, + { MP_JOY_AXIS0_MINUS, "JOY_AXIS0_MINUS" }, + { MP_JOY_AXIS1_PLUS, "JOY_AXIS1_PLUS" }, + { MP_JOY_AXIS1_MINUS, "JOY_AXIS1_MINUS" }, + { MP_JOY_AXIS2_PLUS, "JOY_AXIS2_PLUS" }, + { MP_JOY_AXIS2_MINUS, "JOY_AXIS2_MINUS" }, + { MP_JOY_AXIS3_PLUS, "JOY_AXIS3_PLUS" }, + { MP_JOY_AXIS3_MINUS, "JOY_AXIS3_MINUS" }, + { MP_JOY_AXIS4_PLUS, "JOY_AXIS4_PLUS" }, + { MP_JOY_AXIS4_MINUS, "JOY_AXIS4_MINUS" }, + { MP_JOY_AXIS5_PLUS, "JOY_AXIS5_PLUS" }, + { MP_JOY_AXIS5_MINUS, "JOY_AXIS5_MINUS" }, + { MP_JOY_AXIS6_PLUS, "JOY_AXIS6_PLUS" }, + { MP_JOY_AXIS6_MINUS, "JOY_AXIS6_MINUS" }, + { MP_JOY_AXIS7_PLUS, "JOY_AXIS7_PLUS" }, + { MP_JOY_AXIS7_MINUS, "JOY_AXIS7_MINUS" }, + { MP_JOY_AXIS8_PLUS, "JOY_AXIS8_PLUS" }, + { MP_JOY_AXIS8_MINUS, "JOY_AXIS8_MINUS" }, + { MP_JOY_AXIS9_PLUS, "JOY_AXIS9_PLUS" }, + { MP_JOY_AXIS9_MINUS, "JOY_AXIS9_MINUS" }, + + { MP_JOY_BTN0, "JOY_BTN0" }, + { MP_JOY_BTN1, "JOY_BTN1" }, + { MP_JOY_BTN2, "JOY_BTN2" }, + { MP_JOY_BTN3, "JOY_BTN3" }, + { MP_JOY_BTN4, "JOY_BTN4" }, + { MP_JOY_BTN5, "JOY_BTN5" }, + { MP_JOY_BTN6, "JOY_BTN6" }, + { MP_JOY_BTN7, "JOY_BTN7" }, + { MP_JOY_BTN8, "JOY_BTN8" }, + { MP_JOY_BTN9, "JOY_BTN9" }, + + { MP_AR_PLAY, "AR_PLAY" }, + { MP_AR_PLAY_HOLD, "AR_PLAY_HOLD" }, + { MP_AR_NEXT, "AR_NEXT" }, + { MP_AR_NEXT_HOLD, "AR_NEXT_HOLD" }, + { MP_AR_PREV, "AR_PREV" }, + { MP_AR_PREV_HOLD, "AR_PREV_HOLD" }, + { MP_AR_MENU, "AR_MENU" }, + { MP_AR_MENU_HOLD, "AR_MENU_HOLD" }, + { MP_AR_VUP, "AR_VUP" }, + { MP_AR_VDOWN, "AR_VDOWN" }, + + { MP_KEY_POWER, "POWER" }, + { MP_KEY_MENU, "MENU" }, + { MP_KEY_PLAY, "PLAY" }, + { MP_KEY_PAUSE, "PAUSE" }, + { MP_KEY_PLAYPAUSE, "PLAYPAUSE" }, + { MP_KEY_STOP, "STOP" }, + { MP_KEY_FORWARD, "FORWARD" }, + { MP_KEY_REWIND, "REWIND" }, + { MP_KEY_NEXT, "NEXT" }, + { MP_KEY_PREV, "PREV" }, + { MP_KEY_VOLUME_UP, "VOLUME_UP" }, + { MP_KEY_VOLUME_DOWN, "VOLUME_DOWN" }, + { MP_KEY_MUTE, "MUTE" }, // These are kept for backward compatibility - { KEY_PAUSE, "XF86_PAUSE" }, - { KEY_STOP, "XF86_STOP" }, - { KEY_PREV, "XF86_PREV" }, - { KEY_NEXT, "XF86_NEXT" }, + { MP_KEY_PAUSE, "XF86_PAUSE" }, + { MP_KEY_STOP, "XF86_STOP" }, + { MP_KEY_PREV, "XF86_PREV" }, + { MP_KEY_NEXT, "XF86_NEXT" }, - { KEY_CLOSE_WIN, "CLOSE_WIN" }, + { MP_KEY_CLOSE_WIN, "CLOSE_WIN" }, { 0, NULL } }; struct key_name modifier_names[] = { - { KEY_MODIFIER_SHIFT, "Shift" }, - { KEY_MODIFIER_CTRL, "Ctrl" }, - { KEY_MODIFIER_ALT, "Alt" }, - { KEY_MODIFIER_META, "Meta" }, + { MP_KEY_MODIFIER_SHIFT, "Shift" }, + { MP_KEY_MODIFIER_CTRL, "Ctrl" }, + { MP_KEY_MODIFIER_ALT, "Alt" }, + { MP_KEY_MODIFIER_META, "Meta" }, { 0 } }; -#define KEY_MODIFIER_MASK (KEY_MODIFIER_SHIFT | KEY_MODIFIER_CTRL | KEY_MODIFIER_ALT | KEY_MODIFIER_META) - #ifndef MP_MAX_KEY_FD #define MP_MAX_KEY_FD 10 #endif @@ -1252,17 +1250,17 @@ static mp_cmd_t *interpret_key(struct input_ctx *ictx, int code) * we want to have "a" and "A" instead of "a" and "Shift+A"; but a separate * shift modifier is still kept for special keys like arrow keys. */ - int unmod = code & ~KEY_MODIFIER_MASK; + int unmod = code & ~MP_KEY_MODIFIER_MASK; if (unmod >= 32 && unmod < MP_KEY_BASE) - code &= ~KEY_MODIFIER_SHIFT; + code &= ~MP_KEY_MODIFIER_SHIFT; - if (code & MP_KEY_DOWN) { + if (code & MP_KEY_STATE_DOWN) { if (ictx->num_key_down >= MP_MAX_KEY_DOWN) { mp_tmsg(MSGT_INPUT, MSGL_ERR, "Too many key down events " "at the same time\n"); return NULL; } - code &= ~MP_KEY_DOWN; + code &= ~MP_KEY_STATE_DOWN; // Check if we don't already have this key as pushed for (j = 0; j < ictx->num_key_down; j++) { if (ictx->key_down[j] == code) @@ -1281,9 +1279,9 @@ static mp_cmd_t *interpret_key(struct input_ctx *ictx, int code) if (ictx->key_down[j] == code) break; } - bool doubleclick = code >= MOUSE_BTN0_DBL && code < MOUSE_BTN_DBL_END; + bool doubleclick = code >= MP_MOUSE_BTN0_DBL && code < MP_MOUSE_BTN_DBL_END; if (doubleclick) { - int btn = code - MOUSE_BTN0_DBL + MOUSE_BTN0; + int btn = code - MP_MOUSE_BTN0_DBL + MP_MOUSE_BTN0; if (!ictx->num_key_down || ictx->key_down[ictx->num_key_down - 1] != btn) return NULL; @@ -1305,7 +1303,7 @@ static mp_cmd_t *interpret_key(struct input_ctx *ictx, int code) get_cmd_from_keys(ictx, ictx->num_key_down, ictx->key_down) : NULL; if (doubleclick) { - ictx->key_down[j] = code - MOUSE_BTN0_DBL + MOUSE_BTN0; + ictx->key_down[j] = code - MP_MOUSE_BTN0_DBL + MP_MOUSE_BTN0; return ret; } // Remove the key |