Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-updates > by-pkgid > bf9e3bc1aec7873c087fb2ccd927873f > files > 50

sdl2-docs-2.0.10-1.mga7.noarch.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>My Project: SDL_joystick.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">My Project
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">SDL_joystick.h File Reference</div>  </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="SDL__stdinc_8h_source.html">SDL_stdinc.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="SDL__error_8h_source.html">SDL_error.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="begin__code_8h_source.html">begin_code.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="close__code_8h_source.html">close_code.h</a>&quot;</code><br />
</div>
<p><a href="SDL__joystick_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:af443c2c3d8cc4dd4f5b2923bc053ee4b"><td class="memItemLeft" align="right" valign="top"><a id="af443c2c3d8cc4dd4f5b2923bc053ee4b"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_JOYSTICK_AXIS_MAX</b>&#160;&#160;&#160;32767</td></tr>
<tr class="separator:af443c2c3d8cc4dd4f5b2923bc053ee4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a591b0765b63a2cab64d8f268be8a22ec"><td class="memItemLeft" align="right" valign="top"><a id="a591b0765b63a2cab64d8f268be8a22ec"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_JOYSTICK_AXIS_MIN</b>&#160;&#160;&#160;-32768</td></tr>
<tr class="separator:a591b0765b63a2cab64d8f268be8a22ec"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Hat positions</div></td></tr>
<tr class="memitem:adbfd6f0bad25cd1bb79f8c0a065f3833"><td class="memItemLeft" align="right" valign="top"><a id="adbfd6f0bad25cd1bb79f8c0a065f3833"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_CENTERED</b>&#160;&#160;&#160;0x00</td></tr>
<tr class="separator:adbfd6f0bad25cd1bb79f8c0a065f3833"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac916fe96c0740790e5496e12c67d8889"><td class="memItemLeft" align="right" valign="top"><a id="ac916fe96c0740790e5496e12c67d8889"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_UP</b>&#160;&#160;&#160;0x01</td></tr>
<tr class="separator:ac916fe96c0740790e5496e12c67d8889"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d1844afaf2ceaf58c689a8bd480a543"><td class="memItemLeft" align="right" valign="top"><a id="a5d1844afaf2ceaf58c689a8bd480a543"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_RIGHT</b>&#160;&#160;&#160;0x02</td></tr>
<tr class="separator:a5d1844afaf2ceaf58c689a8bd480a543"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa87f7a91d6bae8b420b133559d983338"><td class="memItemLeft" align="right" valign="top"><a id="aa87f7a91d6bae8b420b133559d983338"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_DOWN</b>&#160;&#160;&#160;0x04</td></tr>
<tr class="separator:aa87f7a91d6bae8b420b133559d983338"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4666c12cae25d8bab053d8569396cd77"><td class="memItemLeft" align="right" valign="top"><a id="a4666c12cae25d8bab053d8569396cd77"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_LEFT</b>&#160;&#160;&#160;0x08</td></tr>
<tr class="separator:a4666c12cae25d8bab053d8569396cd77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65fde978b4ab9c269c215d1922ae7755"><td class="memItemLeft" align="right" valign="top"><a id="a65fde978b4ab9c269c215d1922ae7755"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_RIGHTUP</b>&#160;&#160;&#160;(SDL_HAT_RIGHT|SDL_HAT_UP)</td></tr>
<tr class="separator:a65fde978b4ab9c269c215d1922ae7755"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abf50339da11ca12699ee2199607d275f"><td class="memItemLeft" align="right" valign="top"><a id="abf50339da11ca12699ee2199607d275f"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_RIGHTDOWN</b>&#160;&#160;&#160;(SDL_HAT_RIGHT|SDL_HAT_DOWN)</td></tr>
<tr class="separator:abf50339da11ca12699ee2199607d275f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d7988b43c09ced08ec318a2556f1858"><td class="memItemLeft" align="right" valign="top"><a id="a6d7988b43c09ced08ec318a2556f1858"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_LEFTUP</b>&#160;&#160;&#160;(SDL_HAT_LEFT|SDL_HAT_UP)</td></tr>
<tr class="separator:a6d7988b43c09ced08ec318a2556f1858"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3fa8609d382a0f74507890491033c784"><td class="memItemLeft" align="right" valign="top"><a id="a3fa8609d382a0f74507890491033c784"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_HAT_LEFTDOWN</b>&#160;&#160;&#160;(SDL_HAT_LEFT|SDL_HAT_DOWN)</td></tr>
<tr class="separator:a3fa8609d382a0f74507890491033c784"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:a1246a982e91df301042a77e65c694987"><td class="memItemLeft" align="right" valign="top"><a id="a1246a982e91df301042a77e65c694987"></a>
typedef struct _SDL_Joystick&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_Joystick</b></td></tr>
<tr class="separator:a1246a982e91df301042a77e65c694987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c3d32500cb08f76ee8077983912c0bd"><td class="memItemLeft" align="right" valign="top">typedef Sint32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a></td></tr>
<tr class="separator:a3c3d32500cb08f76ee8077983912c0bd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:a01a289030d76adc1666951fd6021c2ea"><td class="memItemLeft" align="right" valign="top"><a id="a01a289030d76adc1666951fd6021c2ea"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>SDL_JoystickType</b> { <br />
&#160;&#160;<b>SDL_JOYSTICK_TYPE_UNKNOWN</b>, 
<b>SDL_JOYSTICK_TYPE_GAMECONTROLLER</b>, 
<b>SDL_JOYSTICK_TYPE_WHEEL</b>, 
<b>SDL_JOYSTICK_TYPE_ARCADE_STICK</b>, 
<br />
&#160;&#160;<b>SDL_JOYSTICK_TYPE_FLIGHT_STICK</b>, 
<b>SDL_JOYSTICK_TYPE_DANCE_PAD</b>, 
<b>SDL_JOYSTICK_TYPE_GUITAR</b>, 
<b>SDL_JOYSTICK_TYPE_DRUM_KIT</b>, 
<br />
&#160;&#160;<b>SDL_JOYSTICK_TYPE_ARCADE_PAD</b>, 
<b>SDL_JOYSTICK_TYPE_THROTTLE</b>
<br />
 }</td></tr>
