Sophie

Sophie

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

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_gamecontroller.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_gamecontroller.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="SDL__rwops_8h_source.html">SDL_rwops.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="SDL__joystick_8h_source.html">SDL_joystick.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__gamecontroller_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__GameControllerButtonBind.html">SDL_GameControllerButtonBind</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:a86b050862858714f651a4cf08fea2d3a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a86b050862858714f651a4cf08fea2d3a">SDL_GameControllerAddMappingsFromFile</a>(file)&#160;&#160;&#160;<a class="el" href="SDL__gamecontroller_8h.html#a01da8611222d5648872fbb4440c886af">SDL_GameControllerAddMappingsFromRW</a>(SDL_RWFromFile(file, &quot;rb&quot;), 1)</td></tr>
<tr class="separator:a86b050862858714f651a4cf08fea2d3a"><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:aa434ddee85ce43a59567b39c20acf873"><td class="memItemLeft" align="right" valign="top"><a id="aa434ddee85ce43a59567b39c20acf873"></a>
typedef struct _SDL_GameController&#160;</td><td class="memItemRight" valign="bottom"><b>SDL_GameController</b></td></tr>
<tr class="separator:aa434ddee85ce43a59567b39c20acf873"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5d9786518715fe1e5510dab47ef7df40"><td class="memItemLeft" align="right" valign="top">typedef struct <a class="el" href="structSDL__GameControllerButtonBind.html">SDL_GameControllerButtonBind</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a5d9786518715fe1e5510dab47ef7df40">SDL_GameControllerButtonBind</a></td></tr>
<tr class="separator:a5d9786518715fe1e5510dab47ef7df40"><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:aff63e7281b46e5275134938c52f5d6fa"><td class="memItemLeft" align="right" valign="top"><a id="aff63e7281b46e5275134938c52f5d6fa"></a>enum &#160;</td><td class="memItemRight" valign="bottom"><b>SDL_GameControllerBindType</b> { <b>SDL_CONTROLLER_BINDTYPE_NONE</b> = 0, 
<b>SDL_CONTROLLER_BINDTYPE_BUTTON</b>, 
<b>SDL_CONTROLLER_BINDTYPE_AXIS</b>, 
<b>SDL_CONTROLLER_BINDTYPE_HAT</b>
 }</td></tr>
<tr class="separator:aff63e7281b46e5275134938c52f5d6fa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a96d0bda99d806397e4c697241ccffa1c"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a> { <br />
&#160;&#160;<b>SDL_CONTROLLER_AXIS_INVALID</b> = -1, 
<b>SDL_CONTROLLER_AXIS_LEFTX</b>, 
<b>SDL_CONTROLLER_AXIS_LEFTY</b>, 
<b>SDL_CONTROLLER_AXIS_RIGHTX</b>, 
<br />
&#160;&#160;<b>SDL_CONTROLLER_AXIS_RIGHTY</b>, 
<b>SDL_CONTROLLER_AXIS_TRIGGERLEFT</b>, 
<b>SDL_CONTROLLER_AXIS_TRIGGERRIGHT</b>, 
<b>SDL_CONTROLLER_AXIS_MAX</b>
<br />
 }</td></tr>
<tr class="separator:a96d0bda99d806397e4c697241ccffa1c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9e4d3f8c9c9860064a68a700e0486f98"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a> { <br />
&#160;&#160;<b>SDL_CONTROLLER_BUTTON_INVALID</b> = -1, 
<b>SDL_CONTROLLER_BUTTON_A</b>, 
<b>SDL_CONTROLLER_BUTTON_B</b>, 
<b>SDL_CONTROLLER_BUTTON_X</b>, 
<br />
&#160;&#160;<b>SDL_CONTROLLER_BUTTON_Y</b>, 
<b>SDL_CONTROLLER_BUTTON_BACK</b>, 
<b>SDL_CONTROLLER_BUTTON_GUIDE</b>, 
<b>SDL_CONTROLLER_BUTTON_START</b>, 
<br />
&#160;&#160;<b>SDL_CONTROLLER_BUTTON_LEFTSTICK</b>, 
<b>SDL_CONTROLLER_BUTTON_RIGHTSTICK</b>, 
<b>SDL_CONTROLLER_BUTTON_LEFTSHOULDER</b>, 
<b>SDL_CONTROLLER_BUTTON_RIGHTSHOULDER</b>, 
<br />
&#160;&#160;<b>SDL_CONTROLLER_BUTTON_DPAD_UP</b>, 
<b>SDL_CONTROLLER_BUTTON_DPAD_DOWN</b>, 
<b>SDL_CONTROLLER_BUTTON_DPAD_LEFT</b>, 
<b>SDL_CONTROLLER_BUTTON_DPAD_RIGHT</b>, 
<br />
&#160;&#160;<b>SDL_CONTROLLER_BUTTON_MAX</b>
<br />
 }</td></tr>
