]> git.sesse.net Git - vlc/commitdiff
* : make jump hotkeys time interval user configurable
authorAntoine Cellerier <dionoea@videolan.org>
Sat, 26 Nov 2005 00:27:12 +0000 (00:27 +0000)
committerAntoine Cellerier <dionoea@videolan.org>
Sat, 26 Nov 2005 00:27:12 +0000 (00:27 +0000)
The hotkey item in the prefs kind of looks akward. Someone have a better idea ?

include/vlc_keys.h
modules/control/hotkeys.c
modules/control/rc.c
modules/gui/macosx/intf.m
src/libvlc.h

index 0fb52cc8d6a0d20c88a7fa5540478cb04b96817c..98b93f716281b1e72bdc4320f547c271e3e002f9 100644 (file)
@@ -200,14 +200,14 @@ static inline int StringToKey( char *psz_key )
 #define ACTIONID_NAV_DOWN              15
 #define ACTIONID_NAV_LEFT              16
 #define ACTIONID_NAV_RIGHT             17
-#define ACTIONID_JUMP_BACKWARD_3SEC    18
-#define ACTIONID_JUMP_FORWARD_3SEC     19
-#define ACTIONID_JUMP_BACKWARD_10SEC   20
-#define ACTIONID_JUMP_FORWARD_10SEC    21
-#define ACTIONID_JUMP_BACKWARD_1MIN    22
-#define ACTIONID_JUMP_FORWARD_1MIN     23
-#define ACTIONID_JUMP_BACKWARD_5MIN    24
-#define ACTIONID_JUMP_FORWARD_5MIN     25
+#define ACTIONID_JUMP_BACKWARD_EXTRASHORT 18
+#define ACTIONID_JUMP_FORWARD_EXTRASHORT  19
+#define ACTIONID_JUMP_BACKWARD_SHORT   20
+#define ACTIONID_JUMP_FORWARD_SHORT    21
+#define ACTIONID_JUMP_BACKWARD_MEDIUM  22
+#define ACTIONID_JUMP_FORWARD_MEDIUM   23
+#define ACTIONID_JUMP_BACKWARD_LONG    24
+#define ACTIONID_JUMP_FORWARD_LONG     25
 #define ACTIONID_POSITION              26
 #define ACTIONID_VOL_MUTE              27
 /* let ACTIONID_SET_BOOMARK* and ACTIONID_PLAY_BOOKMARK* be contiguous */
index 08fd30b2d9eb1400e04f4bb7e8027c787c0b2f19..44204027eab57240d3343825e34a58cb1918d0f6 100644 (file)
@@ -94,8 +94,31 @@ static void ClearChannels  ( intf_thread_t *, vout_thread_t * );
 #define BOOKMARK_LONGTEXT N_( \
     "This option allows you to define playlist bookmarks.")
 
+#define JIEXTRASHORT_TEXT N_("Extra short jump key interval")
+#define JIEXTRASHORT_LONGTEXT N_("Extra short jump key interval in seconds")
+#define JISHORT_TEXT N_("Short jump key interval")
+#define JISHORT_LONGTEXT N_("Short jump key interval in seconds")
+#define JIMEDIUM_TEXT N_("Medium jump key interval")
+#define JIMEDIUM_LONGTEXT N_("Medium jump key interval in seconds")
+#define JILONG_TEXT N_("Long jump key interval")
+#define JILONG_LONGTEXT N_("Long jump key interval in seconds")
+
 vlc_module_begin();
+    set_shortname( _("Hotkeys") );
     set_description( _("Hotkeys management interface") );