<tr class="separator:a01a289030d76adc1666951fd6021c2ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a293471a907265fb92ea12caf5bcc8065"><td class="memItemLeft" align="right" valign="top"><a id="a293471a907265fb92ea12caf5bcc8065"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>SDL_JoystickPowerLevel</b> { <br />
&#160;&#160;<b>SDL_JOYSTICK_POWER_UNKNOWN</b> = -1, 
<b>SDL_JOYSTICK_POWER_EMPTY</b>, 
<b>SDL_JOYSTICK_POWER_LOW</b>, 
<b>SDL_JOYSTICK_POWER_MEDIUM</b>, 
<br />
&#160;&#160;<b>SDL_JOYSTICK_POWER_FULL</b>, 
<b>SDL_JOYSTICK_POWER_WIRED</b>, 
<b>SDL_JOYSTICK_POWER_MAX</b>
<br />
 }</td></tr>
<tr class="separator:a293471a907265fb92ea12caf5bcc8065"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a4a2e0bedda1b7d0ac957607e944bfba0"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a4a2e0bedda1b7d0ac957607e944bfba0">SDL_LockJoysticks</a> (void)</td></tr>
<tr class="separator:a4a2e0bedda1b7d0ac957607e944bfba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add3a6baa4646469b34c42df028c59be0"><td class="memItemLeft" align="right" valign="top"><a id="add3a6baa4646469b34c42df028c59be0"></a>
DECLSPEC void SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_UnlockJoysticks</b> (void)</td></tr>
<tr class="separator:add3a6baa4646469b34c42df028c59be0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2ab130eaa28f8e3bd544a5432041a311"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a2ab130eaa28f8e3bd544a5432041a311">SDL_NumJoysticks</a> (void)</td></tr>
<tr class="separator:a2ab130eaa28f8e3bd544a5432041a311"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad36c04c086f834fe09a97e4cf86a5a59"><td class="memItemLeft" align="right" valign="top">DECLSPEC const char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#ad36c04c086f834fe09a97e4cf86a5a59">SDL_JoystickNameForIndex</a> (int device_index)</td></tr>
<tr class="separator:ad36c04c086f834fe09a97e4cf86a5a59"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad882a8dd3fe4278725a7fc212b755db7"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#ad882a8dd3fe4278725a7fc212b755db7">SDL_JoystickGetDevicePlayerIndex</a> (int device_index)</td></tr>
<tr class="separator:ad882a8dd3fe4278725a7fc212b755db7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdbf5289ff5452afb1bd869ffcf250b5"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#afdbf5289ff5452afb1bd869ffcf250b5">SDL_JoystickGetDeviceGUID</a> (int device_index)</td></tr>
<tr class="separator:afdbf5289ff5452afb1bd869ffcf250b5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afb8ba88559debca4ab2c702b8500d5fe"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#afb8ba88559debca4ab2c702b8500d5fe">SDL_JoystickGetDeviceVendor</a> (int device_index)</td></tr>
<tr class="separator:afb8ba88559debca4ab2c702b8500d5fe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6330470720659333e6ef60994942a855"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a6330470720659333e6ef60994942a855">SDL_JoystickGetDeviceProduct</a> (int device_index)</td></tr>
<tr class="separator:a6330470720659333e6ef60994942a855"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10972ad002df75e76ed68c18e1188e5e"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a10972ad002df75e76ed68c18e1188e5e">SDL_JoystickGetDeviceProductVersion</a> (int device_index)</td></tr>
<tr class="separator:a10972ad002df75e76ed68c18e1188e5e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a368a06b0fd51d453bb4692dcc2c42b69"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_JoystickType SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a368a06b0fd51d453bb4692dcc2c42b69">SDL_JoystickGetDeviceType</a> (int device_index)</td></tr>
<tr class="separator:a368a06b0fd51d453bb4692dcc2c42b69"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6c46ea976c7a65d49b38d31b42d11652"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a6c46ea976c7a65d49b38d31b42d11652">SDL_JoystickGetDeviceInstanceID</a> (int device_index)</td></tr>
<tr class="separator:a6c46ea976c7a65d49b38d31b42d11652"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5b6f6554bca2659e149b5bc0fa538899"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_Joystick *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a5b6f6554bca2659e149b5bc0fa538899">SDL_JoystickOpen</a> (int device_index)</td></tr>
<tr class="separator:a5b6f6554bca2659e149b5bc0fa538899"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abdca7bdd08c34dc7c292c296c440698a"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_Joystick *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#abdca7bdd08c34dc7c292c296c440698a">SDL_JoystickFromInstanceID</a> (<a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a> joyid)</td></tr>
<tr class="separator:abdca7bdd08c34dc7c292c296c440698a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad3ab02961bc45606e8f5f937c934160c"><td class="memItemLeft" align="right" valign="top">DECLSPEC const char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#ad3ab02961bc45606e8f5f937c934160c">SDL_JoystickName</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:ad3ab02961bc45606e8f5f937c934160c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1b3543511c1839f9c06aeea65b574e77"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a1b3543511c1839f9c06aeea65b574e77">SDL_JoystickGetPlayerIndex</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:a1b3543511c1839f9c06aeea65b574e77"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acc85c770af41eae76948e11c678f92ca"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#acc85c770af41eae76948e11c678f92ca">SDL_JoystickGetGUID</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:acc85c770af41eae76948e11c678f92ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a13d9a1e3c5cbe2591cd5214aad48fed8"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a13d9a1e3c5cbe2591cd5214aad48fed8">SDL_JoystickGetVendor</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:a13d9a1e3c5cbe2591cd5214aad48fed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0f4732dffd2a769a2346f4091b2f3199"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a0f4732dffd2a769a2346f4091b2f3199">SDL_JoystickGetProduct</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:a0f4732dffd2a769a2346f4091b2f3199"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afe6bbdbc0c81170d237fae42bec05665"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#afe6bbdbc0c81170d237fae42bec05665">SDL_JoystickGetProductVersion</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:afe6bbdbc0c81170d237fae42bec05665"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad21afdbdd915c013cacefb7e79bfe3bf"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_JoystickType SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#ad21afdbdd915c013cacefb7e79bfe3bf">SDL_JoystickGetType</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:ad21afdbdd915c013cacefb7e79bfe3bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f615ef8040e7e9de3af6482d8d9908c"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a7f615ef8040e7e9de3af6482d8d9908c">SDL_JoystickGetGUIDString</a> (<a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> guid, char *pszGUID, int cbGUID)</td></tr>
<tr class="separator:a7f615ef8040e7e9de3af6482d8d9908c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef9d131a6a6838847731cf8094944b46"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#aef9d131a6a6838847731cf8094944b46">SDL_JoystickGetGUIDFromString</a> (const char *pchGUID)</td></tr>
<tr class="separator:aef9d131a6a6838847731cf8094944b46"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a222cd2d664acbea2dad78b891df4b89a"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_bool SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a222cd2d664acbea2dad78b891df4b89a">SDL_JoystickGetAttached</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:a222cd2d664acbea2dad78b891df4b89a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab38dfc6428e15c2476478418075d4c83"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#ab38dfc6428e15c2476478418075d4c83">SDL_JoystickInstanceID</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:ab38dfc6428e15c2476478418075d4c83"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a865c2e087fe69a3a30c87243729ecdea"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a865c2e087fe69a3a30c87243729ecdea">SDL_JoystickNumAxes</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:a865c2e087fe69a3a30c87243729ecdea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a755d087bb16270087bfced7501656a6d"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a755d087bb16270087bfced7501656a6d">SDL_JoystickNumBalls</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:a755d087bb16270087bfced7501656a6d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa62ea91c7c4ca2d12804a9fb3760e448"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#aa62ea91c7c4ca2d12804a9fb3760e448">SDL_JoystickNumHats</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:aa62ea91c7c4ca2d12804a9fb3760e448"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adfc662e571011ae7ec303101ab34e53a"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#adfc662e571011ae7ec303101ab34e53a">SDL_JoystickNumButtons</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:adfc662e571011ae7ec303101ab34e53a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3ea23a9504ea56f2778147dbf39a029f"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a3ea23a9504ea56f2778147dbf39a029f">SDL_JoystickUpdate</a> (void)</td></tr>
<tr class="separator:a3ea23a9504ea56f2778147dbf39a029f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a51ba353843fd4477f6a485ac4ef35d00"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a51ba353843fd4477f6a485ac4ef35d00">SDL_JoystickEventState</a> (int state)</td></tr>
<tr class="separator:a51ba353843fd4477f6a485ac4ef35d00"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6fbda13b93679bedfc34733d4b2e748"><td class="memItemLeft" align="right" valign="top">DECLSPEC Sint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#ac6fbda13b93679bedfc34733d4b2e748">SDL_JoystickGetAxis</a> (SDL_Joystick *joystick, int axis)</td></tr>
<tr class="separator:ac6fbda13b93679bedfc34733d4b2e748"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b87809500c342149471e1abf0ace40c"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_bool SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a3b87809500c342149471e1abf0ace40c">SDL_JoystickGetAxisInitialState</a> (SDL_Joystick *joystick, int axis, Sint16 *state)</td></tr>
<tr class="separator:a3b87809500c342149471e1abf0ace40c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2215030cf283295569fee41fd0251e01"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint8 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a2215030cf283295569fee41fd0251e01">SDL_JoystickGetHat</a> (SDL_Joystick *joystick, int hat)</td></tr>
<tr class="separator:a2215030cf283295569fee41fd0251e01"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7a5a4c17f6a5a4ef9f5bc78e50913df"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#ac7a5a4c17f6a5a4ef9f5bc78e50913df">SDL_JoystickGetBall</a> (SDL_Joystick *joystick, int ball, int *dx, int *dy)</td></tr>
<tr class="separator:ac7a5a4c17f6a5a4ef9f5bc78e50913df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaf7789eb03bc42525691e075e2a36131"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint8 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#aaf7789eb03bc42525691e075e2a36131">SDL_JoystickGetButton</a> (SDL_Joystick *joystick, int button)</td></tr>
<tr class="separator:aaf7789eb03bc42525691e075e2a36131"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a307c87a4de5aec2d1ca22856d94930fa"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a307c87a4de5aec2d1ca22856d94930fa">SDL_JoystickRumble</a> (SDL_Joystick *joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms)</td></tr>
<tr class="separator:a307c87a4de5aec2d1ca22856d94930fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aafa0951b40ec2e200c098495c3dd4943"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#aafa0951b40ec2e200c098495c3dd4943">SDL_JoystickClose</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:aafa0951b40ec2e200c098495c3dd4943"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a192bbea3553394a6e9c80f77e431fd76"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_JoystickPowerLevel SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__joystick_8h.html#a192bbea3553394a6e9c80f77e431fd76">SDL_JoystickCurrentPowerLevel</a> (SDL_Joystick *joystick)</td></tr>
<tr class="separator:a192bbea3553394a6e9c80f77e431fd76"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Include file for SDL joystick event handling</p>
<p>The term "device_index" identifies currently plugged in joystick devices between 0 and <a class="el" href="SDL__joystick_8h.html#a2ab130eaa28f8e3bd544a5432041a311">SDL_NumJoysticks()</a>, with the exact joystick behind a device_index changing as joysticks are plugged and unplugged.</p>
<p>The term "instance_id" 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 instance_id, instance_id's are monotonically increasing identifiers of a joystick plugged in.</p>
<p>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.</p>
<p>In order to use these functions, <a class="el" href="SDL_8h.html#a8fc8d35348d7c74bad8392d776c937b8">SDL_Init()</a> must have been called with the <a class="el" href="SDL_8h.html#ad6b47d785eaa00d9c48e6c1cff4aef4b">SDL_INIT_JOYSTICK</a> flag. This causes SDL to scan the system for joysticks, and load appropriate drivers.</p>
<p>If you would like to receive joystick updates while the application is in the background, you should set the following hint before calling <a class="el" href="SDL_8h.html#a8fc8d35348d7c74bad8392d776c937b8">SDL_Init()</a>: SDL_HINT_JOYSTICK_ALLOW_BACKGROUND_EVENTS </p>
</div><h2 class="groupheader">Typedef Documentation</h2>
<a id="a3c3d32500cb08f76ee8077983912c0bd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c3d32500cb08f76ee8077983912c0bd">&#9670;&nbsp;</a></span>SDL_JoystickID</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef Sint32 <a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>This is a unique ID for a joystick for the time it is connected to the system, and is never reused for the lifetime of the application. If the joystick is disconnected and reconnected, it will get a new ID.</p>
<p>The ID value starts at 0 and increments from there. The value -1 is an invalid ID. </p>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="aafa0951b40ec2e200c098495c3dd4943"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aafa0951b40ec2e200c098495c3dd4943">&#9670;&nbsp;</a></span>SDL_JoystickClose()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC void SDLCALL SDL_JoystickClose </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Close a joystick previously opened with <a class="el" href="SDL__joystick_8h.html#a5b6f6554bca2659e149b5bc0fa538899">SDL_JoystickOpen()</a>. </p>