<tr class="separator:a9e4d3f8c9c9860064a68a700e0486f98"><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:a01da8611222d5648872fbb4440c886af"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a01da8611222d5648872fbb4440c886af">SDL_GameControllerAddMappingsFromRW</a> (<a class="el" href="structSDL__RWops.html">SDL_RWops</a> *rw, int freerw)</td></tr>
<tr class="separator:a01da8611222d5648872fbb4440c886af"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a62cb682b1c589135cd32cce381d403f8"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a62cb682b1c589135cd32cce381d403f8">SDL_GameControllerAddMapping</a> (const char *mappingString)</td></tr>
<tr class="separator:a62cb682b1c589135cd32cce381d403f8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac14eb47ec6097d89c7bec14f6b27ebfe"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#ac14eb47ec6097d89c7bec14f6b27ebfe">SDL_GameControllerNumMappings</a> (void)</td></tr>
<tr class="separator:ac14eb47ec6097d89c7bec14f6b27ebfe"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac5ddf8927b92d95968f568ec6399bc18"><td class="memItemLeft" align="right" valign="top">DECLSPEC char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#ac5ddf8927b92d95968f568ec6399bc18">SDL_GameControllerMappingForIndex</a> (int mapping_index)</td></tr>
<tr class="separator:ac5ddf8927b92d95968f568ec6399bc18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2bd404799b40e27d75d3699c866904cf"><td class="memItemLeft" align="right" valign="top">DECLSPEC char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a2bd404799b40e27d75d3699c866904cf">SDL_GameControllerMappingForGUID</a> (<a class="el" href="structSDL__JoystickGUID.html">SDL_JoystickGUID</a> guid)</td></tr>
<tr class="separator:a2bd404799b40e27d75d3699c866904cf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d56a421a407e4587dfd0be98255fdf7"><td class="memItemLeft" align="right" valign="top">DECLSPEC char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a6d56a421a407e4587dfd0be98255fdf7">SDL_GameControllerMapping</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:a6d56a421a407e4587dfd0be98255fdf7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3307c27938a336b83c317b6054d91bd4"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_bool SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a3307c27938a336b83c317b6054d91bd4">SDL_IsGameController</a> (int joystick_index)</td></tr>
<tr class="separator:a3307c27938a336b83c317b6054d91bd4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa27333eaf19fbcf39df244aa19c5d043"><td class="memItemLeft" align="right" valign="top">DECLSPEC const char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#aa27333eaf19fbcf39df244aa19c5d043">SDL_GameControllerNameForIndex</a> (int joystick_index)</td></tr>
<tr class="separator:aa27333eaf19fbcf39df244aa19c5d043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a425074be07233d9e116bf6f3ebcb1f11"><td class="memItemLeft" align="right" valign="top">DECLSPEC char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a425074be07233d9e116bf6f3ebcb1f11">SDL_GameControllerMappingForDeviceIndex</a> (int joystick_index)</td></tr>
<tr class="separator:a425074be07233d9e116bf6f3ebcb1f11"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac7725e08ac17961bd7d5f8d4eb0c4033"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_GameController *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#ac7725e08ac17961bd7d5f8d4eb0c4033">SDL_GameControllerOpen</a> (int joystick_index)</td></tr>
<tr class="separator:ac7725e08ac17961bd7d5f8d4eb0c4033"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a34e43c763202a2d7124f24fdaf508a2a"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_GameController *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a34e43c763202a2d7124f24fdaf508a2a">SDL_GameControllerFromInstanceID</a> (<a class="el" href="SDL__joystick_8h.html#a3c3d32500cb08f76ee8077983912c0bd">SDL_JoystickID</a> joyid)</td></tr>
<tr class="separator:a34e43c763202a2d7124f24fdaf508a2a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add465dba60b0e2ff4e0b53f15471be1e"><td class="memItemLeft" align="right" valign="top">DECLSPEC const char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#add465dba60b0e2ff4e0b53f15471be1e">SDL_GameControllerName</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:add465dba60b0e2ff4e0b53f15471be1e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a99740db152ae93bcdc59a8b540c3178d"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a99740db152ae93bcdc59a8b540c3178d">SDL_GameControllerGetPlayerIndex</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:a99740db152ae93bcdc59a8b540c3178d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab0032725dcea365502694731c37605f7"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#ab0032725dcea365502694731c37605f7">SDL_GameControllerGetVendor</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:ab0032725dcea365502694731c37605f7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8ea81761681d1666a3b447eb9ef2dee8"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a8ea81761681d1666a3b447eb9ef2dee8">SDL_GameControllerGetProduct</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:a8ea81761681d1666a3b447eb9ef2dee8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e3eda7c9faf9bf0f4e06d89f3859c72"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a2e3eda7c9faf9bf0f4e06d89f3859c72">SDL_GameControllerGetProductVersion</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:a2e3eda7c9faf9bf0f4e06d89f3859c72"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adeeeba5a268842412f6578f38e75d231"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_bool SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#adeeeba5a268842412f6578f38e75d231">SDL_GameControllerGetAttached</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:adeeeba5a268842412f6578f38e75d231"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af2aac9107334b73d94b93f9c5ef51eb4"><td class="memItemLeft" align="right" valign="top">DECLSPEC SDL_Joystick *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#af2aac9107334b73d94b93f9c5ef51eb4">SDL_GameControllerGetJoystick</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:af2aac9107334b73d94b93f9c5ef51eb4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a457fd59b3dec7d1b6ed384973b584bc6"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a457fd59b3dec7d1b6ed384973b584bc6">SDL_GameControllerEventState</a> (int state)</td></tr>
<tr class="separator:a457fd59b3dec7d1b6ed384973b584bc6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a92fe68241a17b60b2240c04d01b73e6b"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a92fe68241a17b60b2240c04d01b73e6b">SDL_GameControllerUpdate</a> (void)</td></tr>
<tr class="separator:a92fe68241a17b60b2240c04d01b73e6b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a44a5320a7241b218417d9bfb995907d7"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a44a5320a7241b218417d9bfb995907d7">SDL_GameControllerGetAxisFromString</a> (const char *pchString)</td></tr>
<tr class="separator:a44a5320a7241b218417d9bfb995907d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a66cbcb3062d6e99e896611a2bde88456"><td class="memItemLeft" align="right" valign="top">DECLSPEC const char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a66cbcb3062d6e99e896611a2bde88456">SDL_GameControllerGetStringForAxis</a> (<a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a> axis)</td></tr>
<tr class="separator:a66cbcb3062d6e99e896611a2bde88456"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acdb9303cc6b67f1a0ec3ee55ad8e29d5"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__GameControllerButtonBind.html">SDL_GameControllerButtonBind</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#acdb9303cc6b67f1a0ec3ee55ad8e29d5">SDL_GameControllerGetBindForAxis</a> (SDL_GameController *gamecontroller, <a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a> axis)</td></tr>
<tr class="separator:acdb9303cc6b67f1a0ec3ee55ad8e29d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a067291389e9a8a1fbc8cb2b0dabb8dd2"><td class="memItemLeft" align="right" valign="top">DECLSPEC Sint16 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a067291389e9a8a1fbc8cb2b0dabb8dd2">SDL_GameControllerGetAxis</a> (SDL_GameController *gamecontroller, <a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a> axis)</td></tr>
<tr class="separator:a067291389e9a8a1fbc8cb2b0dabb8dd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae40707a1ec3121ce7a891c8a5417c918"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#ae40707a1ec3121ce7a891c8a5417c918">SDL_GameControllerGetButtonFromString</a> (const char *pchString)</td></tr>
<tr class="separator:ae40707a1ec3121ce7a891c8a5417c918"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5afc30d12ed8c51e24e2ce32eca032de"><td class="memItemLeft" align="right" valign="top">DECLSPEC const char *SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a5afc30d12ed8c51e24e2ce32eca032de">SDL_GameControllerGetStringForButton</a> (<a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a> button)</td></tr>
<tr class="separator:a5afc30d12ed8c51e24e2ce32eca032de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4ee15324cc28aa53bab9f28e71c96840"><td class="memItemLeft" align="right" valign="top">DECLSPEC <a class="el" href="structSDL__GameControllerButtonBind.html">SDL_GameControllerButtonBind</a> SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a4ee15324cc28aa53bab9f28e71c96840">SDL_GameControllerGetBindForButton</a> (SDL_GameController *gamecontroller, <a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a> button)</td></tr>
<tr class="separator:a4ee15324cc28aa53bab9f28e71c96840"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afa9f025f4262bdfba38c364ec9cc31bf"><td class="memItemLeft" align="right" valign="top">DECLSPEC Uint8 SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#afa9f025f4262bdfba38c364ec9cc31bf">SDL_GameControllerGetButton</a> (SDL_GameController *gamecontroller, <a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a> button)</td></tr>
<tr class="separator:afa9f025f4262bdfba38c364ec9cc31bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af656d1c71fe07da1146c376439d9b403"><td class="memItemLeft" align="right" valign="top">DECLSPEC int SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#af656d1c71fe07da1146c376439d9b403">SDL_GameControllerRumble</a> (SDL_GameController *gamecontroller, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms)</td></tr>
<tr class="separator:af656d1c71fe07da1146c376439d9b403"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a97fcf011947b35403c7d5319673a35e9"><td class="memItemLeft" align="right" valign="top">DECLSPEC void SDLCALL&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="SDL__gamecontroller_8h.html#a97fcf011947b35403c7d5319673a35e9">SDL_GameControllerClose</a> (SDL_GameController *gamecontroller)</td></tr>
<tr class="separator:a97fcf011947b35403c7d5319673a35e9"><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 game controller event handling</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#ac224a9aa4208de0e9b03948ff9b5fe0a">SDL_INIT_GAMECONTROLLER</a> flag. This causes SDL to scan the system for game controllers, and load appropriate drivers.</p>
<p>If you would like to receive controller 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">Macro Definition Documentation</h2>
<a id="a86b050862858714f651a4cf08fea2d3a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a86b050862858714f651a4cf08fea2d3a">&#9670;&nbsp;</a></span>SDL_GameControllerAddMappingsFromFile</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define SDL_GameControllerAddMappingsFromFile</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">file</td><td>)</td>
          <td>&#160;&#160;&#160;<a class="el" href="SDL__gamecontroller_8h.html#a01da8611222d5648872fbb4440c886af">SDL_GameControllerAddMappingsFromRW</a>(SDL_RWFromFile(file, &quot;rb&quot;), 1)</td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Load a set of mappings from a file, filtered by the current <a class="el" href="SDL__platform_8h.html#a55905e7a299221262fc655e785ab2dc7" title="Gets the name of the platform.">SDL_GetPlatform()</a></p>
