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

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)
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);
}
......
......@@ -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 */
......
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