</div>
</div>
<a id="a192bbea3553394a6e9c80f77e431fd76"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a192bbea3553394a6e9c80f77e431fd76">&#9670;&nbsp;</a></span>SDL_JoystickCurrentPowerLevel()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_JoystickPowerLevel SDLCALL SDL_JoystickCurrentPowerLevel </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the battery level of this joystick </p>

</div>
</div>
<a id="a51ba353843fd4477f6a485ac4ef35d00"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a51ba353843fd4477f6a485ac4ef35d00">&#9670;&nbsp;</a></span>SDL_JoystickEventState()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickEventState </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>state</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Enable/disable joystick event polling.</p>
<p>If joystick events are disabled, you must call <a class="el" href="SDL__joystick_8h.html#a3ea23a9504ea56f2778147dbf39a029f">SDL_JoystickUpdate()</a> yourself and check the state of the joystick when you want joystick information.</p>
<p>The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. </p>

</div>
</div>
<a id="abdca7bdd08c34dc7c292c296c440698a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abdca7bdd08c34dc7c292c296c440698a">&#9670;&nbsp;</a></span>SDL_JoystickFromInstanceID()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_Joystick* SDLCALL SDL_JoystickFromInstanceID </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a>&#160;</td>
          <td class="paramname"><em>joyid</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the SDL_Joystick associated with an instance id. </p>