<p>Convenience macro. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="a5d9786518715fe1e5510dab47ef7df40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a5d9786518715fe1e5510dab47ef7df40">&#9670;&nbsp;</a></span>SDL_GameControllerButtonBind</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef struct <a class="el" href="structSDL__GameControllerButtonBind.html">SDL_GameControllerButtonBind</a>  <a class="el" href="structSDL__GameControllerButtonBind.html">SDL_GameControllerButtonBind</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the SDL joystick layer binding for this controller button/axis mapping </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="a96d0bda99d806397e4c697241ccffa1c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a96d0bda99d806397e4c697241ccffa1c">&#9670;&nbsp;</a></span>SDL_GameControllerAxis</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The list of axes available from a controller</p>
<p>Thumbstick axis values range from SDL_JOYSTICK_AXIS_MIN to SDL_JOYSTICK_AXIS_MAX, and are centered within ~8000 of zero, though advanced UI will allow users to set or autodetect the dead zone, which varies between controllers.</p>
<p>Trigger axis values range from 0 to SDL_JOYSTICK_AXIS_MAX. </p>

</div>
</div>
<a id="a9e4d3f8c9c9860064a68a700e0486f98"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9e4d3f8c9c9860064a68a700e0486f98">&#9670;&nbsp;</a></span>SDL_GameControllerButton</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>The list of buttons available from a controller </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_GameControllerAddMapping </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>mappingString</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Add or update an existing mapping configuration</p>
<dl class="section return"><dt>Returns</dt><dd>1 if mapping is added, 0 if updated, -1 on error </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_GameControllerAddMappingsFromRW </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structSDL__RWops.html">SDL_RWops</a> *&#160;</td>
          <td class="paramname"><em>rw</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>freerw</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>To count the number of game controllers in the system for the following: int nJoysticks = <a class="el" href="SDL__joystick_8h.html#a2ab130eaa28f8e3bd544a5432041a311">SDL_NumJoysticks()</a>; int nGameControllers = 0; for (int i = 0; i &lt; nJoysticks; i++) { if (SDL_IsGameController(i)) { nGameControllers++; } }</p>
