summaryrefslogtreecommitdiffstats
path: root/osdep/w32_keyboard.c
diff options
context:
space:
mode:
Diffstat (limited to 'osdep/w32_keyboard.c')
-rw-r--r--osdep/w32_keyboard.c20
1 files changed, 20 insertions, 0 deletions
diff --git a/osdep/w32_keyboard.c b/osdep/w32_keyboard.c
index edb6acf10e..c298f1f6bd 100644
--- a/osdep/w32_keyboard.c
+++ b/osdep/w32_keyboard.c
@@ -69,6 +69,21 @@ static const struct keymap vk_map[] = {
{0, 0}
};
+static const struct keymap appcmd_map[] = {
+ {APPCOMMAND_MEDIA_NEXTTRACK, MP_KEY_NEXT},
+ {APPCOMMAND_MEDIA_PREVIOUSTRACK, MP_KEY_PREV},
+ {APPCOMMAND_MEDIA_STOP, MP_KEY_STOP},
+ {APPCOMMAND_MEDIA_PLAY_PAUSE, MP_KEY_PLAYPAUSE},
+ {APPCOMMAND_MEDIA_PLAY, MP_KEY_PLAY},
+ {APPCOMMAND_MEDIA_PAUSE, MP_KEY_PAUSE},
+ {APPCOMMAND_MEDIA_RECORD, MP_KEY_RECORD},
+ {APPCOMMAND_MEDIA_FAST_FORWARD, MP_KEY_FORWARD},
+ {APPCOMMAND_MEDIA_REWIND, MP_KEY_REWIND},
+ {APPCOMMAND_MEDIA_CHANNEL_UP, MP_KEY_CHANNEL_UP},
+ {APPCOMMAND_MEDIA_CHANNEL_DOWN, MP_KEY_CHANNEL_DOWN},
+ {0, 0}
+};
+
static int lookup_keymap(const struct keymap *map, int key)
{
while (map->from && map->from != key) map++;
@@ -89,3 +104,8 @@ int mp_w32_vkey_to_mpkey(UINT vkey, bool extended)
return mpkey;
}
+
+int mp_w32_appcmd_to_mpkey(UINT appcmd)
+{
+ return lookup_keymap(appcmd_map, appcmd);
+}