#if TARGET_HOST_UNIX_X11
# define _JS_MAX_AXES 16
# if defined(__FreeBSD__) || defined(__NetBSD__)
-/*
- * XXX The below hack is done until freeglut's autoconf is updated.
- */
+/* XXX The below hack is done until freeglut's autoconf is updated. */
# define HAVE_USB_JS 1
# include <sys/ioctl.h>
#define JS_TRUE 1
#define JS_FALSE 0
-/*
- * BSD defines from "jsBSD.cxx" around lines 42-270
- */
+/* BSD defines from "jsBSD.cxx" around lines 42-270 */
#if defined(__NetBSD__) || defined(__FreeBSD__)
# ifdef HAVE_USB_JS
# if defined(__NetBSD__)
-/*
- * XXX The below hack is done until freeglut's autoconf is updated.
- */
+/* XXX The below hack is done until freeglut's autoconf is updated. */
# define HAVE_USBHID_H 1
# ifdef HAVE_USBHID_H
# include <usbhid.h>
# if __FreeBSD_version < 500000
# include <libusbhid.h>
# else
-/*
- * XXX The below hack is done until freeglut's autoconf is updated.
- */
+/* XXX The below hack is done until freeglut's autoconf is updated. */
# define HAVE_USBHID_H 1
# include <usbhid.h>
# endif
return 1;
} else if (errno == EACCES) {
if (!protection_warned) {
- fprintf(stderr, "Can't open %s for read!\n",
- buf);
+ fgWarning ( "Can't open %s for read!", buf );
protection_warned = 1;
}
}
if ( ( rd = hid_get_report_desc( os->fd ) ) == 0 )
{
- fprintf( stderr, "error: %s: %s", os->fname, strerror( errno ) );
+ fgWarning ( "error: %s: %s", os->fname, strerror( errno ) );
return FALSE;
}
if( ioctl( os->fd, USB_GET_REPORT_ID, &report_id ) < 0)
{
/*** XXX {report_id} may not be the right variable? ***/
- fprintf( stderr, "error: %s%d: %s",
- UHIDDEV, report_id, strerror( errno ) );
+ fgWarning ( "error: %s%d: %s", UHIDDEV, report_id, strerror( errno ) );
return FALSE;
}
static void fghJoystickFindDevices ( SFG_Joystick* joy, mach_port_t );
static CFDictionaryRef fghJoystickGetCFProperties ( SFG_Joystick* joy, io_object_t );
-void fghJoystickEnumerateElements ( SFG_Joystick* joy, CFTypeRef element );
+static void fghJoystickEnumerateElements ( SFG_Joystick* joy, CFTypeRef element );
/* callback for CFArrayApply */
static void fghJoystickElementEnumerator ( SFG_Joystick* joy, void *element, void* vjs );
-void fghJoystickParseElement ( SFG_Joystick* joy, CFDictionaryRef element );
+static void fghJoystickParseElement ( SFG_Joystick* joy, CFDictionaryRef element );
-void fghJoystickAddAxisElement ( SFG_Joystick* joy, CFDictionaryRef axis );
-void fghJoystickAddButtonElement ( SFG_Joystick* joy, CFDictionaryRef button );
-void fghJoystickAddHatElement ( SFG_Joystick* joy, CFDictionaryRef hat );
+static void fghJoystickAddAxisElement ( SFG_Joystick* joy, CFDictionaryRef axis );
+static void fghJoystickAddButtonElement ( SFG_Joystick* joy, CFDictionaryRef button );
+static void fghJoystickAddHatElement ( SFG_Joystick* joy, CFDictionaryRef hat );
#endif
break;
default:
- fgWarning ( "%s", "PLIB_JS: Unrecognised /dev/js return!?!" );
+ fgWarning ( "PLIB_JS: Unrecognised /dev/js return!?!" );
/* use the old values */
rv = IOServiceGetMatchingServices(masterPort, hidMatch, &hidIterator);
if (rv != kIOReturnSuccess || !hidIterator) {
- fgWarning( "%s", "no joystick (HID) devices found" );
+ fgWarning( "no joystick (HID) devices found" );
return;
}
rv = IORegistryEntryGetParentEntry (ioDev, kIOServicePlane, &parent1);
if (rv != kIOReturnSuccess) {
- fgWarning ( "%s", "error getting device entry parent");
+ fgWarning ( "error getting device entry parent");
return NULL;
}
rv = IORegistryEntryGetParentEntry (parent1, kIOServicePlane, &parent2);
if (rv != kIOReturnSuccess) {
- fgWarning ( "%s", "error getting device entry parent 2");
+ fgWarning ( "error getting device entry parent 2");
return NULL;
}
#endif
rv = IORegistryEntryCreateCFProperties( ioDev /*parent2*/,
&cfProperties, kCFAllocatorDefault, kNilOptions);
if (rv != kIOReturnSuccess || !cfProperties) {
- fgWarning ( "%s", "error getting device properties");
+ fgWarning ( "error getting device properties");
return NULL;
}
break;
default:
- printf("input type element has weird usage (%x)\n", usage);
+ fgWarning ( "input type element has weird usage (%x)", usage);
break;
}
} else if (page == kHIDPage_Button) {
printf(" button\n");
fghJoystickAddButtonElement((CFDictionaryRef) element);
} else
- printf("input type element has weird page (%x)\n", page);
+ fgWarning ( "input type element has weird page (%x)", page);
break;
case kIOHIDElementTypeCollection:
joy->name[ 0 ] = '\0';
#if TARGET_HOST_MACINTOSH
- /*
- * XXX FIXME: get joystick name in Mac
- */
+ /* XXX FIXME: get joystick name in Mac */
err = ISpStartup( );
#if TARGET_HOST_MAC_OSX
if( joy->id >= numDevices )
{
- fgWarning( "%s", "device index out of range in fgJoystickOpen()" );
+ fgWarning( "device index out of range in fgJoystickOpen()" );
return;
}
if( rv != kIOReturnSuccess )
{
- fgWarning( "%s", "error creating plugin for io device" );
+ fgWarning( "error creating plugin for io device" );
return;
}
);
if( pluginResult != S_OK )
- fgWarning ( "%s", "QI-ing IO plugin to HID Device interface failed" );
+ fgWarning ( "QI-ing IO plugin to HID Device interface failed" );
( *plugin )->Release( plugin ); /* don't leak a ref */
if( joy->hidDev == NULL )
joy->max[ 0 ] = ( float )joy->jsCaps.wXmax;
}
- /*
- * Guess all the rest judging on the axes extremals
- */
+ /* Guess all the rest judging on the axes extremals */
for( i = 0; i < joy->num_axes; i++ )
{
joy->center [ i ] = ( joy->max[ i ] + joy->min[ i ] ) * 0.5f;
joy->os->fd = open( joy->os->fname, O_RDONLY | O_NONBLOCK);
if( joy->os->fd < 0 && errno == EACCES )
- fgWarning ( "%s exists but is not readable by you\n", joy->os->fname );
+ fgWarning ( "%s exists but is not readable by you", joy->os->fname );
joy->error =( joy->os->fd < 0 );
#endif
#if defined( __linux__ )
- /*
- * Default for older Linux systems.
- */
+ /* Default for older Linux systems. */
joy->num_axes = 2;
joy->num_buttons = 32;
if( joy->error )
return;
- /*
- * Set the correct number of axes for the linux driver
- */
+ /* Set the correct number of axes for the linux driver */
# ifdef JS_NEW
/* Melchior Franz's fixes for big-endian Linuxes since writing
* to the upper byte of an uninitialized word doesn't work.
void fgJoystickInit( int ident )
{
if( ident >= MAX_NUM_JOYSTICKS )
- fgError( "Too large a joystick number" );
+ fgError( "Too large a joystick number: %d", ident );
if( fgJoystick[ ident ] )
- fgError( "illegal attempt to initialize joystick device" );
+ fgError( "illegal attempt to initialize joystick device again" );
fgJoystick[ ident ] =
( SFG_Joystick * )calloc( sizeof( SFG_Joystick ), 1 );
IOReturn rv = IOMasterPort( bootstrap_port, &masterPort );
if( rv != kIOReturnSuccess )
{
- fgWarning( "%s", "error getting master Mach port" );
+ fgWarning( "error getting master Mach port" );
return;
}
fghJoystickFindDevices( masterPort );
!CFStringGetCString( ( CFStringRef )ref, name, 128,
CFStringGetSystemEncoding( ) ) )
{
- fgWarning( "%s", "error getting device name" );
+ fgWarning( "error getting device name" );
name[ 0 ] = '\0';
}
#endif
/*
* PWO: These jsJoystick class methods have not been implemented.
- * We might consider adding such functions to freeglut-2.0.
*/
int glutJoystickGetNumAxes( int ident )
{