From: John F. Fay Date: Thu, 26 May 2005 12:26:31 +0000 (+0000) Subject: Takeshi Nishimura\'s changes to make the Windows mouse wheel/button mapping match... X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=commitdiff_plain;h=8ecffae5f6f461182f26b917777b9ef3e1b1905d;p=freeglut 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 --- 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 ) ); }