|
@@ -90,7 +90,7 @@ static int calc_bezier_y(float t)
|
|
|
* Joystick 0 should be the system default joystick.
|
|
|
* It should return number of joysticks, or -1 on an unrecoverable fatal error.
|
|
|
*/
|
|
|
-int SDL_SYS_JoystickInit(void)
|
|
|
+int VITA_JoystickInit(void)
|
|
|
{
|
|
|
int i;
|
|
|
|
|
@@ -129,61 +129,58 @@ int SDL_SYS_JoystickInit(void)
|
|
|
return SDL_numjoysticks;
|
|
|
}
|
|
|
|
|
|
-int SDL_SYS_NumJoysticks()
|
|
|
+int VITA_JoystickGetCount()
|
|
|
{
|
|
|
return SDL_numjoysticks;
|
|
|
}
|
|
|
|
|
|
-void SDL_SYS_JoystickDetect()
|
|
|
+void VITA_JoystickDetect()
|
|
|
{
|
|
|
}
|
|
|
|
|
|
-/* Function to get the device-dependent name of a joystick */
|
|
|
-const char * SDL_SYS_JoystickNameForDeviceIndex(int device_index)
|
|
|
-{
|
|
|
- if (device_index == 1)
|
|
|
- return "PSVita Controller";
|
|
|
-
|
|
|
- if (device_index == 2)
|
|
|
- return "PSVita Controller";
|
|
|
-
|
|
|
- if (device_index == 3)
|
|
|
- return "PSVita Controller";
|
|
|
-
|
|
|
- return "PSVita Controller";
|
|
|
-}
|
|
|
-
|
|
|
/* Function to perform the mapping from device index to the instance id for this index */
|
|
|
-SDL_JoystickID SDL_SYS_GetInstanceIdOfDeviceIndex(int device_index)
|
|
|
+SDL_JoystickID VITA_JoystickGetDeviceInstanceID(int device_index)
|
|
|
{
|
|
|
return device_index;
|
|
|
}
|
|
|
|
|
|
/* Function to get the device-dependent name of a joystick */
|
|
|
-const char *SDL_SYS_JoystickName(int index)
|
|
|
+const char *VITA_JoystickGetDeviceName(int index)
|
|
|
{
|
|
|
- if (index == 0)
|
|
|
- return "PSVita Controller";
|
|
|
+ if (index == 0)
|
|
|
+ return "PSVita Controller";
|
|
|
|
|
|
- if (index == 1)
|
|
|
- return "PSVita Controller";
|
|
|
+ if (index == 1)
|
|
|
+ return "PSVita Controller";
|
|
|
|
|
|
- if (index == 2)
|
|
|
- return "PSVita Controller";
|
|
|
+ if (index == 2)
|
|
|
+ return "PSVita Controller";
|
|
|
|
|
|
- if (index == 3)
|
|
|
- return "PSVita Controller";
|
|
|
+ if (index == 3)
|
|
|
+ return "PSVita Controller";
|
|
|
|
|
|
SDL_SetError("No joystick available with that index");
|
|
|
return(NULL);
|
|
|
}
|
|
|
|
|
|
+static int
|
|
|
+VITA_JoystickGetDevicePlayerIndex(int device_index)
|
|
|
+{
|
|
|
+ return -1;
|
|
|
+}
|
|
|
+
|
|
|
+static void
|
|
|
+VITA_JoystickSetDevicePlayerIndex(int device_index, int player_index)
|
|
|
+{
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
/* Function to open a joystick for use.
|
|
|
The joystick to open is specified by the device index.
|
|
|
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 device_index)
|
|
|
+int VITA_JoystickOpen(SDL_Joystick *joystick, int device_index)
|
|
|
{
|
|
|
joystick->nbuttons = sizeof(button_map)/sizeof(*button_map);
|
|
|
joystick->naxes = 4;
|
|
@@ -193,18 +190,12 @@ int SDL_SYS_JoystickOpen(SDL_Joystick *joystick, int device_index)
|
|
|
return 0;
|
|
|
}
|
|
|
|
|
|
-/* Function to determine if this joystick is attached to the system right now */
|
|
|
-SDL_bool SDL_SYS_JoystickAttached(SDL_Joystick *joystick)
|
|
|
-{
|
|
|
- return SDL_TRUE;
|
|
|
-}
|
|
|
-
|
|
|
/* 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.
|
|
|
*/
|
|
|
-void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
|
|
|
+void VITA_JoystickUpdate(SDL_Joystick *joystick)
|
|
|
{
|
|
|
int i;
|
|
|
unsigned int buttons;
|
|
@@ -217,11 +208,11 @@ void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
|
|
|
static unsigned char old_ry[] = { 0, 0, 0, 0 };
|
|
|
SceCtrlData *pad = NULL;
|
|
|
|
|
|
- int index = (int) SDL_JoystickInstanceID(joystick);
|
|
|
+ int index = (int) SDL_JoystickInstanceID(joystick);
|
|
|
|
|
|
if (index == 0) pad = &pad0;
|
|
|
else if (index == 1) pad = &pad1;
|
|
|
- else if (index == 2) pad = &pad2;
|
|
|
+ else if (index == 2) pad = &pad2;
|
|
|
else if (index == 3) pad = &pad3;
|
|
|
else return;
|
|
|
|
|
@@ -275,35 +266,51 @@ void SDL_SYS_JoystickUpdate(SDL_Joystick *joystick)
|
|
|
}
|
|
|
|
|
|
/* Function to close a joystick after use */
|
|
|
-void SDL_SYS_JoystickClose(SDL_Joystick *joystick)
|
|
|
+void VITA_JoystickClose(SDL_Joystick *joystick)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
/* Function to perform any system-specific joystick related cleanup */
|
|
|
-void SDL_SYS_JoystickQuit(void)
|
|
|
+void VITA_JoystickQuit(void)
|
|
|
{
|
|
|
}
|
|
|
|
|
|
-SDL_JoystickGUID SDL_SYS_JoystickGetDeviceGUID( int device_index )
|
|
|
+SDL_JoystickGUID VITA_JoystickGetDeviceGUID( int device_index )
|
|
|
{
|
|
|
SDL_JoystickGUID guid;
|
|
|
/* the GUID is just the first 16 chars of the name for now */
|
|
|
- const char *name = SDL_SYS_JoystickNameForDeviceIndex( device_index );
|
|
|
+ const char *name = VITA_JoystickGetDeviceName( device_index );
|
|
|
SDL_zero( guid );
|
|
|
SDL_memcpy( &guid, name, SDL_min( sizeof(guid), SDL_strlen( name ) ) );
|
|
|
return guid;
|
|
|
}
|
|
|
|
|
|
-SDL_JoystickGUID SDL_SYS_JoystickGetGUID(SDL_Joystick * joystick)
|
|
|
+static int
|
|
|
+VITA_JoystickRumble(SDL_Joystick * joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble)
|
|
|
{
|
|
|
- SDL_JoystickGUID guid;
|
|
|
- /* the GUID is just the first 16 chars of the name for now */
|
|
|
- const char *name = joystick->name;
|
|
|
- SDL_zero( guid );
|
|
|
- SDL_memcpy( &guid, name, SDL_min( sizeof(guid), SDL_strlen( name ) ) );
|
|
|
- return guid;
|
|
|
+ return SDL_Unsupported();
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+SDL_JoystickDriver SDL_VITA_JoystickDriver =
|
|
|
+{
|
|
|
+ VITA_JoystickInit,
|
|
|
+ VITA_JoystickGetCount,
|
|
|
+ VITA_JoystickDetect,
|
|
|
+ VITA_JoystickGetDeviceName,
|
|
|
+ VITA_JoystickGetDevicePlayerIndex,
|
|
|
+ VITA_JoystickSetDevicePlayerIndex,
|
|
|
+ VITA_JoystickGetDeviceGUID,
|
|
|
+ VITA_JoystickGetDeviceInstanceID,
|
|
|
+
|
|
|
+ VITA_JoystickOpen,
|
|
|
+ VITA_JoystickRumble,
|
|
|
+ VITA_JoystickUpdate,
|
|
|
+ VITA_JoystickClose,
|
|
|
+ VITA_JoystickQuit,
|
|
|
+};
|
|
|
+
|
|
|
+
|
|
|
#endif /* SDL_JOYSTICK_VITA */
|
|
|
|
|
|
/* vim: ts=4 sw=4
|