+ * SpecialKeyEvent: callback for mouse events
+ *****************************************************************************/
+static int SpecialKeyEvent( vlc_object_t *libvlc, char const *psz_var,
+ vlc_value_t oldval, vlc_value_t newval,
+ void *p_data )
+{
+ intf_thread_t *p_intf = (intf_thread_t *)p_data;
+ int i_action;
+
+ (void)libvlc;
+ (void)psz_var;
+ (void)oldval;
+
+ /* Special action for mouse event */
+ /* FIXME: This should probably be configurable */
+ /* FIXME: rework hotkeys handling to allow more than 1 event
+ * to trigger one same action */
+ switch (newval.i_int & KEY_SPECIAL)
+ {
+ case KEY_MOUSEWHEELUP:
+ i_action = ACTIONID_VOL_UP;
+ break;
+ case KEY_MOUSEWHEELDOWN:
+ i_action = ACTIONID_VOL_DOWN;
+ break;
+ case KEY_MOUSEWHEELLEFT:
+ i_action = ACTIONID_JUMP_BACKWARD_EXTRASHORT;
+ break;
+ case KEY_MOUSEWHEELRIGHT:
+ i_action = ACTIONID_JUMP_FORWARD_EXTRASHORT;
+ break;
+ default:
+ return VLC_SUCCESS;
+ }
+
+ return PutAction( p_intf, i_action );
+}
+
+/*****************************************************************************
+ * ActionEvent: callback for hotkey actions