]> git.sesse.net Git - vlc/blobdiff - src/libvlc.h
* modules/gui/wxwindows/interface.cpp: do not use a checkbox control for the bookmark...
[vlc] / src / libvlc.h
index a97ddea5651ac6d82216c37bbe77f1dc5dc12d67..53c1336c6027c2bc812c6a74d48c6819641bb546 100644 (file)
@@ -722,18 +722,26 @@ static char *ppsz_align_descriptions[] =
 #define HISTORY_FORWARD_TEXT N_("Go forward in browsing history")
 #define HISTORY_FORWARD_LONGTEXT N_("Select the key to go forward (to the next media item) in the browsing history.")
 
-#define PLAYLIST_USAGE N_("\nPlaylist items:" \
-    "\n  *.mpg, *.vob                   plain MPEG-1/2 files" \
-    "\n  [dvd://][device][@raw_device][@[title][,[chapter][,angle]]]" \
-    "\n                                 DVD device" \
-    "\n  [vcd://][device][@{S|T|E|P}[number]]" \
-    "\n                                 VCD device" \
-    "\n  [cdda://][device][@[T][track-number]]" \
-    "\n                                 Audio CD device" \
-    "\n  udpstream:[[<source address>]@[<bind address>][:<bind port>]]" \
-    "\n                                 UDP stream sent by a streaming server" \
-    "\n  vlc:pause                      pause execution of " \
-    "playlist items" \
+#define AUDIO_TRACK_KEY_TEXT N_("Cycle audio track")
+#define AUDIO_TRACK_KEY_LONGTEXT N_("Cycle through the available audio tracks(languages)")
+#define SUBTITLE_TRACK_KEY_TEXT N_("Cycle subtitle track")
+#define SUBTITLE_TRACK_KEY_LONGTEXT N_("Cycle through the available subtitle tracks")
+
+#define PLAYLIST_USAGE N_( \
+    "\nPlaylist MRL syntax:" \
+    "\n  URL[@[title][:chapter][-[title][:chapter]]] [:option=value]" \
+    "\nURL syntax:" \
+    "\n  [file://]filename              plain media file" \
+    "\n  http://ip:port/file            HTTP URL" \
+    "\n  ftp://ip:port/file             FTP URL" \
+    "\n  mms://ip:port/file             MMS URL" \
+    "\n  screen://                      Screen capture" \
+    "\n  [dvd://][device][@raw_device]  DVD device" \
+    "\n  [vcd://][device]               VCD device" \
+    "\n  [cdda://][device]              Audio CD device" \
+    "\n  udp:[[<source address>]@[<bind address>][:<bind port>]]" \
+    "\n                                 UDP stream sent by a streaming server"\
+    "\n  vlc:pause                      pause execution of playlist items" \
     "\n  vlc:quit                       quit VLC" \
     "\n")
 
@@ -1003,111 +1011,221 @@ vlc_module_begin();
 
     /* Hotkey options*/
     add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , VLC_FALSE );
+
 #if defined(SYS_DARWIN)
