From 8ecffae5f6f461182f26b917777b9ef3e1b1905d Mon Sep 17 00:00:00 2001 From: "John F. Fay" Date: Thu, 26 May 2005 12:26:31 +0000 Subject: [PATCH] Takeshi Nishimura\'s changes to make the Windows mouse wheel/button mapping match that of X11; also fixing a typo in the associated mouse callback argument list git-svn-id: svn+ssh://svn.code.sf.net/p/freeglut/code/trunk/freeglut/freeglut@628 7f0cb862-5218-0410-a997-914c9d46530a --- src/freeglut_main.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/freeglut_main.c b/src/freeglut_main.c index 6d70b8a..7f62b84 100644 --- a/src/freeglut_main.c +++ b/src/freeglut_main.c @@ -1477,11 +1477,14 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, else /* No mouse wheel, call the mouse button callback twice */ { /* + * Map wheel zero to button 3 and 4; +1 to 3, -1 to 4 + * " " one +1 to 5, -1 to 6, ... + * * XXX The below assumes that you have no more than 3 mouse * XXX buttons. Sorry. */ - int button = wheel_number*2 + 4; - if( direction > 0 ) + int button = wheel_number * 2 + 3; + if( direction < 0 ) ++button; INVOKE_WCB( *window, Mouse, ( button, GLUT_DOWN, @@ -1489,7 +1492,7 @@ LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam, ); INVOKE_WCB( *window, Mouse, ( button, GLUT_UP, - window->State.MouseX, window->State.MouseX ) + window->State.MouseX, window->State.MouseY ) ); } -- 1.7.10.4