vlc | branch: master | Rémi Denis-Courmont <[email protected]> | 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 */ _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
