Mercurial > sdl-ios-xcode
diff src/joystick/nds/SDL_sysjoystick.c @ 2671:c3e7c0698cbb gsoc2008_nds
some changes to the dummy driver for debug purposes that should be reverted.
most importantly, commenting out a check for an env. var.
author | Darren Alton <dalton@stevens.edu> |
---|---|
date | Thu, 12 Jun 2008 02:38:49 +0000 |
parents | 6e4669f4db49 |
children | 24a6b3588eac |
line wrap: on
line diff
--- 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) { } -