and is provided without guarantee or warrantee expressed or
implied. This program is -not- in the public domain. */
+#ifdef __VMS
+#include <GL/vms_x_fix.h>
+#endif
+
#include <assert.h>
#include <stdio.h>
#include <stdlib.h>
}
#endif /* !_WIN32 */
-int
+static int
__glutProcessDeviceEvents(XEvent * event)
{
#if !defined(_WIN32)
#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;
+
+ memset(&info, 0, sizeof(JOYINFOEX));
+ info.dwSize = sizeof(JOYINFOEX);
+ info.dwFlags = JOY_RETURNALL;
+
+ 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 */
XButtonInfoPtr b;
XValuatorInfoPtr v;
XAxisInfoPtr a;
- int num_dev, btns, dials;
+ int num_dev = 0, btns = 0, dials = 0;
int i, j, k;
#endif /* !_WIN32 */