From: Brian Paul Date: Fri, 23 Jun 2000 16:21:55 +0000 (+0000) Subject: applied joystick patch from Michael Champigny X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=4ec13a48b186c92c293fce8d7f6e071b8586dba8;p=mesa.git applied joystick patch from Michael Champigny --- diff --git a/src/glut/glx/glut_input.c b/src/glut/glx/glut_input.c index eea96349eaf..007883d6b6e 100644 --- a/src/glut/glx/glut_input.c +++ b/src/glut/glx/glut_input.c @@ -159,7 +159,7 @@ tabletPosChange(GLUTwindow * window, int first, int count, int *data) } #endif /* !_WIN32 */ -int +static int __glutProcessDeviceEvents(XEvent * event) { #if !defined(_WIN32) @@ -264,18 +264,17 @@ __glutProcessDeviceEvents(XEvent * event) #else { JOYINFOEX info; - int njoyId = 0; - int nConnected = 0; - MMRESULT result; - - /* Loop through all possible joystick IDs until we get the error - JOYERR_PARMS. Count the number of times we get JOYERR_NOERROR - indicating an installed joystick driver with a joystick currently - attached to the port. */ - while ((result = joyGetPosEx(njoyId++,&info)) != JOYERR_PARMS) { - if (result == JOYERR_NOERROR) { - ++nConnected; /* The count of connected joysticks. */ - } + JOYCAPS joyCaps; + + if (joyGetPosEx(JOYSTICKID1,&info) != JOYERR_NOERROR) { + __glutHasJoystick = 1; + joyGetDevCaps(JOYSTICKID1, &joyCaps, sizeof(joyCaps)); + __glutNumJoystickButtons = joyCaps.wNumButtons; + __glutNumJoystickAxes = joyCaps.wNumAxes; + } else { + __glutHasJoystick = 0; + __glutNumJoystickButtons = 0; + __glutNumJoystickAxes = 0; } } #endif /* !_WIN32 */