summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libvo/vo_macosx.h3
-rw-r--r--libvo/vo_macosx.m35
2 files changed, 33 insertions, 5 deletions
diff --git a/libvo/vo_macosx.h b/libvo/vo_macosx.h
index 2a6365cfe4..04a2381e54 100644
--- a/libvo/vo_macosx.h
+++ b/libvo/vo_macosx.h
@@ -73,8 +73,11 @@
- (void) keyDown: (NSEvent *) theEvent;
- (void) mouseMoved: (NSEvent *) theEvent;
- (void) mouseDown: (NSEvent *) theEvent;
+- (void) mouseUp: (NSEvent *) theEvent;
- (void) rightMouseDown: (NSEvent *) theEvent;
+- (void) rightMouseUp: (NSEvent *) theEvent;
- (void) otherMouseDown: (NSEvent *) theEvent;
+- (void) otherMouseUp: (NSEvent *) theEvent;
- (void) scrollWheel: (NSEvent *) theEvent;
- (void) mouseEvent: (NSEvent *) theEvent;
- (void) check_events;
diff --git a/libvo/vo_macosx.m b/libvo/vo_macosx.m
index e3aa5c894a..b8bc32dc96 100644
--- a/libvo/vo_macosx.m
+++ b/libvo/vo_macosx.m
@@ -947,16 +947,31 @@ static int control(uint32_t request, void *data, ...)
[self mouseEvent: theEvent];
}
+- (void) mouseUp: (NSEvent *) theEvent
+{
+ [self mouseEvent: theEvent];
+}
+
- (void) rightMouseDown: (NSEvent *) theEvent
{
[self mouseEvent: theEvent];
}
+- (void) rightMouseUp: (NSEvent *) theEvent
+{
+ [self mouseEvent: theEvent];
+}
+
- (void) otherMouseDown: (NSEvent *) theEvent
{
[self mouseEvent: theEvent];
}
+- (void) otherMouseUp: (NSEvent *) theEvent
+{
+ [self mouseEvent: theEvent];
+}
+
- (void) scrollWheel: (NSEvent *) theEvent
{
if([theEvent deltaY] > 0)
@@ -967,11 +982,21 @@ static int control(uint32_t request, void *data, ...)
- (void) mouseEvent: (NSEvent *) theEvent
{
- switch( [theEvent buttonNumber] )
- {
- case 0: mplayer_put_key(MOUSE_BTN0);break;
- case 1: mplayer_put_key(MOUSE_BTN1);break;
- case 2: mplayer_put_key(MOUSE_BTN2);break;
+ if ( [theEvent buttonNumber] >= 0 && [theEvent buttonNumber] <= 9 )
+ {
+ switch([theEvent type])
+ {
+ case NSLeftMouseDown:
+ case NSRightMouseDown:
+ case NSOtherMouseDown:
+ mplayer_put_key((MOUSE_BTN0 + [theEvent buttonNumber]) | MP_KEY_DOWN);
+ break;
+ case NSLeftMouseUp:
+ case NSRightMouseUp:
+ case NSOtherMouseUp:
+ mplayer_put_key(MOUSE_BTN0 + [theEvent buttonNumber]);
+ break;
+ }
}
}