</div>
</div>
<a id="a222cd2d664acbea2dad78b891df4b89a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a222cd2d664acbea2dad78b891df4b89a">&#9670;&nbsp;</a></span>SDL_JoystickGetAttached()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. </p>

</div>
</div>
<a id="ac6fbda13b93679bedfc34733d4b2e748"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac6fbda13b93679bedfc34733d4b2e748">&#9670;&nbsp;</a></span>SDL_JoystickGetAxis()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>axis</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the current state of an axis control on a joystick.</p>
<p>The state is a value ranging from -32768 to 32767.</p>
<p>The axis indices start at index 0. </p>

</div>
</div>
<a id="a3b87809500c342149471e1abf0ace40c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3b87809500c342149471e1abf0ace40c">&#9670;&nbsp;</a></span>SDL_JoystickGetAxisInitialState()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAxisInitialState </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>axis</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Sint16 *&#160;</td>
          <td class="paramname"><em>state</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the initial state of an axis control on a joystick.</p>
<p>The state is a value ranging from -32768 to 32767.</p>
<p>The axis indices start at index 0.</p>
<dl class="section return"><dt>Returns</dt><dd>SDL_TRUE if this axis has any initial value, or SDL_FALSE if not. </dd></dl>

</div>
</div>
<a id="ac7a5a4c17f6a5a4ef9f5bc78e50913df"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac7a5a4c17f6a5a4ef9f5bc78e50913df">&#9670;&nbsp;</a></span>SDL_JoystickGetBall()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickGetBall </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>ball</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>dx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int *&#160;</td>
          <td class="paramname"><em>dy</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the ball axis change since the last poll.</p>
