diff src/joystick/macos/SDL_sysjoystick.c @ 1662:782fd950bd46 SDL-1.3

Revamp of the video system in progress - adding support for multiple displays, multiple windows, and a full video mode selection API. WARNING: None of the video drivers have been updated for the new API yet! The API is still under design and very fluid. The code is now run through a consistent indent format: indent -i4 -nut -nsc -br -ce The headers are being converted to automatically generate doxygen documentation.
author Sam Lantinga <slouken@libsdl.org>
date Sun, 28 May 2006 13:04:16 +0000
parents 92947e3a18db
children 4da1ee79c9af
line wrap: on
line diff
--- a/src/joystick/macos/SDL_sysjoystick.c	Sun May 21 17:27:13 2006 +0000
+++ b/src/joystick/macos/SDL_sysjoystick.c	Sun May 28 13:04:16 2006 +0000
@@ -37,25 +37,25 @@
 
 
 /*  The max number of joysticks we will detect  */
-#define     MAX_JOYSTICKS       16 
+#define     MAX_JOYSTICKS       16
 /*  Limit ourselves to 32 elements per device  */
-#define     kMaxReferences      32 
+#define     kMaxReferences      32
 
 #define		ISpSymmetricAxisToFloat(axis)	((((float) axis) - kISpAxisMiddle) / (kISpAxisMaximum-kISpAxisMiddle))
 #define		ISpAsymmetricAxisToFloat(axis)	(((float) axis) / (kISpAxisMaximum))
 
 
-static  ISpDeviceReference  SYS_Joysticks[MAX_JOYSTICKS];
-static  ISpElementListReference SYS_Elements[MAX_JOYSTICKS];
-static  ISpDeviceDefinition     SYS_DevDef[MAX_JOYSTICKS];
+static ISpDeviceReference SYS_Joysticks[MAX_JOYSTICKS];
+static ISpElementListReference SYS_Elements[MAX_JOYSTICKS];
+static ISpDeviceDefinition SYS_DevDef[MAX_JOYSTICKS];
 
-struct joystick_hwdata 
+struct joystick_hwdata
 {
     char name[64];
 /*    Uint8   id;*/
     ISpElementReference refs[kMaxReferences];
     /*  gonna need some sort of mapping info  */
-}; 
+};
 
 
 /* Function to scan the system for joysticks.
@@ -63,81 +63,77 @@
  * This function should return the number of available joysticks, or -1
  * on an unrecoverable fatal error.
  */