+    set_category( CAT_INTERFACE );
+//    set_subcategory( SUBCAT_INTERFACE_GENERAL );
+
+    /* jump key user defined time intervals */
+    add_integer( "key-jump-extrashort-interval", 3, NULL, JIEXTRASHORT_TEXT,
+                JIEXTRASHORT_LONGTEXT, VLC_FALSE );
+    add_integer( "key-jump-short-interval", 10, NULL, JISHORT_TEXT,
+                JISHORT_LONGTEXT, VLC_FALSE );
+    add_integer( "key-jump-medium-interval", 60, NULL, JIMEDIUM_TEXT,
+                JIMEDIUM_LONGTEXT, VLC_FALSE );
+    add_integer( "key-jump-long-interval", 300, NULL, JILONG_TEXT,
+                JILONG_LONGTEXT, VLC_FALSE );
+
     add_string( "bookmark1", NULL, NULL,
                 BOOKMARK1_TEXT, BOOKMARK_LONGTEXT, VLC_FALSE );
     add_string( "bookmark2", NULL, NULL,
@@ -382,6 +405,7 @@ static void Run( intf_thread_t *p_intf )
              * That's not that easy with some special stream
              */
             vlc_bool_t b_seekable = VLC_TRUE;
+            int i_interval =0;
 
             if( i_action == ACTIONID_PAUSE )
             {
@@ -391,53 +415,46 @@ static void Run( intf_thread_t *p_intf )
                 val.i_int = PAUSE_S;
                 var_Set( p_input, "state", val );
             }
-            else if( i_action == ACTIONID_JUMP_BACKWARD_3SEC && b_seekable )
+            else if( i_action == ACTIONID_JUMP_BACKWARD_EXTRASHORT && b_seekable )
             {
-                val.i_time = (-3000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+#define SET_TIME( a, b ) \
+    i_interval = config_GetInt( p_input, "key-jump-" a "-interval" ); \
+    if( i_interval > 0 ) { \
+        val.i_time = ( (mtime_t)(i_interval * b) * 1000000L \
+                       * ((mtime_t)(1 << i_times))); \
+        var_Set( p_input, "time-offset", val ); \
+        DisplayPosition( p_intf, p_vout, p_input ); \
+    }
+                SET_TIME( "extrashort", -1 );
             }
-            else if( i_action == ACTIONID_JUMP_FORWARD_3SEC && b_seekable )
+            else if( i_action == ACTIONID_JUMP_FORWARD_EXTRASHORT && b_seekable )
             {
-                val.i_time = (3000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+                SET_TIME( "extrashort", 1 );
             }
-            else if( i_action == ACTIONID_JUMP_BACKWARD_10SEC && b_seekable )
+            else if( i_action == ACTIONID_JUMP_BACKWARD_SHORT && b_seekable )
             {
-                val.i_time = (-10000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+                SET_TIME( "short", -1 );
             }
-            else if( i_action == ACTIONID_JUMP_FORWARD_10SEC && b_seekable )
+            else if( i_action == ACTIONID_JUMP_FORWARD_SHORT && b_seekable )
             {
-                val.i_time = (10000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+                SET_TIME( "short", 1 );
             }
-            else if( i_action == ACTIONID_JUMP_BACKWARD_1MIN && b_seekable )
+            else if( i_action == ACTIONID_JUMP_BACKWARD_MEDIUM && b_seekable )
             {
-                val.i_time = (-60000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+                SET_TIME( "medium", -1 );
             }
-            else if( i_action == ACTIONID_JUMP_FORWARD_1MIN && b_seekable )
+            else if( i_action == ACTIONID_JUMP_FORWARD_MEDIUM && b_seekable )
             {
-                val.i_time = (60000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+                SET_TIME( "medium", 1 );
             }
-            else if( i_action == ACTIONID_JUMP_BACKWARD_5MIN && b_seekable )
+            else if( i_action == ACTIONID_JUMP_BACKWARD_LONG && b_seekable )
             {
-                val.i_time = (-300000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+                SET_TIME( "long", -1 );
             }
-            else if( i_action == ACTIONID_JUMP_FORWARD_5MIN && b_seekable )
+            else if( i_action == ACTIONID_JUMP_FORWARD_LONG && b_seekable )
             {
-                val.i_time = (300000000L * ((mtime_t)(1 << i_times)));
-                var_Set( p_input, "time-offset", val );
-                DisplayPosition( p_intf, p_vout, p_input );
+                SET_TIME( "long", 1 );
+#undef SET_TIME
             }
             else if( i_action == ACTIONID_AUDIO_TRACK )
             {
index 2907ad22b1f11558b588ce76d6bcb6ab7dc753ac..76c24b3385734ac2e7ad3a2f788552a7eae7f1ba 100644 (file)
@@ -1088,14 +1088,14 @@ static int Input( vlc_object_t *p_this, char const *psz_cmd,
     }
     else if ( !strcmp( psz_cmd, "fastforward" ) )
     {
-        val.i_int = config_GetInt( p_intf, "key-jump+3sec" );
+        val.i_int = config_GetInt( p_intf, "key-jump+extrashort" );
         var_Set( p_intf->p_vlc, "key-pressed", val );
         vlc_object_release( p_input );
         return VLC_SUCCESS;
     }
     else if ( !strcmp( psz_cmd, "rewind" ) )
     {
-        val.i_int = config_GetInt( p_intf, "key-jump-3sec" );
+        val.i_int = config_GetInt( p_intf, "key-jump-extrashort" );
         var_Set( p_intf->p_vlc, "key-pressed", val );
         vlc_object_release( p_input );
         return VLC_SUCCESS;
index 2d6c213dd46b7611e05cfc185fc53030d85e3770..f55a693cd25f2ccd9f58b6dfd89aa1dfe0179ae2 100644 (file)
@@ -352,22 +352,22 @@ static VLCMain *_o_sharedMainInstance = nil;
     i_key = config_GetInt( p_intf, "key-next" );
     [o_mi_next setKeyEquivalent: [NSString stringWithFormat:@"%C", VLCKeyToCocoa( i_key )]];
     [o_mi_next setKeyEquivalentModifierMask: VLCModifiersToCocoa(i_key)];
-    i_key = config_GetInt( p_intf, "key-jump+10sec" );
+    i_key = config_GetInt( p_intf, "key-jump+short" );
     [o_mi_fwd setKeyEquivalent: [NSString stringWithFormat:@"%C", VLCKeyToCocoa( i_key )]];
     [o_mi_fwd setKeyEquivalentModifierMask: VLCModifiersToCocoa(i_key)];
-    i_key = config_GetInt( p_intf, "key-jump-10sec" );
+    i_key = config_GetInt( p_intf, "key-jump-short" );
     [o_mi_bwd setKeyEquivalent: [NSString stringWithFormat:@"%C", VLCKeyToCocoa( i_key )]];
     [o_mi_bwd setKeyEquivalentModifierMask: VLCModifiersToCocoa(i_key)];
-    i_key = config_GetInt( p_intf, "key-jump+1min" );
+    i_key = config_GetInt( p_intf, "key-jump+medium" );
     [o_mi_fwd1m setKeyEquivalent: [NSString stringWithFormat:@"%C", VLCKeyToCocoa( i_key )]];
     [o_mi_fwd1m setKeyEquivalentModifierMask: VLCModifiersToCocoa(i_key)];
-    i_key = config_GetInt( p_intf, "key-jump-1min" );
+    i_key = config_GetInt( p_intf, "key-jump-medium" );
     [o_mi_bwd1m setKeyEquivalent: [NSString stringWithFormat:@"%C", VLCKeyToCocoa( i_key )]];
     [o_mi_bwd1m setKeyEquivalentModifierMask: VLCModifiersToCocoa(i_key)];
-    i_key = config_GetInt( p_intf, "key-jump+5min" );
+    i_key = config_GetInt( p_intf, "key-jump+long" );
     [o_mi_fwd5m setKeyEquivalent: [NSString stringWithFormat:@"%C", VLCKeyToCocoa( i_key )]];
     [o_mi_fwd5m setKeyEquivalentModifierMask: VLCModifiersToCocoa(i_key)];
-    i_key = config_GetInt( p_intf, "key-jump-5min" );
+    i_key = config_GetInt( p_intf, "key-jump-long" );
     [o_mi_bwd5m setKeyEquivalent: [NSString stringWithFormat:@"%C", VLCKeyToCocoa( i_key )]];
     [o_mi_bwd5m setKeyEquivalentModifierMask: VLCModifiersToCocoa(i_key)];
     i_key = config_GetInt( p_intf, "key-vol-up" );
index 690e913009a8a7e397e7108ec637c89ca6389465..63c3aca402c964548c9089a1e99091a5ae63266d 100644 (file)
@@ -808,25 +808,34 @@ static char *ppsz_clock_descriptions[] =
 #define POSITION_KEY_TEXT N_("Position")
 #define POSITION_KEY_LONGTEXT N_("Select the hotkey to display the position.")
 
-#define JB3SEC_KEY_TEXT N_("Jump 3 seconds backwards")
-#define JB3SEC_KEY_LONGTEXT N_("Select the hotkey to jump 3 seconds backwards.")
-#define JB10SEC_KEY_TEXT N_("Jump 10 seconds backwards")
-#define JB10SEC_KEY_LONGTEXT N_("Select the hotkey to jump 10 seconds backwards.")
-
-#define JB1MIN_KEY_TEXT N_("Jump 1 minute backwards")
-#define JB1MIN_KEY_LONGTEXT N_("Select the hotkey to jump 1 minute backwards.")
-#define JB5MIN_KEY_TEXT N_("Jump 5 minutes backwards")
-#define JB5MIN_KEY_LONGTEXT N_("Select the hotkey to jump 5 minutes backwards.")
-
-#define JF3SEC_KEY_TEXT N_("Jump 3 seconds forward")
-#define JF3SEC_KEY_LONGTEXT N_("Select the hotkey to jump 3 seconds forward.")
-#define JF10SEC_KEY_TEXT N_("Jump 10 seconds forward")
-#define JF10SEC_KEY_LONGTEXT N_("Select the hotkey to jump 10 seconds forward.")
-
-#define JF1MIN_KEY_TEXT N_("Jump 1 minute forward")
-#define JF1MIN_KEY_LONGTEXT N_("Select the hotkey to jump 1 minute forward.")
-#define JF5MIN_KEY_TEXT N_("Jump 5 minutes forward")
-#define JF5MIN_KEY_LONGTEXT N_("Select the hotkey to jump 5 minutes forward.")
+/* FIXME : jump keys descriptions */
+#define JBEXTRASHORT_KEY_TEXT N_("Jump 'extrashort' seconds backwards")
+#define JBEXTRASHORT_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'extrashort' seconds backwards.")
+#define JBSHORT_KEY_TEXT N_("Jump 'short' seconds backwards")
+#define JBSHORT_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'short' seconds backwards.")
+
+#define JBMEDIUM_KEY_TEXT N_("Jump 'medium' seconds backwards")
+#define JBMEDIUM_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'medium' seconds backwards.")
+#define JBLONG_KEY_TEXT N_("Jump 'long' seconds backwards")
+#define JBLONG_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'long seconds' backwards.")
+
+#define JFEXTRASHORT_KEY_TEXT N_("Jump 'extrashort' seconds forward")
+#define JFEXTRASHORT_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'extrashort' seconds forward.")
+#define JFSHORT_KEY_TEXT N_("Jump 'short' seconds forward")
+#define JFSHORT_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'short' seconds forward.")
+
+#define JFMEDIUM_KEY_TEXT N_("Jump 'medium' seconds forward")
+#define JFMEDIUM_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'medium' seconds forward.")
+#define JFLONG_KEY_TEXT N_("Jump 'long' seconds forward")
+#define JFLONG_KEY_LONGTEXT \
+    N_("Select the hotkey to jump 'long' seconds forward.")
 
 #define QUIT_KEY_TEXT N_("Quit")
 #define QUIT_KEY_LONGTEXT N_("Select the hotkey to quit the application.")
@@ -1396,14 +1405,14 @@ vlc_module_begin();
 #   define KEY_PREV               KEY_MODIFIER_COMMAND|KEY_LEFT
 #   define KEY_STOP               KEY_MODIFIER_COMMAND|'.'
 #   define KEY_POSITION           't'
-#   define KEY_JUMP_M3SEC         KEY_MODIFIER_COMMAND|KEY_MODIFIER_CTRL|KEY_LEFT
-#   define KEY_JUMP_P3SEC         KEY_MODIFIER_COMMAND|KEY_MODIFIER_CTRL|KEY_RIGHT
-#   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_JUMP_MEXTRASHORT   KEY_MODIFIER_COMMAND|KEY_MODIFIER_CTRL|KEY_LEFT
+#   define KEY_JUMP_PEXTRASHORT   KEY_MODIFIER_COMMAND|KEY_MODIFIER_CTRL|KEY_RIGHT
+#   define KEY_JUMP_MSHORT        KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_PSHORT        KEY_MODIFIER_COMMAND|KEY_MODIFIER_ALT|KEY_RIGHT
+#   define KEY_JUMP_MMEDIUM       KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_LEFT
+#   define KEY_JUMP_PMEDIUM       KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_RIGHT
+#   define KEY_JUMP_MLONG         KEY_MODIFIER_COMMAND|KEY_MODIFIER_SHIFT|KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_PLONG         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
@@ -1463,14 +1472,14 @@ vlc_module_begin();
 #   define KEY_PREV               'p'
 #   define KEY_STOP               's'
 #   define KEY_POSITION           't'
-#   define KEY_JUMP_M3SEC         KEY_MODIFIER_SHIFT|KEY_LEFT
-#   define KEY_JUMP_P3SEC         KEY_MODIFIER_SHIFT|KEY_RIGHT
-#   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_JUMP_MEXTRASHORT   KEY_MODIFIER_SHIFT|KEY_LEFT
+#   define KEY_JUMP_PEXTRASHORT   KEY_MODIFIER_SHIFT|KEY_RIGHT
+#   define KEY_JUMP_MSHORT        KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_PSHORT        KEY_MODIFIER_ALT|KEY_RIGHT
+#   define KEY_JUMP_MMEDIUM       KEY_MODIFIER_CTRL|KEY_LEFT
+#   define KEY_JUMP_PMEDIUM       KEY_MODIFIER_CTRL|KEY_RIGHT
+#   define KEY_JUMP_MLONG         KEY_MODIFIER_CTRL|KEY_MODIFIER_ALT|KEY_LEFT
+#   define KEY_JUMP_PLONG         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
@@ -1541,22 +1550,22 @@ vlc_module_begin();
              STOP_KEY_LONGTEXT, VLC_FALSE );
     add_key( "key-position", KEY_POSITION, NULL, POSITION_KEY_TEXT,
              POSITION_KEY_LONGTEXT, VLC_TRUE );
-    add_key( "key-jump-3sec", KEY_JUMP_M3SEC, NULL, JB3SEC_KEY_TEXT,
-             JB3SEC_KEY_LONGTEXT, VLC_FALSE );
-    add_key( "key-jump+3sec", KEY_JUMP_P3SEC, NULL, JF3SEC_KEY_TEXT,
-             JF3SEC_KEY_LONGTEXT, VLC_FALSE );             
-    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-jump-extrashort", KEY_JUMP_MEXTRASHORT, NULL,
+             JBEXTRASHORT_KEY_TEXT, JBEXTRASHORT_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+extrashort", KEY_JUMP_PEXTRASHORT, NULL,
+             JFEXTRASHORT_KEY_TEXT, JFEXTRASHORT_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump-short", KEY_JUMP_MSHORT, NULL, JBSHORT_KEY_TEXT,
+             JBSHORT_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+short", KEY_JUMP_PSHORT, NULL, JFSHORT_KEY_TEXT,
+             JFSHORT_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump-medium", KEY_JUMP_MMEDIUM, NULL, JBMEDIUM_KEY_TEXT,
+             JBMEDIUM_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+medium", KEY_JUMP_PMEDIUM, NULL, JFMEDIUM_KEY_TEXT,
+             JFMEDIUM_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump-long", KEY_JUMP_MLONG, NULL, JBLONG_KEY_TEXT,
+             JBLONG_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-jump+long", KEY_JUMP_PLONG, NULL, JFLONG_KEY_TEXT,
+             JFLONG_KEY_LONGTEXT, VLC_FALSE );
 
     add_key( "key-nav-activate", KEY_NAV_ACTIVATE, NULL, NAV_ACTIVATE_KEY_TEXT,
              NAV_ACTIVATE_KEY_LONGTEXT, VLC_TRUE );
@@ -1703,14 +1712,14 @@ static struct hotkey p_hotkeys[] =
     { "key-pause", ACTIONID_PAUSE, 0, 0, 0, 0 },
     { "key-stop", ACTIONID_STOP, 0, 0, 0, 0 },
     { "key-position", ACTIONID_POSITION, 0, 0, 0, 0 },
-    { "key-jump-3sec", ACTIONID_JUMP_BACKWARD_3SEC, 0, 1000000, 0, 0 },
-    { "key-jump+3sec", ACTIONID_JUMP_FORWARD_3SEC, 0, 1000000, 0, 0 },
-    { "key-jump-10sec", ACTIONID_JUMP_BACKWARD_10SEC, 0, 1000000, 0, 0 },
-    { "key-jump+10sec", ACTIONID_JUMP_FORWARD_10SEC, 0, 1000000, 0, 0 },
-    { "key-jump-1min", ACTIONID_JUMP_BACKWARD_1MIN, 0, 1000000, 0, 0 },
-    { "key-jump+1min", ACTIONID_JUMP_FORWARD_1MIN, 0, 1000000, 0, 0 },
-    { "key-jump-5min", ACTIONID_JUMP_BACKWARD_5MIN, 0, 1000000, 0, 0 },
-    { "key-jump+5min", ACTIONID_JUMP_FORWARD_5MIN, 0, 1000000, 0, 0 },
+    { "key-jump-extrashort", ACTIONID_JUMP_BACKWARD_EXTRASHORT, 0, 1000000, 0, 0 },
+    { "key-jump+extrashort", ACTIONID_JUMP_FORWARD_EXTRASHORT, 0, 1000000, 0, 0 },
+    { "key-jump-short", ACTIONID_JUMP_BACKWARD_SHORT, 0, 1000000, 0, 0 },
+    { "key-jump+short", ACTIONID_JUMP_FORWARD_SHORT, 0, 1000000, 0, 0 },
+    { "key-jump-medium", ACTIONID_JUMP_BACKWARD_MEDIUM, 0, 1000000, 0, 0 },
+    { "key-jump+medium", ACTIONID_JUMP_FORWARD_MEDIUM, 0, 1000000, 0, 0 },
+    { "key-jump-long", ACTIONID_JUMP_BACKWARD_LONG, 0, 1000000, 0, 0 },
+    { "key-jump+long", ACTIONID_JUMP_FORWARD_LONG, 0, 1000000, 0, 0 },
     { "key-prev", ACTIONID_PREV, 0, 0, 0, 0 },
     { "key-next", ACTIONID_NEXT, 0, 0, 0, 0 },
     { "key-faster", ACTIONID_FASTER, 0, 0, 0, 0 },