<dl class="section return"><dt>Returns</dt><dd>0, or -1 if you passed it invalid parameters.</dd></dl>
<p>The ball indices start at index 0. </p>

</div>
</div>
<a id="aaf7789eb03bc42525691e075e2a36131"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aaf7789eb03bc42525691e075e2a36131">&#9670;&nbsp;</a></span>SDL_JoystickGetButton()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>button</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the current state of a button on a joystick.</p>
<p>The button indices start at index 0. </p>

</div>
</div>
<a id="afdbf5289ff5452afb1bd869ffcf250b5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdbf5289ff5452afb1bd869ffcf250b5">&#9670;&nbsp;</a></span>SDL_JoystickGetDeviceGUID()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> SDLCALL SDL_JoystickGetDeviceGUID </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the GUID for the joystick at this index This can be called before any joysticks are opened. </p>

</div>
</div>
<a id="a6c46ea976c7a65d49b38d31b42d11652"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6c46ea976c7a65d49b38d31b42d11652">&#9670;&nbsp;</a></span>SDL_JoystickGetDeviceInstanceID()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a> SDLCALL SDL_JoystickGetDeviceInstanceID </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>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. </p>

</div>
</div>
<a id="ad882a8dd3fe4278725a7fc212b755db7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad882a8dd3fe4278725a7fc212b755db7">&#9670;&nbsp;</a></span>SDL_JoystickGetDevicePlayerIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickGetDevicePlayerIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the player index of a joystick, or -1 if it's not available This can be called before any joysticks are opened. </p>