-    add_key( "key-fullscreen", KEY_MODIFIER_COMMAND|'f', NULL, FULLSCREEN_KEY_TEXT, FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-play-pause", KEY_MODIFIER_COMMAND|'p', NULL, PLAY_PAUSE_KEY_TEXT, PLAY_PAUSE_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-pause", 0, NULL, PAUSE_KEY_TEXT, PAUSE_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play", 0, NULL, PLAY_KEY_TEXT, PLAY_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-faster", KEY_MODIFIER_COMMAND|'=', NULL, FASTER_KEY_TEXT, FASTER_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-slower", KEY_MODIFIER_COMMAND|'-', NULL, SLOWER_KEY_TEXT, SLOWER_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-next", KEY_MODIFIER_COMMAND|KEY_RIGHT, NULL, NEXT_KEY_TEXT, NEXT_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-prev", KEY_MODIFIER_COMMAND|KEY_LEFT, NULL, PREV_KEY_TEXT, PREV_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-stop", KEY_MODIFIER_COMMAND|'.', NULL, STOP_KEY_TEXT, STOP_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-position", 't', NULL, POSITION_KEY_TEXT, POSITION_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-jump-10sec", KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB10SEC_KEY_TEXT, JB10SEC_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump+10sec", KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF10SEC_KEY_TEXT, JF10SEC_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump-1min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_LEFT, NULL, JB1MIN_KEY_TEXT, JB1MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump+1min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_RIGHT, NULL, JF1MIN_KEY_TEXT, JF1MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump-5min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB5MIN_KEY_TEXT, JB5MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump+5min", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF5MIN_KEY_TEXT, JF5MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-nav-activate", KEY_ENTER, NULL, NAV_ACTIVATE_KEY_TEXT, NAV_ACTIVATE_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-up", KEY_UP, NULL, NAV_UP_KEY_TEXT, NAV_UP_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-down", KEY_DOWN, NULL, NAV_DOWN_KEY_TEXT, NAV_DOWN_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-left", KEY_LEFT, NULL, NAV_LEFT_KEY_TEXT, NAV_LEFT_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-right", KEY_RIGHT, NULL, NAV_RIGHT_KEY_TEXT, NAV_RIGHT_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-quit", KEY_MODIFIER_COMMAND|'q', NULL, QUIT_KEY_TEXT, QUIT_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-vol-up", KEY_MODIFIER_COMMAND|KEY_UP, NULL, VOL_UP_KEY_TEXT, VOL_UP_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-vol-down", KEY_MODIFIER_COMMAND|KEY_DOWN, NULL, VOL_DOWN_KEY_TEXT, VOL_DOWN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-vol-mute", KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'m', NULL, VOL_MUTE_KEY_TEXT, VOL_MUTE_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-subdelay-up", KEY_MODIFIER_COMMAND|'k', NULL,
-             SUBDELAY_UP_KEY_TEXT, SUBDELAY_UP_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-subdelay-down", KEY_MODIFIER_COMMAND|'j', NULL,
-             SUBDELAY_DOWN_KEY_TEXT, SUBDELAY_DOWN_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark1", KEY_MODIFIER_COMMAND|KEY_F1, NULL, SET_BOOKMARK1_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark2", KEY_MODIFIER_COMMAND|KEY_F2, NULL, SET_BOOKMARK2_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark3", KEY_MODIFIER_COMMAND|KEY_F3, NULL, SET_BOOKMARK3_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark4", KEY_MODIFIER_COMMAND|KEY_F4, NULL, SET_BOOKMARK4_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark5", KEY_MODIFIER_COMMAND|KEY_F5, NULL, SET_BOOKMARK5_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark6", KEY_MODIFIER_COMMAND|KEY_F6, NULL, SET_BOOKMARK6_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark7", KEY_MODIFIER_COMMAND|KEY_F7, NULL, SET_BOOKMARK7_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark8", KEY_MODIFIER_COMMAND|KEY_F8, NULL, SET_BOOKMARK8_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark9", KEY_UNSET, NULL, SET_BOOKMARK9_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark10", KEY_UNSET, NULL, SET_BOOKMARK10_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark1", KEY_F1, NULL, PLAY_BOOKMARK1_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark2", KEY_F2, NULL, PLAY_BOOKMARK2_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark3", KEY_F3, NULL, PLAY_BOOKMARK3_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark4", KEY_F4, NULL, PLAY_BOOKMARK4_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark5", KEY_F5, NULL, PLAY_BOOKMARK5_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark6", KEY_F6, NULL, PLAY_BOOKMARK6_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark7", KEY_F7, NULL, PLAY_BOOKMARK7_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark8", KEY_F8, NULL, PLAY_BOOKMARK8_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark9", KEY_UNSET, NULL, PLAY_BOOKMARK9_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark10", KEY_UNSET, NULL, PLAY_BOOKMARK10_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-history-back", KEY_MODIFIER_COMMAND|'[', NULL, HISTORY_BACK_TEXT, HISTORY_BACK_LONGTEXT, VLC_TRUE );
-    add_key( "key-history-forward", KEY_MODIFIER_COMMAND|']', NULL, HISTORY_FORWARD_TEXT, HISTORY_FORWARD_LONGTEXT, VLC_TRUE );
+#   define KEY_FULLSCREEN         KEY_MODIFIER_COMMAND|'f'
+#   define KEY_PLAY_PAUSE         KEY_MODIFIER_COMMAND|'p'
+#   define KEY_PAUSE              KEY_UNSET
+#   define KEY_PLAY               KEY_UNSET
+#   define KEY_FASTER             KEY_MODIFIER_COMMAND|'='
+#   define KEY_SLOWER             KEY_MODIFIER_COMMAND|'-'
+#   define KEY_NEXT               KEY_MODIFIER_COMMAND|KEY_RIGHT
+#   define KEY_PREV               KEY_MODIFIER_COMMAND|KEY_LEFT
+#   define KEY_STOP               KEY_MODIFIER_COMMAND|'.'
+#   define KEY_POSITION           't'
+#   define KEY_JUMP_M10SEC        KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_P10SEC        KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_RIGHT
+#   define KEY_JUMP_M1MIN         KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_LEFT
+#   define KEY_JUMP_P1MIN         KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_RIGHT
+#   define KEY_JUMP_M5MIN         KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_P5MIN         KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_MODIFIER_ALT|KEY_RIGHT
+#   define KEY_NAV_ACTIVATE       KEY_ENTER
+#   define KEY_NAV_UP             KEY_UP
+#   define KEY_NAV_DOWN           KEY_DOWN
+#   define KEY_NAV_LEFT           KEY_LEFT
+#   define KEY_NAV_RIGHT          KEY_RIGHT
+#   define KEY_QUIT               KEY_MODIFIER_COMMAND|'q'
+#   define KEY_VOL_UP             KEY_MODIFIER_COMMAND|KEY_UP
+#   define KEY_VOL_DOWN           KEY_MODIFIER_COMMAND|KEY_DOWN
+#   define KEY_VOL_MUTE           KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|'m'
+#   define KEY_SUBDELAY_UP        KEY_MODIFIER_COMMAND|'k'
+#   define KEY_SUBDELAY_DOWN      KEY_MODIFIER_COMMAND|'j'
+#   define KEY_AUDIO_TRACK        'l'
+#   define KEY_SUBTITLE_TRACK     's'
+
+#   define KEY_SET_BOOKMARK1      KEY_MODIFIER_COMMAND|KEY_F1
+#   define KEY_SET_BOOKMARK2      KEY_MODIFIER_COMMAND|KEY_F2
+#   define KEY_SET_BOOKMARK3      KEY_MODIFIER_COMMAND|KEY_F3
+#   define KEY_SET_BOOKMARK4      KEY_MODIFIER_COMMAND|KEY_F4
+#   define KEY_SET_BOOKMARK5      KEY_MODIFIER_COMMAND|KEY_F5
+#   define KEY_SET_BOOKMARK6      KEY_MODIFIER_COMMAND|KEY_F6
+#   define KEY_SET_BOOKMARK7      KEY_MODIFIER_COMMAND|KEY_F7
+#   define KEY_SET_BOOKMARK8      KEY_MODIFIER_COMMAND|KEY_F8
+#   define KEY_SET_BOOKMARK9      KEY_UNSET
+#   define KEY_SET_BOOKMARK10     KEY_UNSET
+#   define KEY_PLAY_BOOKMARK1     KEY_F1
+#   define KEY_PLAY_BOOKMARK2     KEY_F2
+#   define KEY_PLAY_BOOKMARK3     KEY_F3
+#   define KEY_PLAY_BOOKMARK4     KEY_F4
+#   define KEY_PLAY_BOOKMARK5     KEY_F5
+#   define KEY_PLAY_BOOKMARK6     KEY_F6
+#   define KEY_PLAY_BOOKMARK7     KEY_F7
+#   define KEY_PLAY_BOOKMARK8     KEY_F8
+#   define KEY_PLAY_BOOKMARK9     KEY_UNSET
+#   define KEY_PLAY_BOOKMARK10    KEY_UNSET
+#   define KEY_HISTORY_BACK       KEY_MODIFIER_COMMAND|'['
+#   define KEY_HISTORY_FORWARD    KEY_MODIFIER_COMMAND|']'
+
 #else
-    add_key( "key-fullscreen", 'f', NULL, FULLSCREEN_KEY_TEXT, FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-play-pause", KEY_SPACE, NULL, PLAY_PAUSE_KEY_TEXT, PLAY_PAUSE_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-pause", 0, NULL, PAUSE_KEY_TEXT, PAUSE_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play", 0, NULL, PLAY_KEY_TEXT, PLAY_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-faster", '+', NULL, FASTER_KEY_TEXT, FASTER_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-slower", '-', NULL, SLOWER_KEY_TEXT, SLOWER_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-next", 'n', NULL, NEXT_KEY_TEXT, NEXT_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-prev", 'p', NULL, PREV_KEY_TEXT, PREV_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-stop", 's', NULL, STOP_KEY_TEXT, STOP_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-position", 't', NULL, POSITION_KEY_TEXT, POSITION_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-jump-10sec", KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB10SEC_KEY_TEXT, JB10SEC_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump+10sec", KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF10SEC_KEY_TEXT, JF10SEC_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump-1min", KEY_MODIFIER_CTRL|KEY_LEFT, NULL, JB1MIN_KEY_TEXT, JB1MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump+1min", KEY_MODIFIER_CTRL|KEY_RIGHT, NULL, JF1MIN_KEY_TEXT, JF1MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump-5min", KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|KEY_LEFT, NULL, JB5MIN_KEY_TEXT, JB5MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump+5min", KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|KEY_RIGHT, NULL, JF5MIN_KEY_TEXT, JF5MIN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-nav-activate", KEY_ENTER, NULL, NAV_ACTIVATE_KEY_TEXT, NAV_ACTIVATE_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-up", KEY_UP, NULL, NAV_UP_KEY_TEXT, NAV_UP_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-down", KEY_DOWN, NULL, NAV_DOWN_KEY_TEXT, NAV_DOWN_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-left", KEY_LEFT, NULL, NAV_LEFT_KEY_TEXT, NAV_LEFT_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-nav-right", KEY_RIGHT, NULL, NAV_RIGHT_KEY_TEXT, NAV_RIGHT_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-quit", KEY_MODIFIER_CTRL|'q', NULL, QUIT_KEY_TEXT, QUIT_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-vol-up", 'a', NULL, VOL_UP_KEY_TEXT, VOL_UP_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-vol-down", 'z', NULL, VOL_DOWN_KEY_TEXT, VOL_DOWN_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-vol-mute", 'm', NULL, VOL_MUTE_KEY_TEXT, VOL_MUTE_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-subdelay-up", KEY_MODIFIER_COMMAND|'h', NULL,
+#   define KEY_FULLSCREEN         'f'
+#   define KEY_PLAY_PAUSE         KEY_SPACE
+#   define KEY_PAUSE              KEY_UNSET
+#   define KEY_PLAY               KEY_UNSET
+#   define KEY_FASTER             '+'
+#   define KEY_SLOWER             '-'
+#   define KEY_NEXT               'n'
+#   define KEY_PREV               'p'
+#   define KEY_STOP               's'
+#   define KEY_POSITION           't'
+#   define KEY_JUMP_M10SEC        KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_P10SEC        KEY_MODIFIER_ALT|KEY_RIGHT
+#   define KEY_JUMP_M1MIN         KEY_MODIFIER_CTRL|KEY_LEFT
+#   define KEY_JUMP_P1MIN         KEY_MODIFIER_CTRL|KEY_RIGHT
+#   define KEY_JUMP_M5MIN         KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_P5MIN         KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|KEY_RIGHT
+#   define KEY_NAV_ACTIVATE       KEY_ENTER
+#   define KEY_NAV_UP             KEY_UP
+#   define KEY_NAV_DOWN           KEY_DOWN
+#   define KEY_NAV_LEFT           KEY_LEFT
+#   define KEY_NAV_RIGHT          KEY_RIGHT
+#   define KEY_QUIT               KEY_MODIFIER_CTRL|'q'
+#   define KEY_VOL_UP             KEY_MODIFIER_CTRL|KEY_UP
+#   define KEY_VOL_DOWN           KEY_MODIFIER_CTRL|KEY_DOWN
+#   define KEY_VOL_MUTE           'm'
+#   define KEY_SUBDELAY_UP        KEY_MODIFIER_COMMAND|'h'
+#   define KEY_SUBDELAY_DOWN      KEY_MODIFIER_COMMAND|'j'
+#   define KEY_AUDIO_TRACK        'l'
+#   define KEY_SUBTITLE_TRACK     'k'
+
+#   define KEY_SET_BOOKMARK1      KEY_MODIFIER_CTRL|KEY_F1
+#   define KEY_SET_BOOKMARK2      KEY_MODIFIER_CTRL|KEY_F2
+#   define KEY_SET_BOOKMARK3      KEY_MODIFIER_CTRL|KEY_F3
+#   define KEY_SET_BOOKMARK4      KEY_MODIFIER_CTRL|KEY_F4
+#   define KEY_SET_BOOKMARK5      KEY_MODIFIER_CTRL|KEY_F5
+#   define KEY_SET_BOOKMARK6      KEY_MODIFIER_CTRL|KEY_F6
+#   define KEY_SET_BOOKMARK7      KEY_MODIFIER_CTRL|KEY_F7
+#   define KEY_SET_BOOKMARK8      KEY_MODIFIER_CTRL|KEY_F8
+#   define KEY_SET_BOOKMARK9      KEY_MODIFIER_CTRL|KEY_F9
+#   define KEY_SET_BOOKMARK10     KEY_MODIFIER_CTRL|KEY_F10
+#   define KEY_PLAY_BOOKMARK1     KEY_F1
+#   define KEY_PLAY_BOOKMARK2     KEY_F2
+#   define KEY_PLAY_BOOKMARK3     KEY_F3
+#   define KEY_PLAY_BOOKMARK4     KEY_F4
+#   define KEY_PLAY_BOOKMARK5     KEY_F5
+#   define KEY_PLAY_BOOKMARK6     KEY_F6
+#   define KEY_PLAY_BOOKMARK7     KEY_F7
+#   define KEY_PLAY_BOOKMARK8     KEY_F8
+#   define KEY_PLAY_BOOKMARK9     KEY_F9
+#   define KEY_PLAY_BOOKMARK10    KEY_F10
+#   define KEY_HISTORY_BACK       KEY_MODIFIER_CTRL|'['
+#   define KEY_HISTORY_FORWARD    KEY_MODIFIER_CTRL|']'
+#endif
+
+    add_key( "key-fullscreen", KEY_FULLSCREEN, NULL, FULLSCREEN_KEY_TEXT,
+             FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-play-pause", KEY_PLAY_PAUSE, NULL, PLAY_PAUSE_KEY_TEXT,
+             PLAY_PAUSE_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-pause", KEY_PAUSE, NULL, PAUSE_KEY_TEXT,
+             PAUSE_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play", KEY_PLAY, NULL, PLAY_KEY_TEXT,
+             PLAY_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-faster", KEY_FASTER, NULL, FASTER_KEY_TEXT,
+             FASTER_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-slower", KEY_SLOWER, NULL, SLOWER_KEY_TEXT,
+             SLOWER_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-next", KEY_NEXT, NULL, NEXT_KEY_TEXT,
+             NEXT_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-prev", KEY_PREV, NULL, PREV_KEY_TEXT,
+             PREV_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-stop", KEY_STOP, NULL, STOP_KEY_TEXT,
+             STOP_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-position", KEY_POSITION, NULL, POSITION_KEY_TEXT,
+             POSITION_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-jump-10sec", KEY_JUMP_M10SEC, NULL, JB10SEC_KEY_TEXT,
+             JB10SEC_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+10sec", KEY_JUMP_P10SEC, NULL, JF10SEC_KEY_TEXT,
+             JF10SEC_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump-1min", KEY_JUMP_M1MIN, NULL, JB1MIN_KEY_TEXT,
+             JB1MIN_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+1min", KEY_JUMP_P1MIN, NULL, JF1MIN_KEY_TEXT,
+             JF1MIN_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump-5min", KEY_JUMP_M5MIN, NULL, JB5MIN_KEY_TEXT,
+             JB5MIN_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+5min", KEY_JUMP_P5MIN, NULL, JF5MIN_KEY_TEXT,
+             JF5MIN_KEY_LONGTEXT, VLC_FALSE );
+
+    add_key( "key-nav-activate", KEY_NAV_ACTIVATE, NULL, NAV_ACTIVATE_KEY_TEXT,
+             NAV_ACTIVATE_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-nav-up", KEY_NAV_UP, NULL, NAV_UP_KEY_TEXT,
+             NAV_UP_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-nav-down", KEY_NAV_DOWN, NULL, NAV_DOWN_KEY_TEXT,
+             NAV_DOWN_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-nav-left", KEY_NAV_LEFT, NULL, NAV_LEFT_KEY_TEXT,
+             NAV_LEFT_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-nav-right", KEY_NAV_RIGHT, NULL, NAV_RIGHT_KEY_TEXT,
+             NAV_RIGHT_KEY_LONGTEXT, VLC_TRUE );
+
+    add_key( "key-quit", KEY_QUIT, NULL, QUIT_KEY_TEXT,
+             QUIT_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-vol-up", KEY_VOL_UP, NULL, VOL_UP_KEY_TEXT,
+             VOL_UP_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-vol-down", KEY_VOL_DOWN, NULL, VOL_DOWN_KEY_TEXT,
+             VOL_DOWN_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-vol-mute", KEY_VOL_MUTE, NULL, VOL_MUTE_KEY_TEXT,
+             VOL_MUTE_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-subdelay-up", KEY_SUBDELAY_UP, NULL,
              SUBDELAY_UP_KEY_TEXT, SUBDELAY_UP_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-subdelay-down", KEY_MODIFIER_COMMAND|'j', NULL,
+    add_key( "key-subdelay-down", KEY_SUBDELAY_DOWN, NULL,
              SUBDELAY_DOWN_KEY_TEXT, SUBDELAY_DOWN_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark1", KEY_MODIFIER_CTRL|KEY_F1, NULL, SET_BOOKMARK1_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark2", KEY_MODIFIER_CTRL|KEY_F2, NULL, SET_BOOKMARK2_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark3", KEY_MODIFIER_CTRL|KEY_F3, NULL, SET_BOOKMARK3_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark4", KEY_MODIFIER_CTRL|KEY_F4, NULL, SET_BOOKMARK4_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark5", KEY_MODIFIER_CTRL|KEY_F5, NULL, SET_BOOKMARK5_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark6", KEY_MODIFIER_CTRL|KEY_F6, NULL, SET_BOOKMARK6_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark7", KEY_MODIFIER_CTRL|KEY_F7, NULL, SET_BOOKMARK7_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark8", KEY_MODIFIER_CTRL|KEY_F8, NULL, SET_BOOKMARK8_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark9", KEY_MODIFIER_CTRL|KEY_F9, NULL, SET_BOOKMARK9_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-set-bookmark10", KEY_MODIFIER_CTRL|KEY_F10, NULL, SET_BOOKMARK10_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark1", KEY_F1, NULL, PLAY_BOOKMARK1_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark2", KEY_F2, NULL, PLAY_BOOKMARK2_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark3", KEY_F3, NULL, PLAY_BOOKMARK3_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark4", KEY_F4, NULL, PLAY_BOOKMARK4_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark5", KEY_F5, NULL, PLAY_BOOKMARK5_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark6", KEY_F6, NULL, PLAY_BOOKMARK6_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark7", KEY_F7, NULL, PLAY_BOOKMARK7_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark8", KEY_F8, NULL, PLAY_BOOKMARK8_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark9", KEY_F9, NULL, PLAY_BOOKMARK9_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-play-bookmark10", KEY_F10, NULL, PLAY_BOOKMARK10_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-history-back", KEY_MODIFIER_CTRL|'[', NULL, HISTORY_BACK_TEXT, HISTORY_BACK_LONGTEXT, VLC_TRUE );
-    add_key( "key-history-forward", KEY_MODIFIER_CTRL|']', NULL, HISTORY_FORWARD_TEXT, HISTORY_FORWARD_LONGTEXT, VLC_TRUE );
-#endif
+    add_key( "key-audio-track", KEY_AUDIO_TRACK, NULL, AUDIO_TRACK_KEY_TEXT,
+             AUDIO_TRACK_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-subtitle-track", KEY_SUBTITLE_TRACK, NULL,
+             SUBTITLE_TRACK_KEY_TEXT, SUBTITLE_TRACK_KEY_LONGTEXT, VLC_FALSE );
+
+    add_key( "key-set-bookmark1", KEY_SET_BOOKMARK1, NULL,
+             SET_BOOKMARK1_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark2", KEY_SET_BOOKMARK2, NULL,
+             SET_BOOKMARK2_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark3", KEY_SET_BOOKMARK3, NULL,
+             SET_BOOKMARK3_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark4", KEY_SET_BOOKMARK4, NULL,
+             SET_BOOKMARK4_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark5", KEY_SET_BOOKMARK5, NULL,
+             SET_BOOKMARK5_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark6", KEY_SET_BOOKMARK6, NULL,
+             SET_BOOKMARK6_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark7", KEY_SET_BOOKMARK7, NULL,
+             SET_BOOKMARK7_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark8", KEY_SET_BOOKMARK8, NULL,
+             SET_BOOKMARK8_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark9", KEY_SET_BOOKMARK9, NULL,
+             SET_BOOKMARK9_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-set-bookmark10", KEY_SET_BOOKMARK10, NULL,
+             SET_BOOKMARK10_KEY_TEXT, SET_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark1", KEY_PLAY_BOOKMARK1, NULL,
+             PLAY_BOOKMARK1_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark2", KEY_PLAY_BOOKMARK2, NULL,
+             PLAY_BOOKMARK2_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark3", KEY_PLAY_BOOKMARK3, NULL,
+             PLAY_BOOKMARK3_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark4", KEY_PLAY_BOOKMARK4, NULL,
+             PLAY_BOOKMARK4_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark5", KEY_PLAY_BOOKMARK5, NULL,
+             PLAY_BOOKMARK5_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark6", KEY_PLAY_BOOKMARK6, NULL,
+             PLAY_BOOKMARK6_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark7", KEY_PLAY_BOOKMARK7, NULL,
+             PLAY_BOOKMARK7_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark8", KEY_PLAY_BOOKMARK8, NULL,
+             PLAY_BOOKMARK8_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark9", KEY_PLAY_BOOKMARK9, NULL,
+             PLAY_BOOKMARK9_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-play-bookmark10", KEY_PLAY_BOOKMARK10, NULL,
+             PLAY_BOOKMARK10_KEY_TEXT, PLAY_BOOKMARK_KEY_LONGTEXT, VLC_TRUE );
+    add_key( "key-history-back", KEY_HISTORY_BACK, NULL, HISTORY_BACK_TEXT,
+             HISTORY_BACK_LONGTEXT, VLC_TRUE );
+    add_key( "key-history-forward", KEY_HISTORY_FORWARD, NULL,
+             HISTORY_FORWARD_TEXT, HISTORY_FORWARD_LONGTEXT, VLC_TRUE );
 
     /* Usage (mainly useful for cmd line stuff) */
     add_usage_hint( PLAYLIST_USAGE );
@@ -1170,6 +1288,8 @@ static struct hotkey p_hotkeys[] =
     { "key-vol-mute", ACTIONID_VOL_MUTE, 0 },
     { "key-subdelay-down", ACTIONID_SUBDELAY_DOWN, 0 },
     { "key-subdelay-up", ACTIONID_SUBDELAY_UP, 0 },
+    { "key-audio-track", ACTIONID_AUDIO_TRACK, 0},
+    { "key-subtitle-track", ACTIONID_SUBTITLE_TRACK, 0},
     { "key-nav-activate", ACTIONID_NAV_ACTIVATE, 0 },
     { "key-nav-up", ACTIONID_NAV_UP, 0 },
     { "key-nav-down", ACTIONID_NAV_DOWN, 0 },
@@ -1199,3 +1319,4 @@ static struct hotkey p_hotkeys[] =
     { "key-history-forward", ACTIONID_HISTORY_FORWARD, 0},
     { NULL, 0, 0 }
 };
+