-int SDL_SYS_JoystickInit(void)
+int
+SDL_SYS_JoystickInit (void)
 {
     static ISpDeviceClass classes[4] = {
         kISpDeviceClass_Joystick,
-    #if kISpDeviceClass_Gamepad
+#if kISpDeviceClass_Gamepad
         kISpDeviceClass_Gamepad,
-    #endif
+#endif
         kISpDeviceClass_Wheel,
         0
     };
-    OSErr   err;
-    int     i;
-    UInt32  count, numJoysticks;
+    OSErr err;
+    int i;
+    UInt32 count, numJoysticks;
 
-    if ( (Ptr)0 == (Ptr)ISpStartup ) {
-        SDL_SetError("InputSprocket not installed");
-        return -1;  //  InputSprocket not installed
+    if ((Ptr) 0 == (Ptr) ISpStartup) {
+        SDL_SetError ("InputSprocket not installed");
+        return -1;              //  InputSprocket not installed
     }
 
-    if( (Ptr)0 == (Ptr)ISpGetVersion ) {
-        SDL_SetError("InputSprocket not version 1.1 or newer");
-        return -1;  //  old version of ISp (not at least 1.1)
+    if ((Ptr) 0 == (Ptr) ISpGetVersion) {
+        SDL_SetError ("InputSprocket not version 1.1 or newer");
+        return -1;              //  old version of ISp (not at least 1.1)
     }
 
-    ISpStartup();
+    ISpStartup ();
 
     /* Get all the joysticks */
     numJoysticks = 0;
-    for ( i=0; classes[i]; ++i ) {
+    for (i = 0; classes[i]; ++i) {
         count = 0;
-        err = ISpDevices_ExtractByClass(
-            classes[i],
-            MAX_JOYSTICKS-numJoysticks,
-            &count,
-            &SYS_Joysticks[numJoysticks]);
+        err = ISpDevices_ExtractByClass (classes[i],
+                                         MAX_JOYSTICKS - numJoysticks,
+                                         &count,
+                                         &SYS_Joysticks[numJoysticks]);
         numJoysticks += count;
     }
 
-    for(i = 0; i < numJoysticks; i++)
-    {
-        ISpDevice_GetDefinition(
-            SYS_Joysticks[i], sizeof(ISpDeviceDefinition),
-            &SYS_DevDef[i]);
-        
-        err = ISpElementList_New(
-            0, NULL,
-            &SYS_Elements[i], 0);
-        
+    for (i = 0; i < numJoysticks; i++) {
+        ISpDevice_GetDefinition (SYS_Joysticks[i],
+                                 sizeof (ISpDeviceDefinition),
+                                 &SYS_DevDef[i]);
+
+        err = ISpElementList_New (0, NULL, &SYS_Elements[i], 0);
+
         if (err) {
-            SDL_OutOfMemory();
+            SDL_OutOfMemory ();
             return -1;
         }
 
-        ISpDevice_GetElementList(
-            SYS_Joysticks[i],
-            &SYS_Elements[i]);
+        ISpDevice_GetElementList (SYS_Joysticks[i], &SYS_Elements[i]);
     }
 
-    ISpDevices_Deactivate(numJoysticks, SYS_Joysticks);
+    ISpDevices_Deactivate (numJoysticks, SYS_Joysticks);
 
     return numJoysticks;
 }
 
 /* Function to get the device-dependent name of a joystick */
-const char *SDL_SYS_JoystickName(int index)
+const char *
+SDL_SYS_JoystickName (int index)
 {
     static char name[64];
     int len;
 
     /*  convert pascal string to c-string  */
     len = SYS_DevDef[index].deviceName[0];
-    if ( len >= sizeof(name) ) {
-        len = (sizeof(name) - 1);
+    if (len >= sizeof (name)) {
+        len = (sizeof (name) - 1);
     }
-    SDL_memcpy(name, &SYS_DevDef[index].deviceName[1], len);
+    SDL_memcpy (name, &SYS_DevDef[index].deviceName[1], len);
     name[len] = '\0';
 
     return name;
@@ -148,11 +144,12 @@
    This should fill the nbuttons and naxes fields of the joystick structure.
    It returns 0, or -1 if there is an error.
  */
-int SDL_SYS_JoystickOpen(SDL_Joystick *joystick)
+int
+SDL_SYS_JoystickOpen (SDL_Joystick * joystick)
 {
-    int     index;
-    UInt32  count, gotCount, count2;
-    long    numAxis, numButtons, numHats, numBalls;
+    int index;
+    UInt32 count, gotCount, count2;
+    long numAxis, numButtons, numHats, numBalls;
 
     count = kMaxReferences;
     count2 = 0;
@@ -161,44 +158,40 @@
     index = joystick->index;
 
     /* allocate memory for system specific hardware data */
-    joystick->hwdata = (struct joystick_hwdata *) SDL_malloc(sizeof(*joystick->hwdata));
-    if (joystick->hwdata == NULL)
-    {
-		SDL_OutOfMemory();
-		return(-1);
+    joystick->hwdata =
+        (struct joystick_hwdata *) SDL_malloc (sizeof (*joystick->hwdata));
+    if (joystick->hwdata == NULL) {
+        SDL_OutOfMemory ();
+        return (-1);
     }
-    SDL_memset(joystick->hwdata, 0, sizeof(*joystick->hwdata));
-    SDL_strlcpy(joystick->hwdata->name, SDL_SYS_JoystickName(index), SDL_arraysize(joystick->hwdata->name));
+    SDL_memset (joystick->hwdata, 0, sizeof (*joystick->hwdata));
+    SDL_strlcpy (joystick->hwdata->name, SDL_SYS_JoystickName (index),
+                 SDL_arraysize (joystick->hwdata->name));
     joystick->name = joystick->hwdata->name;
 
-    ISpElementList_ExtractByKind(
-        SYS_Elements[index],
-        kISpElementKind_Axis,
-        count,
-        &gotCount,
-        joystick->hwdata->refs);
+    ISpElementList_ExtractByKind (SYS_Elements[index],
+                                  kISpElementKind_Axis,
+                                  count, &gotCount, joystick->hwdata->refs);
 
     numAxis = gotCount;
     count -= gotCount;
     count2 += gotCount;
 
-    ISpElementList_ExtractByKind(
-        SYS_Elements[index],
-        kISpElementKind_DPad,
-        count,
-        &gotCount,
-        &(joystick->hwdata->refs[count2]));
+    ISpElementList_ExtractByKind (SYS_Elements[index],
+                                  kISpElementKind_DPad,
+                                  count,
+                                  &gotCount,
+                                  &(joystick->hwdata->refs[count2]));
 
     numHats = gotCount;
     count -= gotCount;
     count2 += gotCount;
 
-    ISpElementList_ExtractByKind(
-        SYS_Elements[index],
-        kISpElementKind_Button,
-        count,
-        &gotCount,
-        &(joystick->hwdata->refs[count2]));
+    ISpElementList_ExtractByKind (SYS_Elements[index],
+                                  kISpElementKind_Button,
+                                  count,
+                                  &gotCount,
+                                  &(joystick->hwdata->refs[count2]));
 
     numButtons = gotCount;
     count -= gotCount;
@@ -209,9 +202,7 @@
     joystick->nballs = numBalls;
     joystick->nbuttons = numButtons;
 
-    ISpDevices_Activate(
-        1,
-        &SYS_Joysticks[index]);
+    ISpDevices_Activate (1, &SYS_Joysticks[index]);
 
     return 0;
 }
@@ -221,100 +212,92 @@
  * but instead should call SDL_PrivateJoystick*() to deliver events
  * and update joystick device state.
  */
-void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
+void
+SDL_SYS_JoystickUpdate (SDL_Joystick * joystick)
 {
-    int     i, j;
-    ISpAxisData     a;
-    ISpDPadData     b;
+    int i, j;
+    ISpAxisData a;
+    ISpDPadData b;
     //ISpDeltaData    c;
-    ISpButtonData   d;
+    ISpButtonData d;
 
-    for(i = 0, j = 0; i < joystick->naxes; i++, j++)
-    {
+    for (i = 0, j = 0; i < joystick->naxes; i++, j++) {
         Sint16 value;
 
-        ISpElement_GetSimpleState(
-            joystick->hwdata->refs[j],
-            &a);
-        value = (ISpSymmetricAxisToFloat(a)* 32767.0);
-        if ( value != joystick->axes[i] ) {
-            SDL_PrivateJoystickAxis(joystick, i, value);
+        ISpElement_GetSimpleState (joystick->hwdata->refs[j], &a);
+        value = (ISpSymmetricAxisToFloat (a) * 32767.0);
+        if (value != joystick->axes[i]) {
+            SDL_PrivateJoystickAxis (joystick, i, value);
         }
     }
 
-    for(i = 0; i < joystick->nhats; i++, j++)
-    {
+    for (i = 0; i < joystick->nhats; i++, j++) {
         Uint8 pos;
 
-        ISpElement_GetSimpleState(
-            joystick->hwdata->refs[j],
-            &b);
-        switch(b) {
-            case kISpPadIdle:
-                pos = SDL_HAT_CENTERED;
-                break;
-            case kISpPadLeft:
-                pos = SDL_HAT_LEFT;
-                break;
-            case kISpPadUpLeft:
-                pos = SDL_HAT_LEFTUP;
-                break;
-            case kISpPadUp:
-                pos = SDL_HAT_UP;
-                break;
-            case kISpPadUpRight:
-                pos = SDL_HAT_RIGHTUP;
-                break;
-            case kISpPadRight:
-                pos = SDL_HAT_RIGHT;
-                break;
-            case kISpPadDownRight:
-                pos = SDL_HAT_RIGHTDOWN;
-                break;
-            case kISpPadDown:
-                pos = SDL_HAT_DOWN;
-                break;
-            case kISpPadDownLeft:
-                pos = SDL_HAT_LEFTDOWN;
-                break;
+        ISpElement_GetSimpleState (joystick->hwdata->refs[j], &b);
+        switch (b) {
+        case kISpPadIdle:
+            pos = SDL_HAT_CENTERED;
+            break;
+        case kISpPadLeft:
+            pos = SDL_HAT_LEFT;
+            break;
+        case kISpPadUpLeft:
+            pos = SDL_HAT_LEFTUP;
+            break;
+        case kISpPadUp:
+            pos = SDL_HAT_UP;
+            break;
+        case kISpPadUpRight:
+            pos = SDL_HAT_RIGHTUP;
+            break;
+        case kISpPadRight:
+            pos = SDL_HAT_RIGHT;
+            break;
+        case kISpPadDownRight:
+            pos = SDL_HAT_RIGHTDOWN;
+            break;
+        case kISpPadDown:
+            pos = SDL_HAT_DOWN;
+            break;
+        case kISpPadDownLeft:
+            pos = SDL_HAT_LEFTDOWN;
+            break;
         }
-        if ( pos != joystick->hats[i] ) {
-            SDL_PrivateJoystickHat(joystick, i, pos);
+        if (pos != joystick->hats[i]) {
+            SDL_PrivateJoystickHat (joystick, i, pos);
         }
     }
 
-    for(i = 0; i < joystick->nballs; i++, j++)
-    {
+    for (i = 0; i < joystick->nballs; i++, j++) {
         /*  ignore balls right now  */
     }
 
-    for(i = 0; i < joystick->nbuttons; i++, j++)
-    {
-        ISpElement_GetSimpleState(
-            joystick->hwdata->refs[j],
-            &d);
-        if ( d != joystick->buttons[i] ) {
-            SDL_PrivateJoystickButton(joystick, i, d);
+    for (i = 0; i < joystick->nbuttons; i++, j++) {
+        ISpElement_GetSimpleState (joystick->hwdata->refs[j], &d);
+        if (d != joystick->buttons[i]) {
+            SDL_PrivateJoystickButton (joystick, i, d);
         }
     }
 }
 
 /* Function to close a joystick after use */
-void SDL_SYS_JoystickClose(SDL_Joystick *joystick)
+void
+SDL_SYS_JoystickClose (SDL_Joystick * joystick)
 {
     int index;
 
     index = joystick->index;
 
-    ISpDevices_Deactivate(
-        1,
-        &SYS_Joysticks[index]);
+    ISpDevices_Deactivate (1, &SYS_Joysticks[index]);
 }
 
 /* Function to perform any system-specific joystick related cleanup */
-void SDL_SYS_JoystickQuit(void)
+void
+SDL_SYS_JoystickQuit (void)
 {
-    ISpShutdown();
+    ISpShutdown ();
 }
 
 #endif /* SDL_JOYSTICK_MACOS */
+/* vi: set ts=4 sw=4 expandtab: */