</div>
</div>
<a id="a6330470720659333e6ef60994942a855"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a6330470720659333e6ef60994942a855">&#9670;&nbsp;</a></span>SDL_JoystickGetDeviceProduct()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint16 SDLCALL SDL_JoystickGetDeviceProduct </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>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. </p>

</div>
</div>
<a id="a10972ad002df75e76ed68c18e1188e5e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a10972ad002df75e76ed68c18e1188e5e">&#9670;&nbsp;</a></span>SDL_JoystickGetDeviceProductVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint16 SDLCALL SDL_JoystickGetDeviceProductVersion </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>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. </p>

</div>
</div>
<a id="a368a06b0fd51d453bb4692dcc2c42b69"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a368a06b0fd51d453bb4692dcc2c42b69">&#9670;&nbsp;</a></span>SDL_JoystickGetDeviceType()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetDeviceType </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the type of a joystick, if available. This can be called before any joysticks are opened. </p>

</div>
</div>
<a id="afb8ba88559debca4ab2c702b8500d5fe"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afb8ba88559debca4ab2c702b8500d5fe">&#9670;&nbsp;</a></span>SDL_JoystickGetDeviceVendor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint16 SDLCALL SDL_JoystickGetDeviceVendor </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>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. </p>

</div>
</div>
<a id="acc85c770af41eae76948e11c678f92ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acc85c770af41eae76948e11c678f92ca">&#9670;&nbsp;</a></span>SDL_JoystickGetGUID()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> SDLCALL SDL_JoystickGetGUID </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the GUID for this opened joystick </p>

</div>
</div>
<a id="aef9d131a6a6838847731cf8094944b46"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef9d131a6a6838847731cf8094944b46">&#9670;&nbsp;</a></span>SDL_JoystickGetGUIDFromString()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> SDLCALL SDL_JoystickGetGUIDFromString </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pchGUID</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Convert a string into a joystick guid </p>

