src/joystick/nds/SDL_sysjoystick.c
branchgsoc2008_nds
changeset 2671 c3e7c0698cbb
parent 2670 6e4669f4db49
child 2673 24a6b3588eac
--- a/src/joystick/nds/SDL_sysjoystick.c	Tue Jun 10 06:57:57 2008 +0000
+++ b/src/joystick/nds/SDL_sysjoystick.c	Thu Jun 12 02:38:49 2008 +0000
@@ -22,13 +22,13 @@
 
 #ifdef SAVE_RCSID
 static char rcsid =
- "@(#) $Id: SDL_sysjoystick.c,v 1.2 2001/04/26 16:50:17 hercules Exp $";
+    "@(#) $Id: SDL_sysjoystick.c,v 1.2 2001/04/26 16:50:17 hercules Exp $";
 #endif
 
 /* This is the system specific header for the SDL joystick API */
 #include <nds.h>
 //#include <nds/registers_alt.h>
-#include <stdio.h>		/* For the definition of NULL */
+#include <stdio.h>              /* For the definition of NULL */
 
 #include "SDL_error.h"
 #include "SDL_joystick.h"
@@ -42,21 +42,23 @@
  * joysticks.  Joystick 0 should be the system default joystick.
  * It should return 0, or -1 on an unrecoverable fatal error.
  */
-int SDL_SYS_JoystickInit(void)
+int
+SDL_SYS_JoystickInit(void)
 {
-	SDL_numjoysticks = 1;
-    //keysInit();
-
-	return(1);
+    SDL_numjoysticks = 1;
+    
+        //keysInit();
+        return (1);
 }
 
 /* Function to get the device-dependent name of a joystick */
-const char *SDL_SYS_JoystickName(int index)
+const char *
+SDL_SYS_JoystickName(int index)
 {
-	if(!index)
-		return "NDS builtin joypad";
-	SDL_SetError("No joystick available with that index");
-	return (NULL);
+    if (!index)
+        return "NDS builtin joypad";
+    SDL_SetError("No joystick available with that index");
+    return (NULL);
 }
 
 /* Function to open a joystick for use.
@@ -64,91 +66,175 @@
    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)
 {
-	joystick->nbuttons=8;
-	joystick->nhats=0;
-	joystick->nballs=0;
-	joystick->naxes=2;
-	return 0;
+    joystick->nbuttons = 8;
+    joystick->nhats = 0;
+    joystick->nballs = 0;
+    joystick->naxes = 2;
+    return 0;
 }
+
 
-
 /* Function to update the state of a joystick - called as a device poll.
  * This function shouldn't update the joystick structure directly,
  * but instead should call SDL_PrivateJoystick*() to deliver events
  * and update joystick device state.
  */
-
-int prevbutton=0;
-int prevkey=0;
+int prevbutton = 0;
+int prevkey = 0;
 
