[vlc-commits] vlc_keys: define mouse's middle, 4 & 5 buttons.

Francois Cartegnie git at videolan.org
Fri Mar 2 01:36:15 CET 2012


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Fri Feb 24 19:24:52 2012 +0100| [aeb250f758bfce98368ccb094067a8ad82bea7c6] | committer: Francois Cartegnie

vlc_keys: define mouse's middle, 4 & 5 buttons.

The same way as Wheel left/right, allow to use
those buttons for GUI shortcuts.

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=aeb250f758bfce98368ccb094067a8ad82bea7c6
---

 include/vlc_keys.h       |    4 ++++
 include/vlc_mouse.h      |    2 ++
 src/config/keys.c        |    3 +++
 src/video_output/event.h |    5 ++++-
 4 files changed, 13 insertions(+), 1 deletions(-)

diff --git a/include/vlc_keys.h b/include/vlc_keys.h
index f08243b..0c23672 100644
--- a/include/vlc_keys.h
+++ b/include/vlc_keys.h
@@ -81,6 +81,10 @@
 #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
diff --git a/include/vlc_mouse.h b/include/vlc_mouse.h
index b488535..8565e5a 100644
--- a/include/vlc_mouse.h
+++ b/include/vlc_mouse.h
@@ -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
 };
 
diff --git a/src/config/keys.c b/src/config/keys.c
index b833e02..62616a8 100644
--- a/src/config/keys.c
+++ b/src/config/keys.c
@@ -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   },
diff --git a/src/video_output/event.h b/src/video_output/event.h
index 38c7be4..bcd3835 100644
--- a/src/video_output/event.h
+++ b/src/video_output/event.h
@@ -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);
 }



More information about the vlc-commits mailing list