Class SdlJoystick
- java.lang.Object
-
- io.github.libsdl4j.api.joystick.SdlJoystick
-
public final class SdlJoystick extends Object
Definitions from file SDL_joystick.hInclude file for SDL joystick event handling
The term "deviceIndex" identifies currently plugged in joystick devices between 0 and SDL_NumJoysticks(), with the exact joystick behind a deviceIndex changing as joysticks are plugged and unplugged.
The term "instanceId" is the current instantiation of a joystick device in the system, if the joystick is removed and then re-inserted then it will get a new instanceId, instanceId's are monotonically increasing identifiers of a joystick plugged in.
The term "playerIndex" is the number assigned to a player on a specific controller. For XInput controllers this returns the XInput user index. Many joysticks will not be able to supply this information.
The term JoystickGUID is a stable 128-bit identifier for a joystick device that does not change over time, it identifies class of the device (a X360 wired controller for example). This identifier is platform dependent.
In order to use these functions, SDL_Init() must have been called with the
SDL_INIT_JOYSTICK
flag. This causes SDL to scan the system for joysticks, and load appropriate drivers.If you would like to receive joystick updates while the application is in the background, you should set the following hint before calling SDL_Init(): SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
SDL_GetJoystickGUIDInfo(SDL_JoystickGUID guid, com.sun.jna.ptr.ShortByReference vendor, com.sun.jna.ptr.ShortByReference product, com.sun.jna.ptr.ShortByReference version, com.sun.jna.ptr.ShortByReference crc16)
Get the device information encoded in a SDL_JoystickGUID structurestatic int
SDL_JoystickAttachVirtual(int type, int naxes, int nbuttons, int nhats)
Attach a new virtual joystick.static int
SDL_JoystickAttachVirtualEx(SDL_VirtualJoystickDesc desc)
Attach a new virtual joystick with extended properties.static void
SDL_JoystickClose(SDL_Joystick joystick)
Close a joystick previously opened with SDL_JoystickOpen().static int
SDL_JoystickCurrentPowerLevel(SDL_Joystick joystick)
Get the battery level of a joystick as SDL_JoystickPowerLevel.static int
SDL_JoystickDetachVirtual(int deviceIndex)
Detach a virtual joystick.static int
SDL_JoystickEventState(int state)
Enable/disable joystick event polling.static SDL_Joystick
SDL_JoystickFromInstanceID(SDL_JoystickID instanceId)
Get the SDL_Joystick associated with an instance id.static SDL_Joystick
SDL_JoystickFromPlayerIndex(int playerIndex)
Get the SDL_Joystick associated with a player index.static boolean
SDL_JoystickGetAttached(SDL_Joystick joystick)
Get the status of a specified joystick.static short
SDL_JoystickGetAxis(SDL_Joystick joystick, int axis)
Get the current state of an axis control on a joystick.static boolean
SDL_JoystickGetAxisInitialState(SDL_Joystick joystick, int axis, com.sun.jna.ptr.ShortByReference state)
Get the initial state of an axis control on a joystick.static int
SDL_JoystickGetBall(SDL_Joystick joystick, int ball, com.sun.jna.ptr.IntByReference dx, com.sun.jna.ptr.IntByReference dy)
Get the ball axis change since the last poll.static byte
SDL_JoystickGetButton(SDL_Joystick joystick, int button)
Get the current state of a button on a joystick.static SDL_JoystickGUID
SDL_JoystickGetDeviceGUID(int deviceIndex)
Get the implementation-dependent GUID for the joystick at a given device index.static SDL_JoystickID
SDL_JoystickGetDeviceInstanceID(int deviceIndex)
Get the instance ID of a joystick.static int
SDL_JoystickGetDevicePlayerIndex(int deviceIndex)
Get the player index of a joystick, or -1 if it's not available This can be called before any joysticks are opened.static short
SDL_JoystickGetDeviceProduct(int deviceIndex)
Get the USB product ID of a joystick, if available.static short
SDL_JoystickGetDeviceProductVersion(int deviceIndex)
Get the product version of a joystick, if available.static int
SDL_JoystickGetDeviceType(int deviceIndex)
Get the type of a joystick, if available.static short
SDL_JoystickGetDeviceVendor(int deviceIndex)
Get the USB vendor ID of a joystick, if available.static short
SDL_JoystickGetFirmwareVersion(SDL_Joystick joystick)
Get the firmware version of an opened joystick, if available.static SDL_JoystickGUID
SDL_JoystickGetGUID(SDL_Joystick joystick)
Get the implementation-dependent GUID for the joystick.static SDL_JoystickGUID
SDL_JoystickGetGUIDFromString(String pchGUID)
Convert a GUID string into a SDL_JoystickGUID structure.static String
SDL_JoystickGetGUIDString(SDL_JoystickGUID guid)
Get an ASCII string representation for a given SDL_JoystickGUID.static byte
SDL_JoystickGetHat(SDL_Joystick joystick, int hat)
Get the current state of a POV hat on a joystick.static int
SDL_JoystickGetPlayerIndex(SDL_Joystick joystick)
Get the player index of an opened joystick.static short
SDL_JoystickGetProduct(SDL_Joystick joystick)
Get the USB product ID of an opened joystick, if available.static short
SDL_JoystickGetProductVersion(SDL_Joystick joystick)
Get the product version of an opened joystick, if available.static String
SDL_JoystickGetSerial(SDL_Joystick joystick)
Get the serial number of an opened joystick, if available.static int
SDL_JoystickGetType(SDL_Joystick joystick)
Get the type of an opened joystick.static short
SDL_JoystickGetVendor(SDL_Joystick joystick)
Get the USB vendor ID of an opened joystick, if available.static boolean
SDL_JoystickHasLED(SDL_Joystick joystick)
Query whether a joystick has an LED.static boolean
SDL_JoystickHasRumble(SDL_Joystick joystick)
Query whether a joystick has rumble support.static boolean
SDL_JoystickHasRumbleTriggers(SDL_Joystick joystick)
Query whether a joystick has rumble support on triggers.static SDL_JoystickID
SDL_JoystickInstanceID(SDL_Joystick joystick)
Get the instance ID of an opened joystick.static boolean
SDL_JoystickIsVirtual(int deviceIndex)
Query whether or not the joystick at a given device index is virtual.static String
SDL_JoystickName(SDL_Joystick joystick)
Get the implementation dependent name of a joystick.static String
SDL_JoystickNameForIndex(int deviceIndex)
Get the implementation dependent name of a joystick.static int
SDL_JoystickNumAxes(SDL_Joystick joystick)
Get the number of general axis controls on a joystick.static int
SDL_JoystickNumBalls(SDL_Joystick joystick)
Get the number of trackballs on a joystick.static int
SDL_JoystickNumButtons(SDL_Joystick joystick)
Get the number of buttons on a joystick.static int
SDL_JoystickNumHats(SDL_Joystick joystick)
Get the number of POV hats on a joystick.static SDL_Joystick
SDL_JoystickOpen(int deviceIndex)
Open a joystick for use.static String
SDL_JoystickPath(SDL_Joystick joystick)
Get the implementation dependent path of a joystick.static String
SDL_JoystickPathForIndex(int deviceIndex)
Get the implementation dependent path of a joystick.static int
SDL_JoystickRumble(SDL_Joystick joystick, short lowFrequencyRumble, short highFrequencyRumble, int durationMs)
Start a rumble effect.static int
SDL_JoystickRumbleTriggers(SDL_Joystick joystick, short leftRumble, short rightRumble, int durationMs)
Start a rumble effect in the joystick's triggersstatic int
SDL_JoystickSendEffect(SDL_Joystick joystick, com.sun.jna.Pointer data, int size)
Send a joystick specific effect packetstatic int
SDL_JoystickSetLED(SDL_Joystick joystick, byte red, byte green, byte blue)
Update a joystick's LED color.static void
SDL_JoystickSetPlayerIndex(SDL_Joystick joystick, int playerIndex)
Set the player index of an opened joystick.static int
SDL_JoystickSetVirtualAxis(SDL_Joystick joystick, int axis, short value)
Set values on an opened, virtual-joystick's axis.static int
SDL_JoystickSetVirtualButton(SDL_Joystick joystick, int button, byte value)
Set values on an opened, virtual-joystick's button.static int
SDL_JoystickSetVirtualHat(SDL_Joystick joystick, int hat, byte value)
Set values on an opened, virtual-joystick's hat.static void
SDL_JoystickUpdate()
Update the current state of the open joysticks.static void
SDL_LockJoysticks()
Locking for multi-threaded access to the joystick APIstatic int
SDL_NumJoysticks()
Count the number of joysticks attached to the system.static void
SDL_UnlockJoysticks()
Unlocking for multi-threaded access to the joystick API
-
-
-
Method Detail
-
SDL_LockJoysticks
public static void SDL_LockJoysticks()
Locking for multi-threaded access to the joystick APIIf you are using the joystick API or handling events from multiple threads you should use these locking functions to protect access to the joysticks.
In particular, you are guaranteed that the joystick list won't change, so the API functions that take a joystick index will be valid, and joystick and game controller events will not be delivered.
As of SDL 2.26.0, you can take the joystick lock around reinitializing the joystick subsystem, to prevent other threads from seeing joysticks in an uninitialized state. However, all open joysticks will be closed and SDL functions called with them will fail.
- Since:
- This function is available since SDL 2.0.7.
-
SDL_UnlockJoysticks
public static void SDL_UnlockJoysticks()
Unlocking for multi-threaded access to the joystick APIIf you are using the joystick API or handling events from multiple threads you should use these locking functions to protect access to the joysticks.
In particular, you are guaranteed that the joystick list won't change, so the API functions that take a joystick index will be valid, and joystick and game controller events will not be delivered.
- Since:
- This function is available since SDL 2.0.7.
-
SDL_NumJoysticks
public static int SDL_NumJoysticks()
Count the number of joysticks attached to the system.- Returns:
- the number of attached joysticks on success or a negative error code on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickName(SDL_Joystick)
,SDL_JoystickPath(SDL_Joystick)
,SDL_JoystickOpen(int)
-
SDL_JoystickNameForIndex
public static String SDL_JoystickNameForIndex(int deviceIndex)
Get the implementation dependent name of a joystick.This can be called before any joysticks are opened.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system)- Returns:
- the name of the selected joystick. If no name can be found, this function returns null; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickName(SDL_Joystick)
,SDL_JoystickOpen(int)
-
SDL_JoystickPathForIndex
public static String SDL_JoystickPathForIndex(int deviceIndex)
Get the implementation dependent path of a joystick.This can be called before any joysticks are opened.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system)- Returns:
- the path of the selected joystick. If no path can be found, this function returns null; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.24.0.
- See Also:
SDL_JoystickPath(SDL_Joystick)
,SDL_JoystickOpen(int)
-
SDL_JoystickGetDevicePlayerIndex
public static int SDL_JoystickGetDevicePlayerIndex(int deviceIndex)
Get the player index of a joystick, or -1 if it's not available This can be called before any joysticks are opened.- Since:
- This function is available since SDL 2.0.9.
-
SDL_JoystickGetDeviceGUID
public static SDL_JoystickGUID SDL_JoystickGetDeviceGUID(int deviceIndex)
Get the implementation-dependent GUID for the joystick at a given device index.This function can be called before any joysticks are opened.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system- Returns:
- the GUID of the selected joystick. If called on an invalid index, this function returns a zero GUID
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetGUID(SDL_Joystick)
,SDL_JoystickGetGUIDString(SDL_JoystickGUID)
-
SDL_JoystickGetDeviceVendor
public static short SDL_JoystickGetDeviceVendor(int deviceIndex)
Get the USB vendor ID of a joystick, if available.This can be called before any joysticks are opened. If the vendor ID isn't available this function returns 0.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system- Returns:
- the USB vendor ID of the selected joystick. If called on an invalid index, this function returns zero
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetDeviceProduct
public static short SDL_JoystickGetDeviceProduct(int deviceIndex)
Get the USB product ID of a joystick, if available.This can be called before any joysticks are opened. If the product ID isn't available this function returns 0.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system- Returns:
- the USB product ID of the selected joystick. If called on an invalid index, this function returns zero
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetDeviceProductVersion
public static short SDL_JoystickGetDeviceProductVersion(int deviceIndex)
Get the product version of a joystick, if available.This can be called before any joysticks are opened. If the product version isn't available this function returns 0.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system- Returns:
- the product version of the selected joystick. If called on an invalid index, this function returns zero
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetDeviceType
public static int SDL_JoystickGetDeviceType(int deviceIndex)
Get the type of a joystick, if available.This can be called before any joysticks are opened.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system- Returns:
- the SDL_JoystickType of the selected joystick. If called on an
invalid index, this function returns
SDL_JOYSTICK_TYPE_UNKNOWN
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetDeviceInstanceID
public static SDL_JoystickID SDL_JoystickGetDeviceInstanceID(int deviceIndex)
Get the instance ID of a joystick.This can be called before any joysticks are opened. If the index is out of range, this function will return -1.
- Parameters:
deviceIndex
- the index of the joystick to query (the N'th joystick on the system- Returns:
- the instance id of the selected joystick. If called on an invalid index, this function returns zero
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickOpen
public static SDL_Joystick SDL_JoystickOpen(int deviceIndex)
Open a joystick for use.The
deviceIndex
argument refers to the N'th joystick presently recognized by SDL on the system. It is **NOT** the same as the instance ID used to identify the joystick in future events. See SDL_JoystickInstanceID() for more details about instance IDs.The joystick subsystem must be initialized before a joystick can be opened for use.
- Parameters:
deviceIndex
- the index of the joystick to query- Returns:
- a joystick identifier or null if an error occurred; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickClose(SDL_Joystick)
,SDL_JoystickInstanceID(SDL_Joystick)
-
SDL_JoystickFromInstanceID
public static SDL_Joystick SDL_JoystickFromInstanceID(SDL_JoystickID instanceId)
Get the SDL_Joystick associated with an instance id.- Parameters:
instanceId
- the instance id to get the SDL_Joystick for- Returns:
- an SDL_Joystick on success or null on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.4.
-
SDL_JoystickFromPlayerIndex
public static SDL_Joystick SDL_JoystickFromPlayerIndex(int playerIndex)
Get the SDL_Joystick associated with a player index.- Parameters:
playerIndex
- the player index to get the SDL_Joystick for- Returns:
- an SDL_Joystick on success or null on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.12.
-
SDL_JoystickAttachVirtual
public static int SDL_JoystickAttachVirtual(int type, int naxes, int nbuttons, int nhats)
Attach a new virtual joystick.- Returns:
- the joystick's device index, or -1 if an error occurred.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickAttachVirtualEx
public static int SDL_JoystickAttachVirtualEx(SDL_VirtualJoystickDesc desc)
Attach a new virtual joystick with extended properties.- Returns:
- the joystick's device index, or -1 if an error occurred.
- Since:
- This function is available since SDL 2.24.0.
-
SDL_JoystickDetachVirtual
public static int SDL_JoystickDetachVirtual(int deviceIndex)
Detach a virtual joystick.- Parameters:
deviceIndex
- a value previously returned from SDL_JoystickAttachVirtual()- Returns:
- 0 on success, or -1 if an error occurred.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickIsVirtual
public static boolean SDL_JoystickIsVirtual(int deviceIndex)
Query whether or not the joystick at a given device index is virtual.- Parameters:
deviceIndex
- a joystick device index.- Returns:
- true if the joystick is virtual, false otherwise.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickSetVirtualAxis
public static int SDL_JoystickSetVirtualAxis(SDL_Joystick joystick, int axis, short value)
Set values on an opened, virtual-joystick's axis.Please note that values set here will not be applied until the next call to SDL_JoystickUpdate, which can either be called directly, or can be called indirectly through various other SDL APIs, including, but not limited to the following: SDL_PollEvent, SDL_PumpEvents, SDL_WaitEventTimeout, SDL_WaitEvent.
Note that when sending trigger axes, you should scale the value to the full range of short data type. For example, a trigger at rest would have the value of
SDL_JOYSTICK_AXIS_MIN
.- Parameters:
joystick
- the virtual joystick on which to set state.axis
- the specific axis on the virtual joystick to set.value
- the new value for the specified axis.- Returns:
- 0 on success, -1 on error.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickSetVirtualButton
public static int SDL_JoystickSetVirtualButton(SDL_Joystick joystick, int button, byte value)
Set values on an opened, virtual-joystick's button.Please note that values set here will not be applied until the next call to SDL_JoystickUpdate, which can either be called directly, or can be called indirectly through various other SDL APIs, including, but not limited to the following: SDL_PollEvent, SDL_PumpEvents, SDL_WaitEventTimeout, SDL_WaitEvent.
- Parameters:
joystick
- the virtual joystick on which to set state.button
- the specific button on the virtual joystick to set.value
- the new value for the specified button.- Returns:
- 0 on success, -1 on error.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickSetVirtualHat
public static int SDL_JoystickSetVirtualHat(SDL_Joystick joystick, int hat, byte value)
Set values on an opened, virtual-joystick's hat.Please note that values set here will not be applied until the next call to SDL_JoystickUpdate, which can either be called directly, or can be called indirectly through various other SDL APIs, including, but not limited to the following: SDL_PollEvent, SDL_PumpEvents, SDL_WaitEventTimeout, SDL_WaitEvent.
- Parameters:
joystick
- the virtual joystick on which to set state.hat
- the specific hat on the virtual joystick to set.value
- the new value for the specified hat.- Returns:
- 0 on success, -1 on error.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickName
public static String SDL_JoystickName(SDL_Joystick joystick)
Get the implementation dependent name of a joystick.- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the name of the selected joystick. If no name can be found, this function returns null; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickNameForIndex(int)
,SDL_JoystickOpen(int)
-
SDL_JoystickPath
public static String SDL_JoystickPath(SDL_Joystick joystick)
Get the implementation dependent path of a joystick.- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the path of the selected joystick. If no path can be found, this function returns null; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.24.0.
- See Also:
SDL_JoystickPathForIndex(int)
-
SDL_JoystickGetPlayerIndex
public static int SDL_JoystickGetPlayerIndex(SDL_Joystick joystick)
Get the player index of an opened joystick.For XInput controllers this returns the XInput user index. Many joysticks will not be able to supply this information.
- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the player index, or -1 if it's not available.
- Since:
- This function is available since SDL 2.0.9.
-
SDL_JoystickSetPlayerIndex
public static void SDL_JoystickSetPlayerIndex(SDL_Joystick joystick, int playerIndex)
Set the player index of an opened joystick.- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()playerIndex
- Player index to assign to this joystick, or -1 to clear the player index and turn off player LEDs.- Since:
- This function is available since SDL 2.0.12.
-
SDL_JoystickGetGUID
public static SDL_JoystickGUID SDL_JoystickGetGUID(SDL_Joystick joystick)
Get the implementation-dependent GUID for the joystick.This function requires an open joystick.
- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the GUID of the given joystick. If called on an invalid index, this function returns a zero GUID; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetDeviceGUID(int)
,SDL_JoystickGetGUIDString(SDL_JoystickGUID)
-
SDL_JoystickGetVendor
public static short SDL_JoystickGetVendor(SDL_Joystick joystick)
Get the USB vendor ID of an opened joystick, if available.If the vendor ID isn't available this function returns 0.
- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the USB vendor ID of the selected joystick, or 0 if unavailable.
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetProduct
public static short SDL_JoystickGetProduct(SDL_Joystick joystick)
Get the USB product ID of an opened joystick, if available.If the product ID isn't available this function returns 0.
- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the USB product ID of the selected joystick, or 0 if unavailable.
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetProductVersion
public static short SDL_JoystickGetProductVersion(SDL_Joystick joystick)
Get the product version of an opened joystick, if available.If the product version isn't available this function returns 0.
- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the product version of the selected joystick, or 0 if unavailable.
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetFirmwareVersion
public static short SDL_JoystickGetFirmwareVersion(SDL_Joystick joystick)
Get the firmware version of an opened joystick, if available.If the firmware version isn't available this function returns 0.
- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the firmware version of the selected joystick, or 0 if unavailable.
- Since:
- This function is available since SDL 2.24.0.
-
SDL_JoystickGetSerial
public static String SDL_JoystickGetSerial(SDL_Joystick joystick)
Get the serial number of an opened joystick, if available.Returns the serial number of the joystick, or null if it is not available.
- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the serial number of the selected joystick, or null if unavailable.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickGetType
public static int SDL_JoystickGetType(SDL_Joystick joystick)
Get the type of an opened joystick.- Parameters:
joystick
- the SDL_Joystick obtained from SDL_JoystickOpen()- Returns:
- the SDL_JoystickType of the selected joystick.
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetGUIDString
public static String SDL_JoystickGetGUIDString(SDL_JoystickGUID guid)
Get an ASCII string representation for a given SDL_JoystickGUID.- Parameters:
guid
- the SDL_JoystickGUID you wish to convert to string- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetDeviceGUID(int)
,SDL_JoystickGetGUID(SDL_Joystick)
,SDL_JoystickGetGUIDFromString(String)
-
SDL_JoystickGetGUIDFromString
public static SDL_JoystickGUID SDL_JoystickGetGUIDFromString(String pchGUID)
Convert a GUID string into a SDL_JoystickGUID structure.Performs no error checking. If this function is given a string containing an invalid GUID, the function will silently succeed, but the GUID generated will not be useful.
- Parameters:
pchGUID
- string containing an ASCII representation of a GUID- Returns:
- a SDL_JoystickGUID structure.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetGUIDString(SDL_JoystickGUID)
-
SDL_GetJoystickGUIDInfo
public static void SDL_GetJoystickGUIDInfo(SDL_JoystickGUID guid, com.sun.jna.ptr.ShortByReference vendor, com.sun.jna.ptr.ShortByReference product, com.sun.jna.ptr.ShortByReference version, com.sun.jna.ptr.ShortByReference crc16)
Get the device information encoded in a SDL_JoystickGUID structure- Parameters:
guid
- the SDL_JoystickGUID you wish to get info aboutvendor
- A pointer filled in with the device VID, or 0 if not availableproduct
- A pointer filled in with the device PID, or 0 if not availableversion
- A pointer filled in with the device version, or 0 if not availablecrc16
- A pointer filled in with a CRC used to distinguish different products with the same VID/PID, or 0 if not available- Since:
- This function is available since SDL 2.26.0.
- See Also:
SDL_JoystickGetDeviceGUID(int)
-
SDL_JoystickGetAttached
public static boolean SDL_JoystickGetAttached(SDL_Joystick joystick)
Get the status of a specified joystick.- Parameters:
joystick
- the joystick to query- Returns:
- true if the joystick has been opened, false if it has not; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickClose(SDL_Joystick)
,SDL_JoystickOpen(int)
-
SDL_JoystickInstanceID
public static SDL_JoystickID SDL_JoystickInstanceID(SDL_Joystick joystick)
Get the instance ID of an opened joystick.- Parameters:
joystick
- an SDL_Joystick structure containing joystick information- Returns:
- the instance ID of the specified joystick on success or a negative error code on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickOpen(int)
-
SDL_JoystickNumAxes
public static int SDL_JoystickNumAxes(SDL_Joystick joystick)
Get the number of general axis controls on a joystick.Often, the directional pad on a game controller will either look like 4 separate buttons or a POV hat, and not axes, but all of this is up to the device and platform.
- Parameters:
joystick
- an SDL_Joystick structure containing joystick information- Returns:
- the number of axis controls/number of axes on success or a negative error code on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetAxis(SDL_Joystick, int)
,SDL_JoystickOpen(int)
-
SDL_JoystickNumBalls
public static int SDL_JoystickNumBalls(SDL_Joystick joystick)
Get the number of trackballs on a joystick.Joystick trackballs have only relative motion events associated with them and their state cannot be polled.
Most joysticks do not have trackballs.
- Parameters:
joystick
- an SDL_Joystick structure containing joystick information- Returns:
- the number of trackballs on success or a negative error code on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetBall(SDL_Joystick, int, IntByReference, IntByReference)
-
SDL_JoystickNumHats
public static int SDL_JoystickNumHats(SDL_Joystick joystick)
Get the number of POV hats on a joystick.- Parameters:
joystick
- an SDL_Joystick structure containing joystick information- Returns:
- the number of POV hats on success or a negative error code on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetHat(SDL_Joystick, int)
,SDL_JoystickOpen(int)
-
SDL_JoystickNumButtons
public static int SDL_JoystickNumButtons(SDL_Joystick joystick)
Get the number of buttons on a joystick.- Parameters:
joystick
- an SDL_Joystick structure containing joystick information- Returns:
- the number of buttons on success or a negative error code on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickGetButton(SDL_Joystick, int)
,SDL_JoystickOpen(int)
-
SDL_JoystickUpdate
public static void SDL_JoystickUpdate()
Update the current state of the open joysticks.This is called automatically by the event loop if any joystick events are enabled.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickEventState(int)
-
SDL_JoystickEventState
public static int SDL_JoystickEventState(int state)
Enable/disable joystick event polling.If joystick events are disabled, you must call SDL_JoystickUpdate() yourself and manually check the state of the joystick when you want joystick information.
It is recommended that you leave joystick event handling enabled.
**WARNING**: Calling this function may delete all events currently in SDL's event queue.- Parameters:
state
- can be one ofSDL_QUERY
,SDL_IGNORE
, orSDL_ENABLE
- Returns:
- 1 if enabled, 0 if disabled, or a negative error code on failure;
call SDL_GetError() for more information.
If
state
isSDL_QUERY
then the current state is returned, otherwise the new processing state is returned. - Since:
- This function is available since SDL 2.0.0.
- See Also:
SdlGamecontroller.SDL_GameControllerEventState(int)
-
SDL_JoystickGetAxis
public static short SDL_JoystickGetAxis(SDL_Joystick joystick, int axis)
Get the current state of an axis control on a joystick.SDL makes no promises about what part of the joystick any given axis refers to. Your game should have some sort of configuration UI to let users specify what each axis should be bound to. Alternately, SDL's higher-level Game Controller API makes a great effort to apply order to this lower-level interface, so you know that a specific axis is the "left thumb stick," etc.
The value returned by SDL_JoystickGetAxis() is a signed integer (-32768 to 32767) representing the current position of the axis. It may be necessary to impose certain tolerances on these values to account for jitter.
- Parameters:
joystick
- an SDL_Joystick structure containing joystick informationaxis
- the axis to query; the axis indices start at index 0- Returns:
- a 16-bit signed integer representing the current position of the axis or 0 on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickNumAxes(SDL_Joystick)
-
SDL_JoystickGetAxisInitialState
public static boolean SDL_JoystickGetAxisInitialState(SDL_Joystick joystick, int axis, com.sun.jna.ptr.ShortByReference state)
Get the initial state of an axis control on a joystick.The state is a value ranging from -32768 to 32767.
The axis indices start at index 0.
- Parameters:
joystick
- an SDL_Joystick structure containing joystick informationaxis
- the axis to query; the axis indices start at index 0state
- Upon return, the initial value is supplied here.- Returns:
- true if this axis has any initial value, or false if not.
- Since:
- This function is available since SDL 2.0.6.
-
SDL_JoystickGetHat
public static byte SDL_JoystickGetHat(SDL_Joystick joystick, int hat)
Get the current state of a POV hat on a joystick.The returned value will be one of the following positions:
-SDL_HAT_CENTERED
-SDL_HAT_UP
-SDL_HAT_RIGHT
-SDL_HAT_DOWN
-SDL_HAT_LEFT
-SDL_HAT_RIGHTUP
-SDL_HAT_RIGHTDOWN
-SDL_HAT_LEFTUP
-SDL_HAT_LEFTDOWN
- Parameters:
joystick
- an SDL_Joystick structure containing joystick informationhat
- the hat index to get the state from; indices start at index 0- Returns:
- the current hat position.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickNumHats(SDL_Joystick)
-
SDL_JoystickGetBall
public static int SDL_JoystickGetBall(SDL_Joystick joystick, int ball, com.sun.jna.ptr.IntByReference dx, com.sun.jna.ptr.IntByReference dy)
Get the ball axis change since the last poll.Trackballs can only return relative motion since the last call to SDL_JoystickGetBall(), these motion deltas are placed into
dx
anddy
.Most joysticks do not have trackballs.
- Parameters:
joystick
- the SDL_Joystick to queryball
- the ball index to query; ball indices start at index 0dx
- stores the difference in the x axis position since the last polldy
- stores the difference in the y axis position since the last poll- Returns:
- 0 on success or a negative error code on failure; call SDL_GetError() for more information.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickNumBalls(SDL_Joystick)
-
SDL_JoystickGetButton
public static byte SDL_JoystickGetButton(SDL_Joystick joystick, int button)
Get the current state of a button on a joystick.- Parameters:
joystick
- an SDL_Joystick structure containing joystick informationbutton
- the button index to get the state from; indices start at index 0- Returns:
- 1 if the specified button is pressed, 0 otherwise.
- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickNumButtons(SDL_Joystick)
-
SDL_JoystickRumble
public static int SDL_JoystickRumble(SDL_Joystick joystick, short lowFrequencyRumble, short highFrequencyRumble, int durationMs)
Start a rumble effect.Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.
- Parameters:
joystick
- The joystick to vibratelowFrequencyRumble
- The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFFhighFrequencyRumble
- The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFFdurationMs
- The duration of the rumble effect, in milliseconds- Returns:
- 0, or -1 if rumble isn't supported on this joystick
- Since:
- This function is available since SDL 2.0.9.
- See Also:
SDL_JoystickHasRumble(SDL_Joystick)
-
SDL_JoystickRumbleTriggers
public static int SDL_JoystickRumbleTriggers(SDL_Joystick joystick, short leftRumble, short rightRumble, int durationMs)
Start a rumble effect in the joystick's triggersEach call to this function cancels any previous trigger rumble effect, and calling it with 0 intensity stops any rumbling.
Note that this is rumbling of the _triggers_ and not the game controller as a whole. This is currently only supported on Xbox One controllers. If you want the (more common) whole-controller rumble, use SDL_JoystickRumble() instead.
- Parameters:
joystick
- The joystick to vibrateleftRumble
- The intensity of the left trigger rumble motor, from 0 to 0xFFFFrightRumble
- The intensity of the right trigger rumble motor, from 0 to 0xFFFFdurationMs
- The duration of the rumble effect, in milliseconds- Returns:
- 0, or -1 if trigger rumble isn't supported on this joystick
- Since:
- This function is available since SDL 2.0.14.
- See Also:
SDL_JoystickHasRumbleTriggers(SDL_Joystick)
-
SDL_JoystickHasLED
public static boolean SDL_JoystickHasLED(SDL_Joystick joystick)
Query whether a joystick has an LED.An example of a joystick LED is the light on the back of a PlayStation 4's DualShock 4 controller.
- Parameters:
joystick
- The joystick to query- Returns:
- true if the joystick has a modifiable LED, false otherwise.
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickHasRumble
public static boolean SDL_JoystickHasRumble(SDL_Joystick joystick)
Query whether a joystick has rumble support.- Parameters:
joystick
- The joystick to query- Returns:
- true if the joystick has rumble, false otherwise.
- Since:
- This function is available since SDL 2.0.18.
- See Also:
SDL_JoystickRumble(SDL_Joystick, short, short, int)
-
SDL_JoystickHasRumbleTriggers
public static boolean SDL_JoystickHasRumbleTriggers(SDL_Joystick joystick)
Query whether a joystick has rumble support on triggers.- Parameters:
joystick
- The joystick to query- Returns:
- true if the joystick has trigger rumble, false otherwise.
- Since:
- This function is available since SDL 2.0.18.
- See Also:
SDL_JoystickRumbleTriggers(SDL_Joystick, short, short, int)
-
SDL_JoystickSetLED
public static int SDL_JoystickSetLED(SDL_Joystick joystick, byte red, byte green, byte blue)
Update a joystick's LED color.An example of a joystick LED is the light on the back of a PlayStation 4's DualShock 4 controller.
- Parameters:
joystick
- The joystick to updatered
- The intensity of the red LEDgreen
- The intensity of the green LEDblue
- The intensity of the blue LED- Returns:
- 0 on success, -1 if this joystick does not have a modifiable LED
- Since:
- This function is available since SDL 2.0.14.
-
SDL_JoystickSendEffect
public static int SDL_JoystickSendEffect(SDL_Joystick joystick, com.sun.jna.Pointer data, int size)
Send a joystick specific effect packet- Parameters:
joystick
- The joystick to affectdata
- The data to send to the joysticksize
- The size of the data to send to the joystick- Returns:
- 0, or -1 if this joystick or driver doesn't support effect packets
- Since:
- This function is available since SDL 2.0.16.
-
SDL_JoystickClose
public static void SDL_JoystickClose(SDL_Joystick joystick)
Close a joystick previously opened with SDL_JoystickOpen().- Parameters:
joystick
- The joystick device to close- Since:
- This function is available since SDL 2.0.0.
- See Also:
SDL_JoystickOpen(int)
-
SDL_JoystickCurrentPowerLevel
public static int SDL_JoystickCurrentPowerLevel(SDL_Joystick joystick)
Get the battery level of a joystick as SDL_JoystickPowerLevel.- Parameters:
joystick
- the SDL_Joystick to query- Returns:
- the current battery level as SDL_JoystickPowerLevel on success or
SDL_JOYSTICK_POWER_UNKNOWN
if it is unknown - Since:
- This function is available since SDL 2.0.4.
-
-