The future is now. Read Hardware inputs from devices plugged into a computer, cross-platform!
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
jinput2.10/docs/net/java/games/input/ControllerEnvironment.html

517 lines
20 KiB

<!DOCTYPE HTML>
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (11.0.13) on Wed Jun 08 18:20:40 UTC 2022 -->
<title>ControllerEnvironment (jinput API)</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-06-08">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery/jquery-ui.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip/dist/jszip.min.js"></script>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils.min.js"></script>
<!--[if IE]>
<script type="text/javascript" src="../../../../jquery/jszip-utils/dist/jszip-utils-ie.min.js"></script>
<![endif]-->
<script type="text/javascript" src="../../../../jquery/jquery-3.5.1.js"></script>
<script type="text/javascript" src="../../../../jquery/jquery-ui.js"></script>
</head>
<body>
<script type="text/javascript"><!--
try {
if (location.href.indexOf('is-external=true') == -1) {
parent.document.title="ControllerEnvironment (jinput API)";
}
}
catch(err) {
}
//-->
var data = {"i0":10,"i1":10,"i2":10,"i3":6,"i4":9,"i5":6,"i6":10,"i7":6};
var tabs = {65535:["t0","All Methods"],1:["t1","Static Methods"],2:["t2","Instance Methods"],4:["t3","Abstract Methods"],8:["t4","Concrete Methods"]};
var altColor = "altColor";
var rowColor = "rowColor";
var tableTab = "tableTab";
var activeTableTab = "activeTableTab";
var pathtoroot = "../../../../";
var useModuleDirectories = true;
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<header role="banner">
<nav role="navigation">
<div class="fixedNav">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a id="navbar.top">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.top.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ControllerEnvironment.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_top">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<ul class="navListSearch">
<li><label for="search">SEARCH:</label>
<input type="text" id="search" value="search" disabled="disabled">
<input type="reset" id="reset" value="reset" disabled="disabled">
</li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_top");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.top">
<!-- -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
</div>
<div class="navPadding">&nbsp;</div>
<script type="text/javascript"><!--
$('.navPadding').css('padding-top', $('.fixedNav').css("height"));
//-->
</script>
</nav>
</header>
<!-- ======== START OF CLASS DATA ======== -->
<main role="main">
<div class="header">
<div class="subTitle"><span class="packageLabelInType">Package</span>&nbsp;<a href="package-summary.html">net.java.games.input</a></div>
<h2 title="Class ControllerEnvironment" class="title">Class ControllerEnvironment</h2>
</div>
<div class="contentContainer">
<ul class="inheritance">
<li>java.lang.Object</li>
<li>
<ul class="inheritance">
<li>net.java.games.input.ControllerEnvironment</li>
</ul>
</li>
</ul>
<div class="description">
<ul class="blockList">
<li class="blockList">
<dl>
<dt>Direct Known Subclasses:</dt>
<dd><code><a href="AWTEnvironmentPlugin.html" title="class in net.java.games.input">AWTEnvironmentPlugin</a></code>, <code><a href="DirectAndRawInputEnvironmentPlugin.html" title="class in net.java.games.input">DirectAndRawInputEnvironmentPlugin</a></code>, <code><a href="DirectInputEnvironmentPlugin.html" title="class in net.java.games.input">DirectInputEnvironmentPlugin</a></code>, <code><a href="LinuxEnvironmentPlugin.html" title="class in net.java.games.input">LinuxEnvironmentPlugin</a></code>, <code><a href="OSXEnvironmentPlugin.html" title="class in net.java.games.input">OSXEnvironmentPlugin</a></code>, <code><a href="RawInputEnvironmentPlugin.html" title="class in net.java.games.input">RawInputEnvironmentPlugin</a></code>, <code><a href="WinTabEnvironmentPlugin.html" title="class in net.java.games.input">WinTabEnvironmentPlugin</a></code></dd>
</dl>
<hr>
<pre>public abstract class <span class="typeNameLabel">ControllerEnvironment</span>
extends java.lang.Object</pre>
<div class="block">A ControllerEnvironment represents a collection of controllers that are
physically or logically linked. By default, this corresponds to the
environment for the local machine.
<p>
In this reference implementation, this class can also be used to register
controllers with the default environment as "plug-ins". A plug-in is
created by subclassing ControllerEnvironment with a class that has a public
no-argument constructor, implements the net.java.games.util.plugins.Plugin
interface and has a name ending in "Plugin".
(See net.java.games.input.DirectInputEnvironmentPlugin in the DXplugin
part of the source tree for an example.)
When the DefaultControllerEnvrionment is instanced it uses the plugin library
to look for Plugins in both [java.home]/lib/controller and
[user.dir]/controller. This allows controller plugins to be installed either
globally for the entire Java environment or locally for just one particular
Java app.
For more information on the organization of plugins within the controller
root directories, see net.java.games.util.plugins.Plugins (Note the
plural -- "Plugins" not "Plugin" which is just a marker interface.)</div>
</li>
</ul>
</div>
<div class="summary">
<ul class="blockList">
<li class="blockList">
<!-- =========== FIELD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.summary">
<!-- -->
</a>
<h3>Field Summary</h3>
<table class="memberSummary">
<caption><span>Fields</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Field</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected java.util.ArrayList</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#controllerListeners">controllerListeners</a></span></code></th>
<td class="colLast">
<div class="block">List of controller listeners</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.summary">
<!-- -->
</a>
<h3>Constructor Summary</h3>
<table class="memberSummary">
<caption><span>Constructors</span><span class="tabEnd">&nbsp;</span></caption>
<tr>
<th class="colFirst" scope="col">Modifier</th>
<th class="colSecond" scope="col">Constructor</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>protected </code></td>
<th class="colConstructorName" scope="row"><code><span class="memberNameLink"><a href="#%3Cinit%3E()">ControllerEnvironment</a></span>()</code></th>
<td class="colLast">
<div class="block">Protected constructor for subclassing.</div>
</td>
</tr>
</table>
</li>
</ul>
</section>
<!-- ========== METHOD SUMMARY =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.summary">
<!-- -->
</a>
<h3>Method Summary</h3>
<table class="memberSummary">
<caption><span id="t0" class="activeTableTab"><span>All Methods</span><span class="tabEnd">&nbsp;</span></span><span id="t1" class="tableTab"><span><a href="javascript:show(1);">Static Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t2" class="tableTab"><span><a href="javascript:show(2);">Instance Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t3" class="tableTab"><span><a href="javascript:show(4);">Abstract Methods</a></span><span class="tabEnd">&nbsp;</span></span><span id="t4" class="tableTab"><span><a href="javascript:show(8);">Concrete Methods</a></span><span class="tabEnd">&nbsp;</span></span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colSecond" scope="col">Method</th>
<th class="colLast" scope="col">Description</th>
</tr>
<tr id="i0" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#addControllerListener(net.java.games.input.ControllerListener)">addControllerListener</a></span>&#8203;(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Adds a listener for controller state change events.</div>
</td>
</tr>
<tr id="i1" class="rowColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fireControllerAdded(net.java.games.input.Controller)">fireControllerAdded</a></span>&#8203;(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</code></th>
<td class="colLast">
<div class="block">Creates and sends an event to the controller listeners that a controller
has been added.</div>
</td>
</tr>
<tr id="i2" class="altColor">
<td class="colFirst"><code>protected void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#fireControllerRemoved(net.java.games.input.Controller)">fireControllerRemoved</a></span>&#8203;(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</code></th>
<td class="colLast">
<div class="block">Creates and sends an event to the controller listeners that a controller
has been lost.</div>
</td>
</tr>
<tr id="i3" class="rowColor">
<td class="colFirst"><code>abstract <a href="Controller.html" title="interface in net.java.games.input">Controller</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getControllers()">getControllers</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns a list of all controllers available to this environment,
or an empty array if there are no controllers in this environment.</div>
</td>
</tr>
<tr id="i4" class="altColor">
<td class="colFirst"><code>static <a href="ControllerEnvironment.html" title="class in net.java.games.input">ControllerEnvironment</a></code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#getDefaultEnvironment()">getDefaultEnvironment</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the default environment for input controllers.</div>
</td>
</tr>
<tr id="i5" class="rowColor">
<td class="colFirst"><code>abstract boolean</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#isSupported()">isSupported</a></span>()</code></th>
<td class="colLast">
<div class="block">Returns the isSupported status of this environment.</div>
</td>
</tr>
<tr id="i6" class="altColor">
<td class="colFirst"><code>void</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#removeControllerListener(net.java.games.input.ControllerListener)">removeControllerListener</a></span>&#8203;(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</code></th>
<td class="colLast">
<div class="block">Removes a listener for controller state change events.</div>
</td>
</tr>
<tr id="i7" class="rowColor">
<td class="colFirst"><code>abstract <a href="Controller.html" title="interface in net.java.games.input">Controller</a>[]</code></td>
<th class="colSecond" scope="row"><code><span class="memberNameLink"><a href="#rescanControllers()">rescanControllers</a></span>()</code></th>
<td class="colLast">
<div class="block">Rescans the devices and provides a list of new controllers.</div>
</td>
</tr>
</table>
<ul class="blockList">
<li class="blockList"><a id="methods.inherited.from.class.java.lang.Object">
<!-- -->
</a>
<h3>Methods inherited from class&nbsp;java.lang.Object</h3>
<code>clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait</code></li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
<div class="details">
<ul class="blockList">
<li class="blockList">
<!-- ============ FIELD DETAIL =========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="field.detail">
<!-- -->
</a>
<h3>Field Detail</h3>
<a id="controllerListeners">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>controllerListeners</h4>
<pre>protected final&nbsp;java.util.ArrayList controllerListeners</pre>
<div class="block">List of controller listeners</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="constructor.detail">
<!-- -->
</a>
<h3>Constructor Detail</h3>
<a id="&lt;init&gt;()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>ControllerEnvironment</h4>
<pre>protected&nbsp;ControllerEnvironment()</pre>
<div class="block">Protected constructor for subclassing.</div>
</li>
</ul>
</li>
</ul>
</section>
<!-- ============ METHOD DETAIL ========== -->
<section role="region">
<ul class="blockList">
<li class="blockList"><a id="method.detail">
<!-- -->
</a>
<h3>Method Detail</h3>
<a id="getControllers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>getControllers</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="Controller.html" title="interface in net.java.games.input">Controller</a>[]&nbsp;getControllers()</pre>
<div class="block">Returns a list of all controllers available to this environment,
or an empty array if there are no controllers in this environment.</div>
</li>
</ul>
<a id="rescanControllers()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>rescanControllers</h4>
<pre class="methodSignature">public abstract&nbsp;<a href="Controller.html" title="interface in net.java.games.input">Controller</a>[]&nbsp;rescanControllers()</pre>
<div class="block">Rescans the devices and provides a list of new controllers.</div>
<dl>
<dt><span class="returnLabel">Returns:</span></dt>
<dd>a list of all controllers available to this environment.</dd>
</dl>
</li>
</ul>
<a id="addControllerListener(net.java.games.input.ControllerListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>addControllerListener</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;addControllerListener&#8203;(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</pre>
<div class="block">Adds a listener for controller state change events.</div>
</li>
</ul>
<a id="isSupported()">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>isSupported</h4>
<pre class="methodSignature">public abstract&nbsp;boolean&nbsp;isSupported()</pre>
<div class="block">Returns the isSupported status of this environment.
What makes an environment supported or not is up to the
particular plugin, but may include OS or available hardware.</div>
</li>
</ul>
<a id="removeControllerListener(net.java.games.input.ControllerListener)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>removeControllerListener</h4>
<pre class="methodSignature">public&nbsp;void&nbsp;removeControllerListener&#8203;(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</pre>
<div class="block">Removes a listener for controller state change events.</div>
</li>
</ul>
<a id="fireControllerAdded(net.java.games.input.Controller)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fireControllerAdded</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;fireControllerAdded&#8203;(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</pre>
<div class="block">Creates and sends an event to the controller listeners that a controller
has been added.</div>
</li>
</ul>
<a id="fireControllerRemoved(net.java.games.input.Controller)">
<!-- -->
</a>
<ul class="blockList">
<li class="blockList">
<h4>fireControllerRemoved</h4>
<pre class="methodSignature">protected&nbsp;void&nbsp;fireControllerRemoved&#8203;(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</pre>
<div class="block">Creates and sends an event to the controller listeners that a controller
has been lost.</div>
</li>
</ul>
<a id="getDefaultEnvironment()">
<!-- -->
</a>
<ul class="blockListLast">
<li class="blockList">
<h4>getDefaultEnvironment</h4>
<pre class="methodSignature">public static&nbsp;<a href="ControllerEnvironment.html" title="class in net.java.games.input">ControllerEnvironment</a>&nbsp;getDefaultEnvironment()</pre>
<div class="block">Returns the default environment for input controllers.
This usually corresponds to the environment for the local machine.</div>
</li>
</ul>
</li>
</ul>
</section>
</li>
</ul>
</div>
</div>
</main>
<!-- ========= END OF CLASS DATA ========= -->
<footer role="contentinfo">
<nav role="navigation">
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a id="navbar.bottom">
<!-- -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a id="navbar.bottom.firstrow">
<!-- -->
</a>
<ul class="navList" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="navBarCell1Rev">Class</li>
<li><a href="class-use/ControllerEnvironment.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../deprecated-list.html">Deprecated</a></li>
<li><a href="../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="../../../../allclasses.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
allClassesLink = document.getElementById("allclasses_navbar_bottom");
if(window==top) {
allClassesLink.style.display = "block";
}
else {
allClassesLink.style.display = "none";
}
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
</div>
<div>
<ul class="subNavList">
<li>Summary:&nbsp;</li>
<li>Nested&nbsp;|&nbsp;</li>
<li><a href="#field.summary">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.summary">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.summary">Method</a></li>
</ul>
<ul class="subNavList">
<li>Detail:&nbsp;</li>
<li><a href="#field.detail">Field</a>&nbsp;|&nbsp;</li>
<li><a href="#constructor.detail">Constr</a>&nbsp;|&nbsp;</li>
<li><a href="#method.detail">Method</a></li>
</ul>
</div>
<a id="skip.navbar.bottom">
<!-- -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
</nav>
</footer>
</body>
</html>