return 0;
}
+static void vlc_AddWheelMapping (void **map, uint32_t kmore, uint32_t kless,
+ int mode)
+{
+ vlc_action_t amore = ACTIONID_NONE, aless = ACTIONID_NONE;
+
+ switch (mode)
+ {
+ case 0: /* volume up/down */
+ amore = ACTIONID_VOL_UP;
+ aless = ACTIONID_VOL_DOWN;
+ break;
+ case 2: /* position latter/earlier */
+ amore = ACTIONID_JUMP_FORWARD_EXTRASHORT;
+ aless = ACTIONID_JUMP_BACKWARD_EXTRASHORT;
+ break;
+ case 3: /* position earlier/latter */
+ amore = ACTIONID_JUMP_BACKWARD_EXTRASHORT;
+ aless = ACTIONID_JUMP_FORWARD_EXTRASHORT;
+ break;
+ }
+
+ if (amore != ACTIONID_NONE)
+ vlc_AddMapping (map, kmore, amore);
+ if (aless != ACTIONID_NONE)
+ vlc_AddMapping (map, kless, aless);
+}
+
+
/**
* Sets up all key mappings for a given action.
* \param map tree (of struct mapping entries) to write mappings to
keys->psz_action = NULL;
/* Initialize mouse wheel events */
- int xmode = var_InheritInteger (obj, "hotkeys-x-wheel-mode");
- if (xmode < 2)
- {
- 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);
- }
-
+ vlc_AddWheelMapping (&as->map, KEY_MOUSEWHEELRIGHT, KEY_MOUSEWHEELLEFT,
+ var_InheritInteger (obj, "hotkeys-x-wheel-mode"));
+ vlc_AddWheelMapping (&as->map, KEY_MOUSEWHEELUP, KEY_MOUSEWHEELDOWN,
+ var_InheritInteger (obj, "hotkeys-y-wheel-mode"));
libvlc->p_hotkeys = as->keys;
var_AddCallback (obj, "key-pressed", vlc_key_to_action, &as->map);
#define HOTKEY_CAT_LONGTEXT N_( "These settings are the global VLC key " \
"bindings, known as \"hotkeys\"." )
-static const int mouse_wheel_values[] = { 2, 0, 1 };
-static const char *const mouse_wheel_texts[] =
- { N_("Ignore"), N_("Volume Control"), N_("Position Control") };
+static const int mouse_wheel_values[] = { -1, 0, 2, 3, };
+static const char *const mouse_wheel_texts[] = {
+ N_("Ignore"), N_("Volume control"),
+ N_("Position control"), N_("Position control reversed"),
+};
#define MOUSE_Y_WHEEL_MODE_TEXT N_("Mouse wheel vertical axis control")
#define MOUSE_Y_WHEEL_MODE_LONGTEXT N_( \
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,
+ add_integer( "hotkeys-x-wheel-mode", 2, 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 */