Skip to content
This repository has been archived by the owner on Feb 11, 2021. It is now read-only.

Commit

Permalink
Merge
Browse files Browse the repository at this point in the history
  • Loading branch information
slouken committed Nov 27, 2012
2 parents b48dc15 + 94866bc commit 59eb19b
Show file tree
Hide file tree
Showing 4 changed files with 24 additions and 15 deletions.
12 changes: 12 additions & 0 deletions VisualC/SDL/SDL_VS2008.vcproj
Expand Up @@ -411,6 +411,10 @@
RelativePath="..\..\include\SDL_events.h"
>
</File>
<File
RelativePath="..\..\include\SDL_gamecontroller.h"
>
</File>
<File
RelativePath="..\..\include\SDL_gesture.h"
>
Expand Down Expand Up @@ -451,6 +455,10 @@
RelativePath="..\..\include\SDL_main.h"
>
</File>
<File
RelativePath="..\..\include\SDL_messagebox.h"
>
</File>
<File
RelativePath="..\..\include\SDL_mouse.h"
>
Expand Down Expand Up @@ -856,6 +864,10 @@
RelativePath="..\..\src\video\SDL_fillrect.c"
>
</File>
<File
RelativePath="..\..\src\joystick\SDL_gamecontroller.c"
>
</File>
<File
RelativePath="..\..\src\events\SDL_gesture.c"
>
Expand Down
10 changes: 4 additions & 6 deletions src/joystick/SDL_gamecontroller.c
Expand Up @@ -81,7 +81,7 @@ typedef struct _ControllerMapping_t
/* default mappings we support */
const char *s_ControllerMappings [] =
{
#ifdef __WIN32__
#ifdef SDL_JOYSTICK_DINPUT
"xinput,X360 Controller,a:b10,b:b11,y:b13,x:b12,start:b4,guide:b14,back:b5,dpup:b0,dpleft:b2,dpdown:b1,dpright:b3,leftshoulder:b8,rightshoulder:b9,leftstick:b6,rightstick:b7,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:a4,righttrigger:a5",
"341a3608000000000000504944564944,Afterglow PS3 Controller,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7",
"88880803000000000000504944564944,PS3,a:b2,b:b1,x:b0,y:b3,start:b11,back:b8,leftstick:b9,rightstick:b10,leftshoulder:b4,rightshoulder:b5,dpup:h0.1,dpleft:h0.4,dpdown:h0.8,dpright:h0.2,leftx:a0,lefty:a1,rightx:a3,righty:a4,lefttrigger:b6,righttrigger:b7,guide:b12",
Expand Down Expand Up @@ -235,7 +235,7 @@ int SDL_GameControllerEventWatcher(void *userdata, SDL_Event * event)
*/
ControllerMapping_t *SDL_PrivateGetControllerMapping(int device_index)
{
#ifdef __WIN32__
#ifdef SDL_JOYSTICK_DINPUT
if ( SDL_SYS_IsXInputDeviceIndex(device_index) && s_pXInputMapping )
{
return s_pXInputMapping;
Expand Down Expand Up @@ -576,7 +576,7 @@ SDL_GameControllerInit(void)
pchMapping = SDL_PrivateGetControllerMappingFromMappingString( pMappingString );
if ( pchGUID && pchName )
{
#ifdef __WIN32__
#ifdef SDL_JOYSTICK_DINPUT
if ( !SDL_strcasecmp( pchGUID, "xinput" ) )
{
s_pXInputMapping = pControllerMapping;
Expand Down Expand Up @@ -628,7 +628,7 @@ SDL_GameControllerInit(void)

if ( pchGUID && pchName )
{
#ifdef __WIN32__
#ifdef SDL_JOYSTICK_DINPUT
if ( !SDL_strcasecmp( pchGUID, "xinput" ) )
{
s_pXInputMapping = pControllerMapping;
Expand Down Expand Up @@ -730,8 +730,6 @@ SDL_GameControllerOpen(int device_index)
SDL_GameController *gamecontrollerlist;
ControllerMapping_t *pSupportedController = NULL;

int deviceMappingIndex = -1;

if ((device_index < 0) || (device_index >= SDL_NumJoysticks())) {
SDL_SetError("There are %d joysticks available", SDL_NumJoysticks());
return (NULL);
Expand Down
2 changes: 1 addition & 1 deletion src/joystick/SDL_sysjoystick.h
Expand Up @@ -113,7 +113,7 @@ extern JoystickGUID SDL_SYS_PrivateJoystickGetDeviceGUID( int device_index );
*/
extern JoystickGUID SDL_SYS_PrivateJoystickGetGUID(SDL_Joystick * joystick);

#ifdef __WIN32__
#ifdef SDL_JOYSTICK_DINPUT
/* Function to get the current instance id of the joystick located at device_index */
extern int SDL_SYS_IsXInputDeviceIndex( int device_index );
#endif
Expand Down
15 changes: 7 additions & 8 deletions src/joystick/bsd/SDL_sysjoystick.c
Expand Up @@ -175,15 +175,14 @@ SDL_SYS_JoystickInit(void)

SDL_snprintf(s, SDL_arraysize(s), "/dev/uhid%d", i);

nj.index = SDL_SYS_numjoysticks;
joynames[nj.index] = strdup(s);
joynames[SDL_SYS_numjoysticks] = strdup(s);

if (SDL_SYS_JoystickOpen(&nj, nj.index) == 0) {
if (SDL_SYS_JoystickOpen(&nj, SDL_SYS_numjoysticks) == 0) {
SDL_SYS_JoystickClose(&nj);
SDL_SYS_numjoysticks++;
} else {
SDL_free(joynames[nj.index]);
joynames[nj.index] = NULL;
SDL_free(joynames[SDL_SYS_numjoysticks]);
joynames[SDL_SYS_numjoysticks] = NULL;
}
}
for (i = 0; i < MAX_JOY_JOYS; i++) {
Expand Down Expand Up @@ -295,7 +294,7 @@ SDL_SYS_JoystickOpen(SDL_Joystick * joy, int device_index)
joy->nbuttons = 2;
joy->nhats = 0;
joy->nballs = 0;
joydevnames[joy->index] = strdup("Gameport joystick");
joydevnames[device_index] = strdup("Gameport joystick");
goto usbend;
} else {
hw->type = BSDJOY_UHID;
Expand Down Expand Up @@ -359,8 +358,8 @@ SDL_SYS_JoystickOpen(SDL_Joystick * joy, int device_index)
s = hid_usage_in_page(hitem.usage);
sp = SDL_malloc(SDL_strlen(s) + 5);
SDL_snprintf(sp, SDL_strlen(s) + 5, "%s (%d)",
s, joy->index);
joydevnames[joy->index] = sp;
s, device_index);
joydevnames[device_index] = sp;
}
}
break;
Expand Down

0 comments on commit 59eb19b

Please sign in to comment.