changeset 25422:31bc1206890c

Fix mouse button mapping: MOUSE_BTN1 is middle buttion, MOUSE_BTN2 is right button.
author ulion
date Tue, 18 Dec 2007 14:48:30 +0000
parents cc1b8a9d0ae2
children 875d77cb7bbc
files libvo/vo_macosx.m libvo/vo_quartz.c
diffstat 2 files changed, 12 insertions(+), 6 deletions(-) [+]
line wrap: on
line diff
--- a/libvo/vo_macosx.m	Tue Dec 18 11:54:17 2007 +0000
+++ b/libvo/vo_macosx.m	Tue Dec 18 14:48:30 2007 +0000
@@ -1048,17 +1048,23 @@
 {
 	if ( [theEvent buttonNumber] >= 0 && [theEvent buttonNumber] <= 9 )
 	{
+		int buttonNumber = [theEvent buttonNumber];
+		// Fix to mplayer defined button order: left, middle, right
+		if (buttonNumber == 1)
+			buttonNumber = 2;
+		else if (buttonNumber == 1)
+			buttonNumber = 2;
 		switch([theEvent type])
 		{
 			case NSLeftMouseDown:
 			case NSRightMouseDown:
 			case NSOtherMouseDown:
-				mplayer_put_key((MOUSE_BTN0 + [theEvent buttonNumber]) | MP_KEY_DOWN);
+				mplayer_put_key((MOUSE_BTN0 + buttonNumber) | MP_KEY_DOWN);
 				break;
 			case NSLeftMouseUp:
 			case NSRightMouseUp:
 			case NSOtherMouseUp:
-				mplayer_put_key(MOUSE_BTN0 + [theEvent buttonNumber]);
+				mplayer_put_key(MOUSE_BTN0 + buttonNumber);
 				break;
 		}
 	}
--- a/libvo/vo_quartz.c	Tue Dec 18 11:54:17 2007 +0000
+++ b/libvo/vo_quartz.c	Tue Dec 18 14:48:30 2007 +0000
@@ -328,10 +328,10 @@
 							mplayer_put_key(MOUSE_BTN0);
 							break;
 						case kEventMouseButtonSecondary:
-							mplayer_put_key(MOUSE_BTN1);
+							mplayer_put_key(MOUSE_BTN2);
 							break;
 						case kEventMouseButtonTertiary:
-							mplayer_put_key(MOUSE_BTN2);
+							mplayer_put_key(MOUSE_BTN1);
 							break;
 				
 						default:result = eventNotHandledErr;break;
@@ -358,10 +358,10 @@
 							mplayer_put_key(MOUSE_BTN0 | MP_KEY_DOWN);
 							break;
 						case kEventMouseButtonSecondary:
-							mplayer_put_key(MOUSE_BTN1 | MP_KEY_DOWN);
+							mplayer_put_key(MOUSE_BTN2 | MP_KEY_DOWN);
 							break;
 						case kEventMouseButtonTertiary:
-							mplayer_put_key(MOUSE_BTN2 | MP_KEY_DOWN);
+							mplayer_put_key(MOUSE_BTN1 | MP_KEY_DOWN);
 							break;
 				
 						default:result = eventNotHandledErr;break;