projects
/
freeglut
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Takeshi Nishimura\'s changes to make the Windows mouse wheel/button mapping match...
[freeglut]
/
src
/
freeglut_main.c
diff --git
a/src/freeglut_main.c
b/src/freeglut_main.c
index
5cb91ad
..
7f62b84
100644
(file)
--- a/
src/freeglut_main.c
+++ b/
src/freeglut_main.c
@@
-458,7
+458,7
@@
static void fghSleepForEvents( void )
msec = fghNextTimer( );
/* XXX Use GLUT timers for joysticks... */
/* XXX Dumb; forces granularity to .01sec */
msec = fghNextTimer( );
/* XXX Use GLUT timers for joysticks... */
/* XXX Dumb; forces granularity to .01sec */
- if( fghHaveJoystick( ) && ( msec < 10 ) )
+ if( fghHaveJoystick( ) && ( msec > 10 ) )
msec = 10;
#if TARGET_HOST_UNIX_X11
msec = 10;
#if TARGET_HOST_UNIX_X11
@@
-1477,11
+1477,14
@@
LRESULT CALLBACK fgWindowProc( HWND hWnd, UINT uMsg, WPARAM wParam,
else /* No mouse wheel, call the mouse button callback twice */
{
/*
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.
*/
* 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,
++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,
);
INVOKE_WCB( *window, Mouse,
( button, GLUT_UP,
- window->State.MouseX, window->State.MouseX )
+ window->State.MouseX, window->State.MouseY )
);
}
);
}