Commit aa958337 authored by Rémi Denis-Courmont's avatar Rémi Denis-Courmont

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

parent 3b0f342f
...@@ -511,21 +511,26 @@ struct vlc_actions *vlc_InitActions (libvlc_int_t *libvlc) ...@@ -511,21 +511,26 @@ struct vlc_actions *vlc_InitActions (libvlc_int_t *libvlc)
keys->psz_action = NULL; keys->psz_action = NULL;
/* Initialize mouse wheel events */ /* Initialize mouse wheel events */
int mousemode = var_InheritInteger (obj, "hotkeys-mousewheel-mode"); int xmode = var_InheritInteger (obj, "hotkeys-x-wheel-mode");
if (mousemode < 2) if (xmode < 2)
{ {
vlc_AddMapping (&as->map, vlc_AddMapping (&as->map, KEY_MOUSEWHEELLEFT,
mousemode ? KEY_MOUSEWHEELRIGHT : KEY_MOUSEWHEELUP, xmode ? ACTIONID_JUMP_BACKWARD_EXTRASHORT
ACTIONID_VOL_UP); : ACTIONID_VOL_DOWN);
vlc_AddMapping (&as->map, vlc_AddMapping (&as->map, KEY_MOUSEWHEELRIGHT,
mousemode ? KEY_MOUSEWHEELLEFT : KEY_MOUSEWHEELDOWN, xmode ? ACTIONID_JUMP_FORWARD_EXTRASHORT
ACTIONID_VOL_DOWN); : ACTIONID_VOL_UP);
vlc_AddMapping (&as->map, }
mousemode ? KEY_MOUSEWHEELUP : KEY_MOUSEWHEELRIGHT,
ACTIONID_JUMP_FORWARD_EXTRASHORT); int ymode = var_InheritInteger (obj, "hotkeys-y-wheel-mode");
vlc_AddMapping (&as->map, if (ymode < 2)
mousemode ? KEY_MOUSEWHEELDOWN : KEY_MOUSEWHEELLEFT, {
ACTIONID_JUMP_BACKWARD_EXTRASHORT); 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);
} }
......
...@@ -1172,20 +1172,18 @@ static const char *const ppsz_prefres[] = { ...@@ -1172,20 +1172,18 @@ static const char *const ppsz_prefres[] = {
#define HOTKEY_CAT_LONGTEXT N_( "These settings are the global VLC key " \ #define HOTKEY_CAT_LONGTEXT N_( "These settings are the global VLC key " \
"bindings, known as \"hotkeys\"." ) "bindings, known as \"hotkeys\"." )
enum{
MOUSEWHEEL_VOLUME,
MOUSEWHEEL_POSITION,
NO_MOUSEWHEEL,
};
static const int mouse_wheel_values[] = { 2, 0, 1 }; static const int mouse_wheel_values[] = { 2, 0, 1 };
static const char *const mouse_wheel_texts[] = static const char *const mouse_wheel_texts[] =
{ N_("Ignore"), N_("Volume Control"), N_("Position Control") }; { N_("Ignore"), N_("Volume Control"), N_("Position Control") };
#define MOUSE_WHEEL_MODE_TEXT N_("MouseWheel up-down axis Control") #define MOUSE_Y_WHEEL_MODE_TEXT N_("Mouse wheel vertical axis control")
#define MOUSE_WHEEL_MODE_LONGTEXT N_( \ #define MOUSE_Y_WHEEL_MODE_LONGTEXT N_( \
"The MouseWheel up-down (vertical) axis can control volume, position or " \ "The mouse wheel vertical (up/down) axis can control volume, " \
"mousewheel event can be ignored") "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_TEXT N_("Fullscreen")
#define TOGGLE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state.") #define TOGGLE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state.")
#define LEAVE_FULLSCREEN_KEY_TEXT N_("Exit fullscreen") #define LEAVE_FULLSCREEN_KEY_TEXT N_("Exit fullscreen")
...@@ -2093,9 +2091,13 @@ vlc_module_begin () ...@@ -2093,9 +2091,13 @@ vlc_module_begin ()
set_subcategory( SUBCAT_INTERFACE_HOTKEYS ) set_subcategory( SUBCAT_INTERFACE_HOTKEYS )
add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , false ) add_category_hint( N_("Hot keys"), HOTKEY_CAT_LONGTEXT , false )
add_integer( "hotkeys-mousewheel-mode", 0, MOUSE_WHEEL_MODE_TEXT, add_integer( "hotkeys-y-wheel-mode", 0, MOUSE_Y_WHEEL_MODE_TEXT,
MOUSE_WHEEL_MODE_LONGTEXT, false ) 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 ) change_integer_list( mouse_wheel_values, mouse_wheel_texts )
add_obsolete_integer( "hotkeys-mousewheel-mode" ) /* since 3.0.0 */
#if defined(__APPLE__) #if defined(__APPLE__)
/* Don't use the following combo's */ /* Don't use the following combo's */
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment