OpenBuilds-CONTROL/app/lib/gamepad/doc/classes/Gamepad.html

3716 wiersze
77 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Gamepad - HTML5-JavaScript-Gamepad-Controller-Library</title>
<link rel="stylesheet" href="http://yui.yahooapis.com/3.9.1/build/cssgrids/cssgrids-min.css">
<link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
<link rel="stylesheet" href="../assets/css/main.css" id="site_styles">
<link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
<script src="http://yui.yahooapis.com/combo?3.9.1/build/yui/yui-min.js"></script>
</head>
<body class="yui3-skin-sam">
<div id="doc">
<div id="hd" class="yui3-g header">
<div class="yui3-u-3-4">
<h1><img src="../assets/css/logo.png" title="HTML5-JavaScript-Gamepad-Controller-Library"></h1>
</div>
<div class="yui3-u-1-4 version">
<em>API Docs for: 0.0.1</em>
</div>
</div>
<div id="bd" class="yui3-g">
<div class="yui3-u-1-4">
<div id="docs-sidebar" class="sidebar apidocs">
<div id="api-list">
<h2 class="off-left">APIs</h2>
<div id="api-tabview" class="tabview">
<ul class="tabs">
<li><a href="#api-classes">Classes</a></li>
<li><a href="#api-modules">Modules</a></li>
</ul>
<div id="api-tabview-filter">
<input type="search" id="api-filter" placeholder="Type to filter APIs">
</div>
<div id="api-tabview-panel">
<ul id="api-classes" class="apis classes">
<li><a href="../classes/AnimFrameUpdateStrategy.html">AnimFrameUpdateStrategy</a></li>
<li><a href="../classes/FirefoxPlatform.html">FirefoxPlatform</a></li>
<li><a href="../classes/Gamepad.html">Gamepad</a></li>
<li><a href="../classes/ManualUpdateStrategy.html">ManualUpdateStrategy</a></li>
<li><a href="../classes/WebKitPlatform.html">WebKitPlatform</a></li>
</ul>
<ul id="api-modules" class="apis modules">
<li><a href="../modules/Gamepad.html">Gamepad</a></li>
</ul>
</div>
</div>
</div>
</div>
</div>
<div class="yui3-u-3-4">
<div id="api-options">
Show:
<label for="api-show-inherited">
<input type="checkbox" id="api-show-inherited" checked>
Inherited
</label>
<label for="api-show-protected">
<input type="checkbox" id="api-show-protected">
Protected
</label>
<label for="api-show-private">
<input type="checkbox" id="api-show-private">
Private
</label>
<label for="api-show-deprecated">
<input type="checkbox" id="api-show-deprecated">
Deprecated
</label>
</div>
<div class="apidocs">
<div id="docs-main">
<div class="content">
<h1>Gamepad Class</h1>
<div class="box meta">
<div class="foundat">
Defined in: <a href="../files/gamepad.js.html#l289"><code>gamepad.js:289</code></a>
</div>
Module: <a href="../modules/Gamepad.html">Gamepad</a>
</div>
<div class="box intro">
<p>Provides simple interface and multi-platform support for the gamepad API.</p>
<p>You can change the deadzone and maximizeThreshold parameters to suit your
taste but the defaults should generally work fine.</p>
</div>
<div class="constructor">
<h2>Constructor</h2>
<div id="method_Gamepad" class="method item">
<h3 class="name"><code>Gamepad</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code class="optional">[updateStrategy]</code>
</li>
</ul><span class="paren">)</span>
</div>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l289"><code>gamepad.js:289</code></a>
</p>
</div>
<div class="description">
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[updateStrategy]</code>
<span class="type">Object</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>an update strategy, defaulting to
<a href="../classes/AnimFrameUpdateStrategy.html" class="crosslink">AnimFrameUpdateStrategy</a></p>
</div>
</li>
</ul>
</div>
</div>
</div>
<div id="classdocs" class="tabview">
<ul class="api-class-tabs">
<li class="api-class-tab index"><a href="#index">Index</a></li>
<li class="api-class-tab methods"><a href="#methods">Methods</a></li>
<li class="api-class-tab properties"><a href="#properties">Properties</a></li>
<li class="api-class-tab events"><a href="#events">Events</a></li>
</ul>
<div>
<div id="index" class="api-class-tabpanel index">
<h2 class="off-left">Item Index</h2>
<div class="index-section methods">
<h3>Methods</h3>
<ul class="index-list methods">
<li class="index-item method private">
<a href="#method__addAxisUpdater">_addAxisUpdater</a>
</li>
<li class="index-item method private">
<a href="#method__addButtonUpdater">_addButtonUpdater</a>
</li>
<li class="index-item method private">
<a href="#method__applyDeadzoneMaximize">_applyDeadzoneMaximize</a>
</li>
<li class="index-item method private">
<a href="#method__connect">_connect</a>
</li>
<li class="index-item method private">
<a href="#method__createAxisGetter">_createAxisGetter</a>
</li>
<li class="index-item method private">
<a href="#method__createButtonGetter">_createButtonGetter</a>
</li>
<li class="index-item method private">
<a href="#method__disconnect">_disconnect</a>
</li>
<li class="index-item method private">
<a href="#method__fire">_fire</a>
</li>
<li class="index-item method private">
<a href="#method__fireAxisChangedEvent">_fireAxisChangedEvent</a>
</li>
<li class="index-item method private">
<a href="#method__resolveControllerType">_resolveControllerType</a>
</li>
<li class="index-item method private">
<a href="#method__resolveMapping">_resolveMapping</a>
</li>
<li class="index-item method private">
<a href="#method__update">_update</a>
</li>
<li class="index-item method">
<a href="#method_bind">bind</a>
</li>
<li class="index-item method">
<a href="#method_count">count</a>
</li>
<li class="index-item method">
<a href="#method_envMatchesFilter">envMatchesFilter</a>
<span class="flag static">static</span>
</li>
<li class="index-item method">
<a href="#method_getNullPlatform">getNullPlatform</a>
<span class="flag static">static</span>
</li>
<li class="index-item method">
<a href="#method_init">init</a>
</li>
<li class="index-item method">
<a href="#method_resolvePlatform">resolvePlatform</a>
<span class="flag static">static</span>
</li>
<li class="index-item method">
<a href="#method_unbind">unbind</a>
</li>
</ul>
</div>
<div class="index-section properties">
<h3>Properties</h3>
<ul class="index-list properties">
<li class="index-item property">
<a href="#property_Mappings">Mappings</a>
</li>
<li class="index-item property">
<a href="#property_PlatformFactories">PlatformFactories</a>
</li>
<li class="index-item property">
<a href="#property_StandardAxes">StandardAxes</a>
</li>
<li class="index-item property">
<a href="#property_StandardButtons">StandardButtons</a>
</li>
<li class="index-item property">
<a href="#property_StandardMapping">StandardMapping</a>
</li>
<li class="index-item property">
<a href="#property_Type">Type</a>
</li>
<li class="index-item property">
<a href="#property_UpdateStrategies">UpdateStrategies</a>
</li>
</ul>
</div>
<div class="index-section events">
<h3>Events</h3>
<ul class="index-list events">
<li class="index-item event">
<a href="#event_axis-changed">axis-changed</a>
</li>
<li class="index-item event">
<a href="#event_button-down">button-down</a>
</li>
<li class="index-item event">
<a href="#event_button-up">button-up</a>
</li>
<li class="index-item event">
<a href="#event_connected">connected</a>
</li>
<li class="index-item event">
<a href="#event_disconnected">disconnected</a>
</li>
<li class="index-item event">
<a href="#event_tick">tick</a>
</li>
<li class="index-item event deprecated">
<a href="#event_unsupported">unsupported</a>
<span class="flag deprecated">deprecated</span>
</li>
</ul>
</div>
</div>
<div id="methods" class="api-class-tabpanel">
<h2 class="off-left">Methods</h2>
<div id="method__addAxisUpdater" class="method item private">
<h3 class="name"><code>_addAxisUpdater</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
<li class="arg">
<code>mapping</code>
</li>
<li class="arg">
<code>index</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l823"><code>gamepad.js:823</code></a>
</p>
</div>
<div class="description">
<p>Adds an updater for an axis control</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>the gamepad for which to create the updater</p>
</div>
</li>
<li class="param">
<code class="param-name">mapping</code>
<span class="type">Object</span>
<div class="param-description">
<p>the mapping on which to work on</p>
</div>
</li>
<li class="param">
<code class="param-name">index</code>
<span class="type">Number</span>
<div class="param-description">
<p>axis index</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__addButtonUpdater" class="method item private">
<h3 class="name"><code>_addButtonUpdater</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
<li class="arg">
<code>mapping</code>
</li>
<li class="arg">
<code>index</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l777"><code>gamepad.js:777</code></a>
</p>
</div>
<div class="description">
<p>Adds an updater for a button control</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>the gamepad for which to create the updater</p>
</div>
</li>
<li class="param">
<code class="param-name">mapping</code>
<span class="type">Object</span>
<div class="param-description">
<p>the mapping on which to work on</p>
</div>
</li>
<li class="param">
<code class="param-name">index</code>
<span class="type">Number</span>
<div class="param-description">
<p>button index</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__applyDeadzoneMaximize" class="method item private">
<h3 class="name"><code>_applyDeadzoneMaximize</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>value</code>
</li>
<li class="arg">
<code class="optional">[deadzone]</code>
</li>
<li class="arg">
<code class="optional">[maximizeThreshold]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l1123"><code>gamepad.js:1123</code></a>
</p>
</div>
<div class="description">
<p>Applies deadzone and maximization.</p>
<p>You can change the thresholds via deadzone and maximizeThreshold members.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">value</code>
<span class="type">Number</span>
<div class="param-description">
<p>Value to modify</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[deadzone]</code>
<span class="type">Number</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Deadzone to apply</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[maximizeThreshold]</code>
<span class="type">Number</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>From which value to maximize value</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__connect" class="method item private">
<h3 class="name"><code>_connect</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l745"><code>gamepad.js:745</code></a>
</p>
</div>
<div class="description">
<p>Registers given gamepad.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>Gamepad to connect to</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__createAxisGetter" class="method item private">
<h3 class="name"><code>_createAxisGetter</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
<li class="arg">
<code>axes</code>
</li>
<li class="arg">
<code>index</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Function</span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l963"><code>gamepad.js:963</code></a>
</p>
</div>
<div class="description">
<p>Creates a getter according to the mapping entry for the specific index.
Currently supported entries:</p>
<p>axes.byAxis[index]: Number := Index into gamepad.axes; -1 ignored</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>the gamepad for which to create a getter</p>
</div>
</li>
<li class="param">
<code class="param-name">axes</code>
<span class="type">Object</span>
<div class="param-description">
<p>the mappings entry for the axes</p>
</div>
</li>
<li class="param">
<code class="param-name">index</code>
<span class="type">Number</span>
<div class="param-description">
<p>the specific axis entry</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Function</span>:
<p>a getter returning the value for the requested axis</p>
</div>
</div>
</div>
<div id="method__createButtonGetter" class="method item private">
<h3 class="name"><code>_createButtonGetter</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
<li class="arg">
<code>buttons</code>
</li>
<li class="arg">
<code>index</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Function</span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l875"><code>gamepad.js:875</code></a>
</p>
</div>
<div class="description">
<p>Creates a getter according to the mapping entry for the specific index.
Currently supported entries:</p>
<p>buttons.byButton[index]: Number := Index into gamepad.buttons; -1 tests byAxis
buttons.byAxis[index]: Array := [Index into gamepad.axes; Zero Value, One Value]</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>the gamepad for which to create a getter</p>
</div>
</li>
<li class="param">
<code class="param-name">buttons</code>
<span class="type">Object</span>
<div class="param-description">
<p>the mappings entry for the buttons</p>
</div>
</li>
<li class="param">
<code class="param-name">index</code>
<span class="type">Number</span>
<div class="param-description">
<p>the specific button entry</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Function</span>:
<p>a getter returning the value for the requested button</p>
</div>
</div>
</div>
<div id="method__disconnect" class="method item private">
<h3 class="name"><code>_disconnect</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l1001"><code>gamepad.js:1001</code></a>
</p>
</div>
<div class="description">
<p>Disconnects from given gamepad.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>Gamepad to disconnect</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__fire" class="method item private">
<h3 class="name"><code>_fire</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>event</code>
</li>
<li class="arg">
<code>data</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l699"><code>gamepad.js:699</code></a>
</p>
</div>
<div class="description">
<p>Fires an internal event with given data.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">event</code>
<span class="type">String</span>
<div class="param-description">
<p>Event to fire, one of Gamepad.Event..</p>
</div>
</li>
<li class="param">
<code class="param-name">data</code>
<span class="type"></span>
<div class="param-description">
<p>Data to pass to the listener</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__fireAxisChangedEvent" class="method item private">
<h3 class="name"><code>_fireAxisChangedEvent</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
<li class="arg">
<code>controlName</code>
</li>
<li class="arg">
<code>value</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l857"><code>gamepad.js:857</code></a>
</p>
</div>
<div class="description">
<p>Fires an AXIS_CHANGED event</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>the gamepad to notify for</p>
</div>
</li>
<li class="param">
<code class="param-name">controlName</code>
<span class="type">String</span>
<div class="param-description">
<p>name of the control that changes its value</p>
</div>
</li>
<li class="param">
<code class="param-name">value</code>
<span class="type">Number</span>
<div class="param-description">
<p>the new value</p>
</div>
</li>
</ul>
</div>
</div>
<div id="method__resolveControllerType" class="method item private">
<h3 class="name"><code>_resolveControllerType</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>id</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">String</span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l1027"><code>gamepad.js:1027</code></a>
</p>
</div>
<div class="description">
<p>Resolves controller type from its id.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">id</code>
<span class="type">String</span>
<div class="param-description">
<p>Controller id</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">String</span>:
<p>Controller type, one of Gamepad.Type</p>
</div>
</div>
</div>
<div id="method__resolveMapping" class="method item private">
<h3 class="name"><code>_resolveMapping</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>gamepad</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Object</span>
</span>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l1055"><code>gamepad.js:1055</code></a>
</p>
</div>
<div class="description">
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>the gamepad for which to resolve the mapping</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Object</span>:
<p>a mapping object for the given gamepad</p>
</div>
</div>
</div>
<div id="method__update" class="method item private">
<h3 class="name"><code>_update</code></h3>
<span class="paren">()</span>
<span class="flag private">private</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l1101"><code>gamepad.js:1101</code></a>
</p>
</div>
<div class="description">
<p>Updates the controllers, triggering TICK events.</p>
</div>
</div>
<div id="method_bind" class="method item">
<h3 class="name"><code>bind</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>event</code>
</li>
<li class="arg">
<code>listener</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type"><a href="../classes/Gamepad.html" class="crosslink">Gamepad</a></span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l632"><code>gamepad.js:632</code></a>
</p>
</div>
<div class="description">
<p>Binds a listener to a gamepad event.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">event</code>
<span class="type">String</span>
<div class="param-description">
<p>Event to bind to, one of Gamepad.Event..</p>
</div>
</li>
<li class="param">
<code class="param-name">listener</code>
<span class="type">Function</span>
<div class="param-description">
<p>Listener to call when given event occurs</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type"><a href="../classes/Gamepad.html" class="crosslink">Gamepad</a></span>:
<p>Self</p>
</div>
</div>
</div>
<div id="method_count" class="method item">
<h3 class="name"><code>count</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type">Number</span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l689"><code>gamepad.js:689</code></a>
</p>
</div>
<div class="description">
<p>Returns the number of connected gamepads.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Number</span>:
</div>
</div>
</div>
<div id="method_envMatchesFilter" class="method item">
<h3 class="name"><code>envMatchesFilter</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>filter</code>
</li>
<li class="arg">
<code>env</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Boolean</span>
</span>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l1081"><code>gamepad.js:1081</code></a>
</p>
</div>
<div class="description">
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">filter</code>
<span class="type">Object</span>
<div class="param-description">
<p>the filter object describing properties to match</p>
</div>
</li>
<li class="param">
<code class="param-name">env</code>
<span class="type">Object</span>
<div class="param-description">
<p>the environment object that is matched against filter</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Boolean</span>:
<p>true if env is covered by filter</p>
</div>
</div>
</div>
<div id="method_getNullPlatform" class="method item">
<h3 class="name"><code>getNullPlatform</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type">Object</span>
</span>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l717"><code>gamepad.js:717</code></a>
</p>
</div>
<div class="description">
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Object</span>:
<p>a platform that does not support anything</p>
</div>
</div>
</div>
<div id="method_init" class="method item">
<h3 class="name"><code>init</code></h3>
<span class="paren">()</span>
<span class="returns-inline">
<span class="type">Boolean</span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l612"><code>gamepad.js:612</code></a>
</p>
</div>
<div class="description">
<p>Initializes the gamepad.</p>
<p>You usually want to bind to the events first and then initialize it.</p>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Boolean</span>:
<p>true if a supporting platform was detected, false otherwise.</p>
</div>
</div>
</div>
<div id="method_resolvePlatform" class="method item">
<h3 class="name"><code>resolvePlatform</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code>listener</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Object</span>
</span>
<span class="flag static">static</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l726"><code>gamepad.js:726</code></a>
</p>
</div>
<div class="description">
<p>Resolves platform.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">listener</code>
<span class="type">Object</span>
<div class="param-description">
<p>the listener to handle _connect() or _disconnect() calls</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Object</span>:
<p>A platform instance</p>
</div>
</div>
</div>
<div id="method_unbind" class="method item">
<h3 class="name"><code>unbind</code></h3>
<div class="args">
<span class="paren">(</span><ul class="args-list inline commas">
<li class="arg">
<code class="optional">[type]</code>
</li>
<li class="arg">
<code class="optional">[listener]</code>
</li>
</ul><span class="paren">)</span>
</div>
<span class="returns-inline">
<span class="type">Boolean</span>
</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l650"><code>gamepad.js:650</code></a>
</p>
</div>
<div class="description">
<p>Removes listener of given type.</p>
<p>If no type is given, all listeners are removed. If no listener is given, all
listeners of given type are removed.</p>
</div>
<div class="params">
<h4>Parameters:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name optional">[type]</code>
<span class="type">String</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>Type of listener to remove</p>
</div>
</li>
<li class="param">
<code class="param-name optional">[listener]</code>
<span class="type">Function</span>
<span class="flag optional" title="This parameter is optional.">optional</span>
<div class="param-description">
<p>The listener function to remove</p>
</div>
</li>
</ul>
</div>
<div class="returns">
<h4>Returns:</h4>
<div class="returns-description">
<span class="type">Boolean</span>:
<p>Was unbinding the listener successful</p>
</div>
</div>
</div>
</div>
<div id="properties" class="api-class-tabpanel">
<h2 class="off-left">Properties</h2>
<div id="property_Mappings" class="property item">
<h3 class="name"><code>Mappings</code></h3>
<span class="type">Unknown</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l467"><code>gamepad.js:467</code></a>
</p>
</div>
<div class="description">
<p>Mapping of various gamepads that differ from the standard mapping on
different platforms too unify their buttons and axes.</p>
<p>Each mapping should have an &#39;env&#39; object, which describes the environment
in which the mapping is active. The more entries such an environment has,
the more specific it is.</p>
<p>Mappings are expressed for both buttons and axes. Buttons might refer to
axes if they are notified as such.</p>
</div>
</div>
<div id="property_PlatformFactories" class="property item">
<h3 class="name"><code>PlatformFactories</code></h3>
<span class="type">Array</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l322"><code>gamepad.js:322</code></a>
</p>
</div>
<div class="description">
<p>List of factories of supported platforms. Currently available platforms:
<a href="../classes/WebKitPlatform.html" class="crosslink">WebKitPlatform</a>,
<a href="../classes/FirefoxPlatform.html" class="crosslink">FirefoxPlatform</a>,</p>
</div>
</div>
<div id="property_StandardAxes" class="property item">
<h3 class="name"><code>StandardAxes</code></h3>
<span class="type">Unknown</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l439"><code>gamepad.js:439</code></a>
</p>
</div>
<div class="description">
<p>List of standard axis names. The index is the according standard axis
index as per standard.</p>
</div>
</div>
<div id="property_StandardButtons" class="property item">
<h3 class="name"><code>StandardButtons</code></h3>
<span class="type">Unknown</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l425"><code>gamepad.js:425</code></a>
</p>
</div>
<div class="description">
<p>List of standard button names. The index is the according standard button
index as per standard.</p>
</div>
</div>
<div id="property_StandardMapping" class="property item">
<h3 class="name"><code>StandardMapping</code></h3>
<span class="type">Unknown</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l451"><code>gamepad.js:451</code></a>
</p>
</div>
<div class="description">
<p>The standard mapping that represents the mapping as per definition.
Each button and axis map to the same index.</p>
</div>
</div>
<div id="property_Type" class="property item">
<h3 class="name"><code>Type</code></h3>
<span class="type">Unknown</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l331"><code>gamepad.js:331</code></a>
</p>
</div>
<div class="description">
<p>List of supported controller types.</p>
</div>
<h4>Sub-properties:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">N64</code>
<span class="type">String</span>
<div class="param-description">
<p>Retrolink N64 controller</p>
</div>
</li>
<li class="param">
<code class="param-name">PLAYSTATION</code>
<span class="type">String</span>
<div class="param-description">
<p>Playstation controller</p>
</div>
</li>
<li class="param">
<code class="param-name">LOGITECH</code>
<span class="type">String</span>
<div class="param-description">
<p>Logitech controller</p>
</div>
</li>
<li class="param">
<code class="param-name">XBOX</code>
<span class="type">String</span>
<div class="param-description">
<p>XBOX controller</p>
</div>
</li>
<li class="param">
<code class="param-name">UNKNOWN</code>
<span class="type">String</span>
<div class="param-description">
<p>Unknown controller</p>
</div>
</li>
</ul>
</div>
<div id="property_UpdateStrategies" class="property item">
<h3 class="name"><code>UpdateStrategies</code></h3>
<span class="type">Unknown</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l311"><code>gamepad.js:311</code></a>
</p>
</div>
<div class="description">
<p>The available update strategies</p>
</div>
<h4>Sub-properties:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">AnimFrameUpdateStrategy</code>
<span class="type"><a href="../classes/AnimFrameUpdateStrategy.html" class="crosslink">AnimFrameUpdateStrategy</a></span>
<div class="param-description">
</div>
</li>
<li class="param">
<code class="param-name">ManualUpdateStrategy</code>
<span class="type"><a href="../classes/ManualUpdateStrategy.html" class="crosslink">ManualUpdateStrategy</a></span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="events" class="api-class-tabpanel">
<h2 class="off-left">Events</h2>
<div id="event_axis-changed" class="events item">
<h3 class="name"><code>axis-changed</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l413"><code>gamepad.js:413</code></a>
</p>
</div>
<div class="description">
<p>Called when gamepad axis value changed.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">event</code>
<span class="type">Object</span>
<div class="param-description">
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>The gamepad object</p>
</div>
</li>
<li class="param">
<code class="param-name">axis</code>
<span class="type">String</span>
<div class="param-description">
<p>Axis name</p>
</div>
</li>
<li class="param">
<code class="param-name">value</code>
<span class="type">Number</span>
<div class="param-description">
<p>New axis value</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="event_button-down" class="events item">
<h3 class="name"><code>button-down</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l393"><code>gamepad.js:393</code></a>
</p>
</div>
<div class="description">
<p>Called when a gamepad button is pressed down.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">event</code>
<span class="type">Object</span>
<div class="param-description">
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>The gamepad object</p>
</div>
</li>
<li class="param">
<code class="param-name">control</code>
<span class="type">String</span>
<div class="param-description">
<p>Control name</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="event_button-up" class="events item">
<h3 class="name"><code>button-up</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l403"><code>gamepad.js:403</code></a>
</p>
</div>
<div class="description">
<p>Called when a gamepad button is released.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">event</code>
<span class="type">Object</span>
<div class="param-description">
</div>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepad</code>
<span class="type">Object</span>
<div class="param-description">
<p>The gamepad object</p>
</div>
</li>
<li class="param">
<code class="param-name">control</code>
<span class="type">String</span>
<div class="param-description">
<p>Control name</p>
</div>
</li>
</ul>
</li>
</ul>
</div>
</div>
<div id="event_connected" class="events item">
<h3 class="name"><code>connected</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l360"><code>gamepad.js:360</code></a>
</p>
</div>
<div class="description">
<p>Triggered when a new controller connects.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">device</code>
<span class="type">Object</span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="event_disconnected" class="events item">
<h3 class="name"><code>disconnected</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l377"><code>gamepad.js:377</code></a>
</p>
</div>
<div class="description">
<p>Triggered when a controller disconnects.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">device</code>
<span class="type">Object</span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="event_tick" class="events item">
<h3 class="name"><code>tick</code></h3>
<span class="type"></span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l385"><code>gamepad.js:385</code></a>
</p>
</div>
<div class="description">
<p>Called regularly with the latest controllers info.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">gamepads</code>
<span class="type">Array</span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
<div id="event_unsupported" class="events item deprecated">
<h3 class="name"><code>unsupported</code></h3>
<span class="type"></span>
<span class="flag deprecated" title="not used anymore. Any controller is supported.">deprecated</span>
<div class="meta">
<p>
Defined in
<a href="../files/gamepad.js.html#l368"><code>gamepad.js:368</code></a>
</p>
<p>Deprecated: not used anymore. Any controller is supported.</p>
</div>
<div class="description">
<p>Called when an unsupported controller connects.</p>
</div>
<div class="params">
<h4>Event Payload:</h4>
<ul class="params-list">
<li class="param">
<code class="param-name">device</code>
<span class="type">Object</span>
<div class="param-description">
</div>
</li>
</ul>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<script src="../assets/vendor/prettify/prettify-min.js"></script>
<script>prettyPrint();</script>
<script src="../assets/js/yui-prettify.js"></script>
<script src="../assets/../api.js"></script>
<script src="../assets/js/api-filter.js"></script>
<script src="../assets/js/api-list.js"></script>
<script src="../assets/js/api-search.js"></script>
<script src="../assets/js/apidocs.js"></script>
</body>
</html>