</div>
</div>
<a id="a7f615ef8040e7e9de3af6482d8d9908c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f615ef8040e7e9de3af6482d8d9908c">&#9670;&nbsp;</a></span>SDL_JoystickGetGUIDString()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC void SDLCALL SDL_JoystickGetGUIDString </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a>&#160;</td>
          <td class="paramname"><em>guid</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>pszGUID</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>cbGUID</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return a string representation for this guid. pszGUID must point to at least 33 bytes (32 for the string plus a NULL terminator). </p>

</div>
</div>
<a id="a2215030cf283295569fee41fd0251e01"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2215030cf283295569fee41fd0251e01">&#9670;&nbsp;</a></span>SDL_JoystickGetHat()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>hat</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the current state of a POV hat on a joystick.</p>
<p>The hat indices start at index 0.</p>
<dl class="section return"><dt>Returns</dt><dd>The return value is one of the following positions:<ul>
<li>::SDL_HAT_CENTERED</li>
<li>::SDL_HAT_UP</li>
<li>::SDL_HAT_RIGHT</li>
<li>::SDL_HAT_DOWN</li>
<li>::SDL_HAT_LEFT</li>
<li>::SDL_HAT_RIGHTUP</li>
<li>::SDL_HAT_RIGHTDOWN</li>
<li>::SDL_HAT_LEFTUP</li>
<li>::SDL_HAT_LEFTDOWN </li>
</ul>
</dd></dl>

</div>
</div>
<a id="a1b3543511c1839f9c06aeea65b574e77"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1b3543511c1839f9c06aeea65b574e77">&#9670;&nbsp;</a></span>SDL_JoystickGetPlayerIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickGetPlayerIndex </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the player index of an opened joystick, or -1 if it's not available</p>
<p>For XInput controllers this returns the XInput user index. </p>

</div>
</div>
<a id="a0f4732dffd2a769a2346f4091b2f3199"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0f4732dffd2a769a2346f4091b2f3199">&#9670;&nbsp;</a></span>SDL_JoystickGetProduct()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint16 SDLCALL SDL_JoystickGetProduct </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the USB product ID of an opened joystick, if available. If the product ID isn't available this function returns 0. </p>

</div>
</div>
<a id="afe6bbdbc0c81170d237fae42bec05665"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afe6bbdbc0c81170d237fae42bec05665">&#9670;&nbsp;</a></span>SDL_JoystickGetProductVersion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint16 SDLCALL SDL_JoystickGetProductVersion </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the product version of an opened joystick, if available. If the product version isn't available this function returns 0. </p>

</div>
</div>
<a id="ad21afdbdd915c013cacefb7e79bfe3bf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad21afdbdd915c013cacefb7e79bfe3bf">&#9670;&nbsp;</a></span>SDL_JoystickGetType()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetType </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the type of an opened joystick. </p>

</div>
</div>
<a id="a13d9a1e3c5cbe2591cd5214aad48fed8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a13d9a1e3c5cbe2591cd5214aad48fed8">&#9670;&nbsp;</a></span>SDL_JoystickGetVendor()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint16 SDLCALL SDL_JoystickGetVendor </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the USB vendor ID of an opened joystick, if available. If the vendor ID isn't available this function returns 0. </p>

</div>
</div>
<a id="ab38dfc6428e15c2476478418075d4c83"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab38dfc6428e15c2476478418075d4c83">&#9670;&nbsp;</a></span>SDL_JoystickInstanceID()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a> SDLCALL SDL_JoystickInstanceID </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the instance ID of an opened joystick or -1 if the joystick is invalid. </p>

</div>
</div>
<a id="ad3ab02961bc45606e8f5f937c934160c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad3ab02961bc45606e8f5f937c934160c">&#9670;&nbsp;</a></span>SDL_JoystickName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC const char* SDLCALL SDL_JoystickName </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the name for this currently opened joystick. If no name can be found, this function returns NULL. </p>

</div>
</div>
<a id="ad36c04c086f834fe09a97e4cf86a5a59"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad36c04c086f834fe09a97e4cf86a5a59">&#9670;&nbsp;</a></span>SDL_JoystickNameForIndex()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC const char* SDLCALL SDL_JoystickNameForIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the implementation dependent name of a joystick. This can be called before any joysticks are opened. If no name can be found, this function returns NULL. </p>

