Rev 1 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1 | Rev 8 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | /* |
1 | /* |
2 | Simple DirectMedia Layer |
2 | Simple DirectMedia Layer |
3 | Copyright (C) 1997- |
3 | Copyright (C) 1997-2018 Sam Lantinga <slouken@libsdl.org> |
4 | 4 | ||
5 | This software is provided 'as-is', without any express or implied |
5 | This software is provided 'as-is', without any express or implied |
6 | warranty. In no event will the authors be held liable for any damages |
6 | warranty. In no event will the authors be held liable for any damages |
7 | arising from the use of this software. |
7 | arising from the use of this software. |
8 | 8 | ||
Line 95... | Line 95... | ||
95 | } SDL_JoystickType; |
95 | } SDL_JoystickType; |
96 | 96 | ||
97 | typedef enum |
97 | typedef enum |
98 | { |
98 | { |
99 | SDL_JOYSTICK_POWER_UNKNOWN = -1, |
99 | SDL_JOYSTICK_POWER_UNKNOWN = -1, |
100 | SDL_JOYSTICK_POWER_EMPTY, |
100 | SDL_JOYSTICK_POWER_EMPTY, /* <= 5% */ |
101 | SDL_JOYSTICK_POWER_LOW, |
101 | SDL_JOYSTICK_POWER_LOW, /* <= 20% */ |
102 | SDL_JOYSTICK_POWER_MEDIUM, |
102 | SDL_JOYSTICK_POWER_MEDIUM, /* <= 70% */ |
103 | SDL_JOYSTICK_POWER_FULL, |
103 | SDL_JOYSTICK_POWER_FULL, /* <= 100% */ |
104 | SDL_JOYSTICK_POWER_WIRED, |
104 | SDL_JOYSTICK_POWER_WIRED, |
105 | SDL_JOYSTICK_POWER_MAX |
105 | SDL_JOYSTICK_POWER_MAX |
106 | } SDL_JoystickPowerLevel; |
106 | } SDL_JoystickPowerLevel; |
107 | 107 | ||
108 | /* Function prototypes */ |
108 | /* Function prototypes */ |
Line 129... | Line 129... | ||
129 | * Get the implementation dependent name of a joystick. |
129 | * Get the implementation dependent name of a joystick. |
130 | * This can be called before any joysticks are opened. |
130 | * This can be called before any joysticks are opened. |
131 | * If no name can be found, this function returns NULL. |
131 | * If no name can be found, this function returns NULL. |
132 | */ |
132 | */ |
133 | extern DECLSPEC const char *SDLCALL SDL_JoystickNameForIndex(int device_index); |
133 | extern DECLSPEC const char *SDLCALL SDL_JoystickNameForIndex(int device_index); |
- | 134 | ||
- | 135 | /** |
|
- | 136 | * Get the player index of a joystick, or -1 if it's not available |
|
- | 137 | * This can be called before any joysticks are opened. |
|
- | 138 | */ |
|
- | 139 | extern DECLSPEC int SDLCALL SDL_JoystickGetDevicePlayerIndex(int device_index); |
|
134 | 140 | ||
135 | /** |
141 | /** |
136 | * Return the GUID for the joystick at this index |
142 | * Return the GUID for the joystick at this index |
137 | * This can be called before any joysticks are opened. |
143 | * This can be called before any joysticks are opened. |
138 | */ |
144 | */ |
Line 191... | Line 197... | ||
191 | /** |
197 | /** |
192 | * Return the name for this currently opened joystick. |
198 | * Return the name for this currently opened joystick. |
193 | * If no name can be found, this function returns NULL. |
199 | * If no name can be found, this function returns NULL. |
194 | */ |
200 | */ |
195 | extern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick * joystick); |
201 | extern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick * joystick); |
- | 202 | ||
- | 203 | /** |
|
- | 204 | * Get the player index of an opened joystick, or -1 if it's not available |
|
- | 205 | * |
|
- | 206 | * For XInput controllers this returns the XInput user index. |
|
- | 207 | */ |
|
- | 208 | extern DECLSPEC int SDLCALL SDL_JoystickGetPlayerIndex(SDL_Joystick * joystick); |
|
196 | 209 | ||
197 | /** |
210 | /** |
198 | * Return the GUID for this opened joystick |
211 | * Return the GUID for this opened joystick |
199 | */ |
212 | */ |
200 | extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick * joystick); |
213 | extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick * joystick); |
Line 358... | Line 371... | ||
358 | * |
371 | * |
359 | * The button indices start at index 0. |
372 | * The button indices start at index 0. |
360 | */ |
373 | */ |
361 | extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, |
374 | extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, |
362 | int button); |
375 | int button); |
- | 376 | ||
- | 377 | /** |
|
- | 378 | * Trigger a rumble effect |
|
- | 379 | * Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling. |
|
- | 380 | * |
|
- | 381 | * \param joystick The joystick to vibrate |
|
- | 382 | * \param low_frequency_rumble The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF |
|
- | 383 | * \param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF |
|
- | 384 | * \param duration_ms The duration of the rumble effect, in milliseconds |
|
- | 385 | * |
|
- | 386 | * \return 0, or -1 if rumble isn't supported on this joystick |
|
- | 387 | */ |
|
- | 388 | extern DECLSPEC int SDLCALL SDL_JoystickRumble(SDL_Joystick * joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms); |
|
363 | 389 | ||
364 | /** |
390 | /** |
365 | * Close a joystick previously opened with SDL_JoystickOpen(). |
391 | * Close a joystick previously opened with SDL_JoystickOpen(). |
366 | */ |
392 | */ |
367 | extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick * joystick); |
393 | extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick * joystick); |