From 43a6a8bfbb1b55fe49ccbcb82997ddad51ce809b Mon Sep 17 00:00:00 2001 From: kappaOne Date: Mon, 28 Oct 2013 23:51:44 +0000 Subject: [PATCH] Implement right mouse click on OS X when pressing control + click. This restores the previous mouse behaviour as found in LWJGL 2.8.5 and below. --- src/native/macosx/org_lwjgl_opengl_Display.m | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/src/native/macosx/org_lwjgl_opengl_Display.m b/src/native/macosx/org_lwjgl_opengl_Display.m index f90aa8a9..5b8f7898 100644 --- a/src/native/macosx/org_lwjgl_opengl_Display.m +++ b/src/native/macosx/org_lwjgl_opengl_Display.m @@ -57,6 +57,9 @@ static NSAutoreleasePool *pool; static MacOSXPeerInfo *peer_info; +static bool leftMouseDown = false; +static bool rightMouseDown = false; + @implementation MacOSXKeyableWindow + (void) createWindow { @@ -348,6 +351,13 @@ static MacOSXPeerInfo *peer_info; } - (void)mouseDown:(NSEvent *)event { + if ([event modifierFlags] & NSControlKeyMask) { + rightMouseDown = true; + [self rightMouseDown:event]; + return; + } + + leftMouseDown = true; [self mouseButtonState:event :0 :1]; } @@ -360,7 +370,15 @@ static MacOSXPeerInfo *peer_info; } - (void)mouseUp:(NSEvent *)event { - [self mouseButtonState:event :0 :0]; + if (rightMouseDown) { + rightMouseDown = false; + [self rightMouseUp:event]; + } + + if (leftMouseDown) { + leftMouseDown = false; + [self mouseButtonState:event :0 :0]; + } } - (void)rightMouseUp:(NSEvent *)event {