<p>Using the SDL_HINT_GAMECONTROLLERCONFIG hint or the <a class="el" href="SDL__gamecontroller_8h.html#a62cb682b1c589135cd32cce381d403f8">SDL_GameControllerAddMapping()</a> you can add support for controllers SDL is unaware of or cause an existing controller to have a different binding. The format is: guid,name,mappings</p>
<p>Where GUID is the string value from <a class="el" href="SDL__joystick_8h.html#a7f615ef8040e7e9de3af6482d8d9908c">SDL_JoystickGetGUIDString()</a>, name is the human readable string for the device and mappings are controller mappings to joystick ones. Under Windows there is a reserved GUID of "xinput" that covers any XInput devices. The mapping format for joystick is: bX - a joystick button, index X hX.Y - hat X with value Y aX - axis X of the joystick Buttons can be used as a controller axis and vice versa.</p>
<p>This string shows an example of a valid mapping for a controller "03000000341a00003608000000000000,PS3 Controller,a:b1,b:b2,y:b3,x:b0,start:b9,guide:b12,back:b8,dpup:h0.1,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,leftshoulder:b4,rightshoulder:b5,leftstick:b10,rightstick:b11,leftx:a0,lefty:a1,rightx:a2,righty:a3,lefttrigger:b6,righttrigger:b7", Load a set of mappings from a seekable SDL data stream (memory or file), filtered by the current <a class="el" href="SDL__platform_8h.html#a55905e7a299221262fc655e785ab2dc7" title="Gets the name of the platform.">SDL_GetPlatform()</a> A community sourced database of controllers is available at <a href="https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt">https://raw.github.com/gabomdq/SDL_GameControllerDB/master/gamecontrollerdb.txt</a></p>
<p>If <code>freerw</code> is non-zero, the stream will be closed after being read.</p>
<dl class="section return"><dt>Returns</dt><dd>number of mappings added, -1 on error </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC void SDLCALL SDL_GameControllerClose </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Close a controller previously opened with <a class="el" href="SDL__gamecontroller_8h.html#ac7725e08ac17961bd7d5f8d4eb0c4033">SDL_GameControllerOpen()</a>. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_GameControllerEventState </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 controller event polling.</p>
<p>If controller events are disabled, you must call <a class="el" href="SDL__gamecontroller_8h.html#a92fe68241a17b60b2240c04d01b73e6b">SDL_GameControllerUpdate()</a> yourself and check the state of the controller when you want controller information.</p>
<p>The state can be one of ::SDL_QUERY, ::SDL_ENABLE or ::SDL_IGNORE. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_GameController* SDLCALL SDL_GameControllerFromInstanceID </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_GameController associated with an instance id. </p>

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

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

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Sint16 SDLCALL SDL_GameControllerGetAxis </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a>&#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 game controller.</p>
<p>The state is a value ranging from -32768 to 32767 (except for the triggers, which range from 0 to 32767).</p>
<p>The axis indices start at index 0. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a> SDLCALL SDL_GameControllerGetAxisFromString </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pchString</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>turn this string into a axis mapping </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__GameControllerButtonBind.html">SDL_GameControllerButtonBind</a> SDLCALL SDL_GameControllerGetBindForAxis </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a>&#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 SDL joystick layer binding for this controller button mapping </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="structSDL__GameControllerButtonBind.html">SDL_GameControllerButtonBind</a> SDLCALL SDL_GameControllerGetBindForButton </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a>&#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 SDL joystick layer binding for this controller button mapping </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC Uint8 SDLCALL SDL_GameControllerGetButton </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a>&#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 game controller.</p>
<p>The button indices start at index 0. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC <a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a> SDLCALL SDL_GameControllerGetButtonFromString </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>pchString</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>turn this string into a button mapping </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_Joystick* SDLCALL SDL_GameControllerGetJoystick </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the underlying joystick object used by a controller </p>

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

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

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

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

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

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

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForAxis </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="SDL__gamecontroller_8h.html#a96d0bda99d806397e4c697241ccffa1c">SDL_GameControllerAxis</a>&#160;</td>
          <td class="paramname"><em>axis</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>turn this axis enum into a string mapping </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC const char* SDLCALL SDL_GameControllerGetStringForButton </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="SDL__gamecontroller_8h.html#a9e4d3f8c9c9860064a68a700e0486f98">SDL_GameControllerButton</a>&#160;</td>
          <td class="paramname"><em>button</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>turn this button enum into a string mapping </p>

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

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

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC char* SDLCALL SDL_GameControllerMapping </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get a mapping string for an open GameController</p>
<dl class="section return"><dt>Returns</dt><dd>the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC char* SDLCALL SDL_GameControllerMappingForDeviceIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>joystick_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the mapping of a game controller. This can be called before any controllers are opened.</p>
<dl class="section return"><dt>Returns</dt><dd>the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC char* SDLCALL SDL_GameControllerMappingForGUID </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><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get a mapping string for a GUID</p>
<dl class="section return"><dt>Returns</dt><dd>the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC char* SDLCALL SDL_GameControllerMappingForIndex </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>mapping_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the mapping at a particular index.</p>
<dl class="section return"><dt>Returns</dt><dd>the mapping string. Must be freed with SDL_free(). Returns NULL if the index is out of range. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC const char* SDLCALL SDL_GameControllerName </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Return the name for this currently opened controller </p>

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

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

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_GameControllerNumMappings </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Get the number of mappings installed</p>
<dl class="section return"><dt>Returns</dt><dd>the number of mappings </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_GameController* SDLCALL SDL_GameControllerOpen </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>joystick_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Open a game controller for use. The index passed as an argument refers to the N'th game controller on the system. This index is not the value which will identify this controller in future controller 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 controller identifier, or NULL if an error occurred. </dd></dl>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC int SDLCALL SDL_GameControllerRumble </td>
          <td>(</td>
          <td class="paramtype">SDL_GameController *&#160;</td>
          <td class="paramname"><em>gamecontroller</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">gamecontroller</td><td>The controller 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="a92fe68241a17b60b2240c04d01b73e6b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a92fe68241a17b60b2240c04d01b73e6b">&#9670;&nbsp;</a></span>SDL_GameControllerUpdate()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC void SDLCALL SDL_GameControllerUpdate </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 game controllers.</p>
<p>This is called automatically by the event loop if any game controller events are enabled. </p>

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

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">DECLSPEC SDL_bool SDLCALL SDL_IsGameController </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>joystick_index</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<p>Is the joystick on this index supported by the game controller interface? </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>