]> git.sesse.net Git - vlc/commitdiff
vlc_keys: define mouse's middle, 4 & 5 buttons.
authorFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 24 Feb 2012 18:24:52 +0000 (19:24 +0100)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Fri, 2 Mar 2012 00:35:42 +0000 (01:35 +0100)
The same way as Wheel left/right, allow to use
those buttons for GUI shortcuts.

include/vlc_keys.h
include/vlc_mouse.h
src/config/keys.c
src/video_output/event.h

index f08243bddf0f2b06752bba8665ce50b2dc5d57bb..0c23672ca1adef91ba788e88c33fbd70aff456a1 100644 (file)
 #define KEY_MEDIA_STOP       0x004B0000
 #define KEY_MEDIA_PLAY_PAUSE 0x004C0000
 
+#define KEY_MOUSEBUTTON_MID  0x00ED0000
+#define KEY_MOUSEBUTTON_X1   0x00EE0000
+#define KEY_MOUSEBUTTON_X2   0x00EF0000
+
 #define KEY_MOUSEWHEELUP     0x00F00000
 #define KEY_MOUSEWHEELDOWN   0x00F10000
 #define KEY_MOUSEWHEELLEFT   0x00F20000
index b48853570a09ad1d77cc95cda0c5b04b5028ee80..8565e5a4b99dc695a0bb7ae74ca0386f69a7a582 100644 (file)
@@ -36,6 +36,8 @@ enum
     MOUSE_BUTTON_WHEEL_DOWN,
     MOUSE_BUTTON_WHEEL_LEFT,
     MOUSE_BUTTON_WHEEL_RIGHT,
+    MOUSE_BUTTON_X1,
+    MOUSE_BUTTON_X2,
     MOUSE_BUTTON_MAX
 };
 
index b833e02af5d34241a30d588e6aa5fa3fc0a29298..62616a888647c2fe2ac46ea3054ab198990de013 100644 (file)
@@ -85,6 +85,9 @@ static const struct key_descriptor_s vlc_keys[] =
     { "Media Prev Track",  KEY_MEDIA_PREV_TRACK  },
     { "Media Stop",        KEY_MEDIA_STOP        },
     { "Menu",              KEY_MENU              },
+    { "Mouse Button Mid",  KEY_MOUSEBUTTON_MID   },
+    { "Mouse Button X1",   KEY_MOUSEBUTTON_X1    },
+    { "Mouse Button X2",   KEY_MOUSEBUTTON_X2    },
     { "Mouse Wheel Down",  KEY_MOUSEWHEELDOWN    },
     { "Mouse Wheel Left",  KEY_MOUSEWHEELLEFT    },
     { "Mouse Wheel Right", KEY_MOUSEWHEELRIGHT   },
index 38c7be40bda53fa6d38c87aa3ae6ba4455492486..bcd38357edc8dc2bd6d177bc22fcfc582fd055ca 100644 (file)
@@ -72,7 +72,8 @@ static inline void vout_SendEventMousePressed(vout_thread_t *vout, int button)
     }
     case MOUSE_BUTTON_CENTER:
         var_ToggleBool(vout->p_libvlc, "intf-toggle-fscontrol");
-        return;
+        key = KEY_MOUSEBUTTON_MID;
+        break;
     case MOUSE_BUTTON_RIGHT:
         var_SetBool(vout->p_libvlc, "intf-popupmenu", true);
         return;
@@ -80,6 +81,8 @@ static inline void vout_SendEventMousePressed(vout_thread_t *vout, int button)
     case MOUSE_BUTTON_WHEEL_DOWN:  key = KEY_MOUSEWHEELDOWN;  break;
     case MOUSE_BUTTON_WHEEL_LEFT:  key = KEY_MOUSEWHEELLEFT;  break;
     case MOUSE_BUTTON_WHEEL_RIGHT: key = KEY_MOUSEWHEELRIGHT; break;
+    case MOUSE_BUTTON_X1:          key = KEY_MOUSEBUTTON_X1; break;
+    case MOUSE_BUTTON_X2:          key = KEY_MOUSEBUTTON_X2; break;
     }
     vout_SendEventKey(vout, key);
 }