[vlc-commits] keys: separate config for each axis of the mouse wheel (fixes #5883)

Rémi Denis-Courmont git at videolan.org
Sat Aug 16 11:29:37 CEST 2014


vlc | branch: master | Rémi Denis-Courmont <remi at remlab.net> | Sat Aug 16 12:25:20 2014 +0300| [aa95833762fcb48ebe70b8d0b5e36e554b807a83] | committer: Rémi Denis-Courmont

keys: separate config for each axis of the mouse wheel (fixes #5883)

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=aa95833762fcb48ebe70b8d0b5e36e554b807a83
---

 src/config/keys.c   |   33 +++++++++++++++++++--------------
 src/libvlc-module.c |   26 ++++++++++++++------------
 2 files changed, 33 insertions(+), 26 deletions(-)

diff --git a/src/config/keys.c b/src/config/keys.c
index 9ae252b..c7dc9c6 100644
--- a/src/config/keys.c
+++ b/src/config/keys.c
@@ -511,21 +511,26 @@ struct vlc_actions *vlc_InitActions (libvlc_int_t *libvlc)
     keys->psz_action = NULL;
 
     /* Initialize mouse wheel events */
-    int mousemode = var_InheritInteger (obj, "hotkeys-mousewheel-mode");
-    if (mousemode < 2)
+    int xmode = var_InheritInteger (obj, "hotkeys-x-wheel-mode");
+    if (xmode < 2)
     {
-        vlc_AddMapping (&as->map,
-                        mousemode ? KEY_MOUSEWHEELRIGHT : KEY_MOUSEWHEELUP,
-                        ACTIONID_VOL_UP);
-        vlc_AddMapping (&as->map,
-                        mousemode ? KEY_MOUSEWHEELLEFT : KEY_MOUSEWHEELDOWN,
-                        ACTIONID_VOL_DOWN);
-        vlc_AddMapping (&as->map,
-                        mousemode ? KEY_MOUSEWHEELUP : KEY_MOUSEWHEELRIGHT,
-                        ACTIONID_JUMP_FORWARD_EXTRASHORT);
-        vlc_AddMapping (&as->map,
-                        mousemode ? KEY_MOUSEWHEELDOWN : KEY_MOUSEWHEELLEFT,
-                        ACTIONID_JUMP_BACKWARD_EXTRASHORT);
+        vlc_AddMapping (&as->map, KEY_MOUSEWHEELLEFT,
+                        xmode ? ACTIONID_JUMP_BACKWARD_EXTRASHORT
+                              : ACTIONID_VOL_DOWN);
+        vlc_AddMapping (&as->map, KEY_MOUSEWHEELRIGHT,
+                        xmode ? ACTIONID_JUMP_FORWARD_EXTRASHORT
+                              : ACTIONID_VOL_UP);
+    }
+
+    int ymode = var_InheritInteger (obj, "hotkeys-y-wheel-mode");
+    if (ymode < 2)
+    {
+        vlc_AddMapping (&as->map, KEY_MOUSEWHEELDOWN,
+                        ymode ? ACTIONID_JUMP_BACKWARD_EXTRASHORT
+                              : ACTIONID_VOL_DOWN);
+        vlc_AddMapping (&as->map, KEY_MOUSEWHEELUP,
+                        ymode ? ACTIONID_JUMP_FORWARD_EXTRASHORT
+                              : ACTIONID_VOL_UP);
     }
 
 
diff --git a/src/libvlc-module.c b/src/libvlc-module.c
index f0ee030..d985eca 100644
--- a/src/libvlc-module.c
+++ b/src/libvlc-module.c
@@ -1172,20 +1172,18 @@ static const char *const ppsz_prefres[] = {
 #define HOTKEY_CAT_LONGTEXT N_( "These settings are the global VLC key " \
     "bindings, known as \"hotkeys\"." )
 
-enum{
-    MOUSEWHEEL_VOLUME,
-    MOUSEWHEEL_POSITION,
-    NO_MOUSEWHEEL,
-};
-
 static const int mouse_wheel_values[] = { 2, 0, 1 };
 static const char *const mouse_wheel_texts[] =
     { N_("Ignore"), N_("Volume Control"), N_("Position Control") };
 
-#define MOUSE_WHEEL_MODE_TEXT N_("MouseWheel up-down axis Control")
-#define MOUSE_WHEEL_MODE_LONGTEXT N_( \
-   "The MouseWheel up-down (vertical) axis can control volume, position or " \
-   "mousewheel event can be ignored")
+#define MOUSE_Y_WHEEL_MODE_TEXT N_("Mouse wheel vertical axis control")
+#define MOUSE_Y_WHEEL_MODE_LONGTEXT N_( \
+   "The mouse wheel vertical (up/down) axis can control volume, " \
+   "position or be ignored.")
+#define MOUSE_X_WHEEL_MODE_TEXT N_("Mouse wheel horizontal axis control")
+#define MOUSE_X_WHEEL_MODE_LONGTEXT N_( \
+   "The mouse wheel horizontal (left/right) axis can control volume, " \
+   "position or be ignored.")
 #define TOGGLE_FULLSCREEN_KEY_TEXT N_("Fullscreen")
 #define TOGGLE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state.")
 #define LEAVE_FULLSCREEN_KEY_TEXT N_("Exit fullscreen")
@@ -2093,9 +2091,13 @@ vlc_module_begin ()
     set_subcategory( SUBCAT_INTERFACE_HOTKEYS )
     add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , false )
 
-    add_integer( "hotkeys-mousewheel-mode", 0, MOUSE_WHEEL_MODE_TEXT,
-                 MOUSE_WHEEL_MODE_LONGTEXT, false )
+    add_integer( "hotkeys-y-wheel-mode", 0, MOUSE_Y_WHEEL_MODE_TEXT,
+                 MOUSE_Y_WHEEL_MODE_LONGTEXT, false )
+        change_integer_list( mouse_wheel_values, mouse_wheel_texts )
+    add_integer( "hotkeys-x-wheel-mode", 1, MOUSE_X_WHEEL_MODE_TEXT,
+                 MOUSE_X_WHEEL_MODE_LONGTEXT, false )
         change_integer_list( mouse_wheel_values, mouse_wheel_texts )
+    add_obsolete_integer( "hotkeys-mousewheel-mode" ) /* since 3.0.0 */
 
 #if defined(__APPLE__)
 /* Don't use the following combo's */



More information about the vlc-commits mailing list