-int dc=NULL;int ldc=0;
-u32 keysd,keysu=NULL;
-void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
-{
-    //dc=keysd;
-	//if (dc != NULL)
-	//{
-		//fprintf(stderr,"heartbeat= %d\n",REG_VCOUNT); 
-		//swiWaitForVBlank();
-		//scanKeys();
-		//keysd = keysDown(); 
-		//keysu = keysUp();
-		//ldc=keysd;
-		 
-	//}
-	/*if (prevkey !=NULL && prevbutton !=NULL)
-	{
-		scanKeys();
-	}
-	*/
-	
-	//scanKeys();
-		keysd = keysDown(); 
-		keysu = keysUp();
-		
-	
-	short ax=0,v=0,h=0;
-	if((keysd&KEY_UP)) {ax=1;v=-10;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=KEY_UP;}//fprintf(stderr,"KEY_UP\n");}
-	if((keysd&KEY_DOWN)) {ax=1;v=10;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=KEY_DOWN;}//fprintf(stderr,"KEY_DOWN\n");}
-	if((keysd&KEY_LEFT)) {ax=0;h=-10;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=KEY_LEFT;}//fprintf(stderr,"KEY_LEFT\n");}
-	if((keysd&KEY_RIGHT)) {ax=0;h=10;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=KEY_RIGHT;}//fprintf(stderr,"KEY_RIGHT\n");}
-
-	if((keysu&KEY_UP)) {ax=1;v=0;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=NULL;}//fprintf(stderr,"KEY_UP\n");}
-	if((keysu&KEY_DOWN)) {ax=1;v=0;SDL_PrivateJoystickAxis(joystick,ax,v);prevkey=NULL;}//fprintf(stderr,"KEY_DOWN\n");}
-	if((keysu&KEY_LEFT)) {ax=0;h=0;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=NULL;}//fprintf(stderr,"KEY_LEFT\n");}
-	if((keysu&KEY_RIGHT)) {ax=0;h=0;SDL_PrivateJoystickAxis(joystick,ax,h);prevkey=NULL;}//fprintf(stderr,"KEY_RIGHT\n");}
-
-	if((keysd&KEY_A))		{SDL_PrivateJoystickButton(joystick,0,SDL_PRESSED);prevbutton=KEY_A;}
-	if((keysd&KEY_B))		{SDL_PrivateJoystickButton(joystick,1,SDL_PRESSED);prevbutton=KEY_B;}
-	if((keysd&KEY_X))		{SDL_PrivateJoystickButton(joystick,2,SDL_PRESSED);prevbutton=KEY_X;}
-	if((keysd&KEY_Y))		{SDL_PrivateJoystickButton(joystick,3,SDL_PRESSED);prevbutton=KEY_Y;}
-	if((keysd&KEY_SELECT))	{SDL_PrivateJoystickButton(joystick,6,SDL_PRESSED);prevbutton=KEY_SELECT;}
-	if((keysd&KEY_START))	{SDL_PrivateJoystickButton(joystick,7,SDL_PRESSED);prevbutton=KEY_START;}
-	if((keysd&KEY_L))		{SDL_PrivateJoystickButton(joystick,4,SDL_PRESSED);prevbutton=KEY_L;}
-	if((keysd&KEY_R))		{SDL_PrivateJoystickButton(joystick,5,SDL_PRESSED);prevbutton=KEY_R;}
-
-	if((keysu&KEY_A))		{SDL_PrivateJoystickButton(joystick,0,SDL_RELEASED);prevbutton=NULL;}
-	if((keysu&KEY_B))		{SDL_PrivateJoystickButton(joystick,1,SDL_RELEASED);prevbutton=NULL;}
-	if((keysu&KEY_X))		{SDL_PrivateJoystickButton(joystick,2,SDL_RELEASED);prevbutton=NULL;}
-	if((keysu&KEY_Y))		{SDL_PrivateJoystickButton(joystick,3,SDL_RELEASED);prevbutton=NULL;}
-	if((keysu&KEY_SELECT))  {SDL_PrivateJoystickButton(joystick,6,SDL_RELEASED);prevbutton=NULL;}
-	if((keysu&KEY_START))	{SDL_PrivateJoystickButton(joystick,7,SDL_RELEASED);prevbutton=NULL;}
-	if((keysu&KEY_L))		{SDL_PrivateJoystickButton(joystick,4,SDL_RELEASED);prevbutton=NULL;}
-	if((keysu&KEY_R))		{SDL_PrivateJoystickButton(joystick,5,SDL_RELEASED);prevbutton=NULL;}
-
-
-
-}
+int dc = NULL;
+int ldc = 0;
+u32 keysd, keysu = NULL;
+void
+SDL_SYS_JoystickUpdate(SDL_Joystick * joystick)
+{
+    
+        //dc=keysd;
+        //if (dc != NULL)
+        //{
+        //fprintf(stderr,"heartbeat= %d\n",REG_VCOUNT); 
+        //swiWaitForVBlank();
+        //scanKeys();
+        //keysd = keysDown(); 
+        //keysu = keysUp();
+        //ldc=keysd;
+        
+        //}
+        /*if (prevkey !=NULL && prevbutton !=NULL)
+           {
+           scanKeys();
+           }
+         */ 
+        
+        //scanKeys();
+        keysd = keysDown();
+    
keysu = keysUp();
+    

short ax = 0, v = 0, h = 0;
+    if ((keysd & KEY_UP)) {
+        ax = 1;
+        v = -10;
+        SDL_PrivateJoystickAxis(joystick, ax, v);
+        prevkey = KEY_UP;
+    }                           //fprintf(stderr,"KEY_UP\n");}
+    if ((keysd & KEY_DOWN)) {
+        ax = 1;
+        v = 10;
+        SDL_PrivateJoystickAxis(joystick, ax, v);
+        prevkey = KEY_DOWN;
+    }                           //fprintf(stderr,"KEY_DOWN\n");}
+    if ((keysd & KEY_LEFT)) {
+        ax = 0;
+        h = -10;
+        SDL_PrivateJoystickAxis(joystick, ax, h);
+        prevkey = KEY_LEFT;
+    }                           //fprintf(stderr,"KEY_LEFT\n");}
+    if ((keysd & KEY_RIGHT)) {
+        ax = 0;
+        h = 10;
+        SDL_PrivateJoystickAxis(joystick, ax, h);
+        prevkey = KEY_RIGHT;
+    }                           //fprintf(stderr,"KEY_RIGHT\n");}
+    
if ((keysu & KEY_UP)) {
+        ax = 1;
+        v = 0;
+        SDL_PrivateJoystickAxis(joystick, ax, v);
+        prevkey = NULL;
+    }                           //fprintf(stderr,"KEY_UP\n");}
+    if ((keysu & KEY_DOWN)) {
+        ax = 1;
+        v = 0;
+        SDL_PrivateJoystickAxis(joystick, ax, v);
+        prevkey = NULL;
+    }                           //fprintf(stderr,"KEY_DOWN\n");}
+    if ((keysu & KEY_LEFT)) {
+        ax = 0;
+        h = 0;
+        SDL_PrivateJoystickAxis(joystick, ax, h);
+        prevkey = NULL;
+    }                           //fprintf(stderr,"KEY_LEFT\n");}
+    if ((keysu & KEY_RIGHT)) {
+        ax = 0;
+        h = 0;
+        SDL_PrivateJoystickAxis(joystick, ax, h);
+        prevkey = NULL;
+    }                           //fprintf(stderr,"KEY_RIGHT\n");}
+    
if ((keysd & KEY_A)) {
+        SDL_PrivateJoystickButton(joystick, 0, SDL_PRESSED);
+        prevbutton = KEY_A;
+    }
+    
if ((keysd & KEY_B)) {
+        SDL_PrivateJoystickButton(joystick, 1, SDL_PRESSED);
+        prevbutton = KEY_B;
+    }
+    
if ((keysd & KEY_X)) {
+        SDL_PrivateJoystickButton(joystick, 2, SDL_PRESSED);
+        prevbutton = KEY_X;
+    }
+    
if ((keysd & KEY_Y)) {
+        SDL_PrivateJoystickButton(joystick, 3, SDL_PRESSED);
+        prevbutton = KEY_Y;
+    }
+    
if ((keysd & KEY_SELECT)) {
+        SDL_PrivateJoystickButton(joystick, 6, SDL_PRESSED);
+        prevbutton = KEY_SELECT;
+    }
+    
if ((keysd & KEY_START)) {
+        SDL_PrivateJoystickButton(joystick, 7, SDL_PRESSED);
+        prevbutton = KEY_START;
+    }
+    
if ((keysd & KEY_L)) {
+        SDL_PrivateJoystickButton(joystick, 4, SDL_PRESSED);
+        prevbutton = KEY_L;
+    }
+    
if ((keysd & KEY_R)) {
+        SDL_PrivateJoystickButton(joystick, 5, SDL_PRESSED);
+        prevbutton = KEY_R;
+    }
+    

if ((keysu & KEY_A)) {
+        SDL_PrivateJoystickButton(joystick, 0, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+    
if ((keysu & KEY_B)) {
+        SDL_PrivateJoystickButton(joystick, 1, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+    
if ((keysu & KEY_X)) {
+        SDL_PrivateJoystickButton(joystick, 2, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+    
if ((keysu & KEY_Y)) {
+        SDL_PrivateJoystickButton(joystick, 3, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+    
if ((keysu & KEY_SELECT)) {
+        SDL_PrivateJoystickButton(joystick, 6, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+    
if ((keysu & KEY_START)) {
+        SDL_PrivateJoystickButton(joystick, 7, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+    
if ((keysu & KEY_L)) {
+        SDL_PrivateJoystickButton(joystick, 4, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+    
if ((keysu & KEY_R)) {
+        SDL_PrivateJoystickButton(joystick, 5, SDL_RELEASED);
+        prevbutton = NULL;
+    }
+

}
 
 /* Function to close a joystick after use */
-void SDL_SYS_JoystickClose(SDL_Joystick *joystick)
+void
+SDL_SYS_JoystickClose(SDL_Joystick * joystick)
 {
 }
 
 /* Function to perform any system-specific joystick related cleanup */
-void SDL_SYS_JoystickQuit(void)
+void
+SDL_SYS_JoystickQuit(void)
 {
 }
-