</div>
</div>
<a id="a865c2e087fe69a3a30c87243729ecdea"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a865c2e087fe69a3a30c87243729ecdea">&#9670;&nbsp;</a></span>SDL_JoystickNumAxes()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickNumAxes </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the number of general axis controls on a joystick. </p>

</div>
</div>
<a id="a755d087bb16270087bfced7501656a6d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a755d087bb16270087bfced7501656a6d">&#9670;&nbsp;</a></span>SDL_JoystickNumBalls()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickNumBalls </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the number of trackballs on a joystick.</p>
<p>Joystick trackballs have only relative motion events associated with them and their state cannot be polled. </p>

</div>
</div>
<a id="adfc662e571011ae7ec303101ab34e53a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#adfc662e571011ae7ec303101ab34e53a">&#9670;&nbsp;</a></span>SDL_JoystickNumButtons()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickNumButtons </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the number of buttons on a joystick. </p>

</div>
</div>
<a id="aa62ea91c7c4ca2d12804a9fb3760e448"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa62ea91c7c4ca2d12804a9fb3760e448">&#9670;&nbsp;</a></span>SDL_JoystickNumHats()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickNumHats </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the number of POV hats on a joystick. </p>

</div>
</div>
<a id="a5b6f6554bca2659e149b5bc0fa538899"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5b6f6554bca2659e149b5bc0fa538899">&#9670;&nbsp;</a></span>SDL_JoystickOpen()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_Joystick* SDLCALL SDL_JoystickOpen </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>device_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open a joystick for use. The index passed as an argument refers to the N'th joystick on the system. This index is not the value which will identify this joystick in future joystick events. The joystick's instance id (<a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a>) will be used there instead.</p>
<dl class="section return"><dt>Returns</dt><dd>A joystick identifier, or NULL if an error occurred. </dd></dl>

</div>
</div>
<a id="a307c87a4de5aec2d1ca22856d94930fa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a307c87a4de5aec2d1ca22856d94930fa">&#9670;&nbsp;</a></span>SDL_JoystickRumble()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_JoystickRumble </td>
          <td>(</td>
          <td class="paramtype">SDL_Joystick *&#160;</td>
          <td class="paramname"><em>joystick</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Uint16&#160;</td>
          <td class="paramname"><em>low_frequency_rumble</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Uint16&#160;</td>
          <td class="paramname"><em>high_frequency_rumble</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">Uint32&#160;</td>
          <td class="paramname"><em>duration_ms</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Trigger a rumble effect Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">joystick</td><td>The joystick to vibrate </td></tr>
    <tr><td class="paramname">low_frequency_rumble</td><td>The intensity of the low frequency (left) rumble motor, from 0 to 0xFFFF </td></tr>
    <tr><td class="paramname">high_frequency_rumble</td><td>The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF </td></tr>
    <tr><td class="paramname">duration_ms</td><td>The duration of the rumble effect, in milliseconds</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>0, or -1 if rumble isn't supported on this joystick </dd></dl>

</div>
</div>
<a id="a3ea23a9504ea56f2778147dbf39a029f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3ea23a9504ea56f2778147dbf39a029f">&#9670;&nbsp;</a></span>SDL_JoystickUpdate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC void SDLCALL SDL_JoystickUpdate </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Update the current state of the open joysticks.</p>
<p>This is called automatically by the event loop if any joystick events are enabled. </p>

</div>
</div>
<a id="a4a2e0bedda1b7d0ac957607e944bfba0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4a2e0bedda1b7d0ac957607e944bfba0">&#9670;&nbsp;</a></span>SDL_LockJoysticks()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC void SDLCALL SDL_LockJoysticks </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Locking for multi-threaded access to the joystick API</p>
<p>If you are using the joystick API or handling events from multiple threads you should use these locking functions to protect access to the joysticks.</p>
<p>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. </p>

</div>
</div>
<a id="a2ab130eaa28f8e3bd544a5432041a311"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2ab130eaa28f8e3bd544a5432041a311">&#9670;&nbsp;</a></span>SDL_NumJoysticks()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_NumJoysticks </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Count the number of joysticks attached to the system right now </p>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>