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

321 lines
22 KiB

<!DOCTYPE HTML>
<html lang="en">
<head>
<!-- Generated by javadoc (17) on Wed Jun 22 19:13:29 UTC 2022 -->
<title>ControllerEnvironment (jinput API)</title>
<meta name="viewport" content="width=device-width, initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="dc.created" content="2022-06-22">
<meta name="description" content="declaration: package: net.java.games.input, class: ControllerEnvironment">
<meta name="generator" content="javadoc/ClassWriterImpl">
<link rel="stylesheet" type="text/css" href="../../../../stylesheet.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../script-dir/jquery-ui.min.css" title="Style">
<link rel="stylesheet" type="text/css" href="../../../../jquery-ui.overrides.css" title="Style">
<script type="text/javascript" src="../../../../script.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="../../../../script-dir/jquery-ui.min.js"></script>
</head>
<body class="class-declaration-page">
<script type="text/javascript">var evenRowColor = "even-row-color";
var oddRowColor = "odd-row-color";
var tableTab = "table-tab";
var activeTableTab = "active-table-tab";
var pathtoroot = "../../../../";
loadScripts(document, 'script');</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<div class="flex-box">
<header role="banner" class="flex-header">
<nav role="navigation">
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="top-nav" id="navbar-top">
<div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div>
<ul id="navbar-top-firstrow" class="nav-list" title="Navigation">
<li><a href="../../../../index.html">Overview</a></li>
<li><a href="package-summary.html">Package</a></li>
<li class="nav-bar-cell1-rev">Class</li>
<li><a href="class-use/ControllerEnvironment.html">Use</a></li>
<li><a href="package-tree.html">Tree</a></li>
<li><a href="../../../../index-files/index-1.html">Index</a></li>
<li><a href="../../../../help-doc.html#class">Help</a></li>
</ul>
</div>
<div class="sub-nav">
<div>
<ul class="sub-nav-list">
<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="sub-nav-list">
<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>
<div class="nav-list-search"><label for="search-input">SEARCH:</label>
<input type="text" id="search-input" value="search" disabled="disabled">
<input type="reset" id="reset-button" value="reset" disabled="disabled">
</div>
</div>
<!-- ========= END OF TOP NAVBAR ========= -->
<span class="skip-nav" id="skip-navbar-top"></span></nav>
</header>
<div class="flex-content">
<main role="main">
<!-- ======== START OF CLASS DATA ======== -->
<div class="header">
<div class="sub-title"><span class="package-label-in-type">Package</span>&nbsp;<a href="package-summary.html">net.java.games.input</a></div>
<h1 title="Class ControllerEnvironment" class="title">Class ControllerEnvironment</h1>
</div>
<div class="inheritance" title="Inheritance Tree"><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a>
<div class="inheritance">net.java.games.input.ControllerEnvironment</div>
</div>
<section class="class-description" id="class-description">
<dl class="notes">
<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>
<div class="type-signature"><span class="modifiers">public abstract class </span><span class="element-name type-name-label">ControllerEnvironment</span>
<span class="extends-implements">extends <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div>
<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>
</section>
<section class="summary">
<ul class="summary-list">
<!-- =========== FIELD SUMMARY =========== -->
<li>
<section class="field-summary" id="field-summary">
<h2>Field Summary</h2>
<div class="caption"><span>Fields</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Field</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected final <a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a></code></div>
<div class="col-second even-row-color"><code><a href="#controllerListeners" class="member-name-link">controllerListeners</a></code></div>
<div class="col-last even-row-color">
<div class="block">List of controller listeners</div>
</div>
</div>
</section>
</li>
<!-- ======== CONSTRUCTOR SUMMARY ======== -->
<li>
<section class="constructor-summary" id="constructor-summary">
<h2>Constructor Summary</h2>
<div class="caption"><span>Constructors</span></div>
<div class="summary-table three-column-summary">
<div class="table-header col-first">Modifier</div>
<div class="table-header col-second">Constructor</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color"><code>protected </code></div>
<div class="col-constructor-name even-row-color"><code><a href="#%3Cinit%3E()" class="member-name-link">ControllerEnvironment</a>()</code></div>
<div class="col-last even-row-color">
<div class="block">Protected constructor for subclassing.</div>
</div>
</div>
</section>
</li>
<!-- ========== METHOD SUMMARY =========== -->
<li>
<section class="method-summary" id="method-summary">
<h2>Method Summary</h2>
<div id="method-summary-table">
<div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab1" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab1', 3)" class="table-tab">Static Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab3" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab3', 3)" class="table-tab">Abstract Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div>
<div id="method-summary-table.tabpanel" role="tabpanel">
<div class="summary-table three-column-summary" aria-labelledby="method-summary-table-tab0">
<div class="table-header col-first">Modifier and Type</div>
<div class="table-header col-second">Method</div>
<div class="table-header col-last">Description</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#addControllerListener(net.java.games.input.ControllerListener)" class="member-name-link">addControllerListener</a><wbr>(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Adds a listener for controller state change events.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fireControllerAdded(net.java.games.input.Controller)" class="member-name-link">fireControllerAdded</a><wbr>(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates and sends an event to the controller listeners that a controller
has been added.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>protected void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#fireControllerRemoved(net.java.games.input.Controller)" class="member-name-link">fireControllerRemoved</a><wbr>(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Creates and sends an event to the controller listeners that a controller
has been lost.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="AbstractController.html" title="class in net.java.games.input">AbstractController</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#getControllers()" class="member-name-link">getControllers</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<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>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code>static <a href="ControllerEnvironment.html" title="class in net.java.games.input">ControllerEnvironment</a></code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4"><code><a href="#getDefaultEnvironment()" class="member-name-link">getDefaultEnvironment</a>()</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab1 method-summary-table-tab4">
<div class="block">Returns the default environment for input controllers.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract boolean</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#isSupported()" class="member-name-link">isSupported</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Returns the isSupported status of this environment.</div>
</div>
<div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code>void</code></div>
<div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#removeControllerListener(net.java.games.input.ControllerListener)" class="member-name-link">removeControllerListener</a><wbr>(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</code></div>
<div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4">
<div class="block">Removes a listener for controller state change events.</div>
</div>
<div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code>abstract <a href="AbstractController.html" title="class in net.java.games.input">AbstractController</a>[]</code></div>
<div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3"><code><a href="#rescanControllers()" class="member-name-link">rescanControllers</a>()</code></div>
<div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab3">
<div class="block">Rescans the devices and provides a list of new controllers.</div>
</div>
</div>
</div>
</div>
<div class="inherited-list">
<h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class&nbsp;java.lang.<a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3>
<code><a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="http://docs.oracle.com/javase/8/docs/api/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div>
</section>
</li>
</ul>
</section>
<section class="details">
<ul class="details-list">
<!-- ============ FIELD DETAIL =========== -->
<li>
<section class="field-details" id="field-detail">
<h2>Field Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="controllerListeners">
<h3>controllerListeners</h3>
<div class="member-signature"><span class="modifiers">protected final</span>&nbsp;<span class="return-type"><a href="http://docs.oracle.com/javase/8/docs/api/java/util/ArrayList.html" title="class or interface in java.util" class="external-link">ArrayList</a></span>&nbsp;<span class="element-name">controllerListeners</span></div>
<div class="block">List of controller listeners</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ========= CONSTRUCTOR DETAIL ======== -->
<li>
<section class="constructor-details" id="constructor-detail">
<h2>Constructor Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="&lt;init&gt;()">
<h3>ControllerEnvironment</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="element-name">ControllerEnvironment</span>()</div>
<div class="block">Protected constructor for subclassing.</div>
</section>
</li>
</ul>
</section>
</li>
<!-- ============ METHOD DETAIL ========== -->
<li>
<section class="method-details" id="method-detail">
<h2>Method Details</h2>
<ul class="member-list">
<li>
<section class="detail" id="getControllers()">
<h3>getControllers</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type"><a href="AbstractController.html" title="class in net.java.games.input">AbstractController</a>[]</span>&nbsp;<span class="element-name">getControllers</span>()</div>
<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>
</section>
</li>
<li>
<section class="detail" id="rescanControllers()">
<h3>rescanControllers</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type"><a href="AbstractController.html" title="class in net.java.games.input">AbstractController</a>[]</span>&nbsp;<span class="element-name">rescanControllers</span>()</div>
<div class="block">Rescans the devices and provides a list of new controllers.</div>
<dl class="notes">
<dt>Returns:</dt>
<dd>a list of all controllers available to this environment.</dd>
</dl>
</section>
</li>
<li>
<section class="detail" id="addControllerListener(net.java.games.input.ControllerListener)">
<h3>addControllerListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">addControllerListener</span><wbr><span class="parameters">(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</span></div>
<div class="block">Adds a listener for controller state change events.</div>
</section>
</li>
<li>
<section class="detail" id="isSupported()">
<h3>isSupported</h3>
<div class="member-signature"><span class="modifiers">public abstract</span>&nbsp;<span class="return-type">boolean</span>&nbsp;<span class="element-name">isSupported</span>()</div>
<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>
</section>
</li>
<li>
<section class="detail" id="removeControllerListener(net.java.games.input.ControllerListener)">
<h3>removeControllerListener</h3>
<div class="member-signature"><span class="modifiers">public</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">removeControllerListener</span><wbr><span class="parameters">(<a href="ControllerListener.html" title="interface in net.java.games.input">ControllerListener</a>&nbsp;l)</span></div>
<div class="block">Removes a listener for controller state change events.</div>
</section>
</li>
<li>
<section class="detail" id="fireControllerAdded(net.java.games.input.Controller)">
<h3>fireControllerAdded</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">fireControllerAdded</span><wbr><span class="parameters">(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</span></div>
<div class="block">Creates and sends an event to the controller listeners that a controller
has been added.</div>
</section>
</li>
<li>
<section class="detail" id="fireControllerRemoved(net.java.games.input.Controller)">
<h3>fireControllerRemoved</h3>
<div class="member-signature"><span class="modifiers">protected</span>&nbsp;<span class="return-type">void</span>&nbsp;<span class="element-name">fireControllerRemoved</span><wbr><span class="parameters">(<a href="Controller.html" title="interface in net.java.games.input">Controller</a>&nbsp;c)</span></div>
<div class="block">Creates and sends an event to the controller listeners that a controller
has been lost.</div>
</section>
</li>
<li>
<section class="detail" id="getDefaultEnvironment()">
<h3>getDefaultEnvironment</h3>
<div class="member-signature"><span class="modifiers">public static</span>&nbsp;<span class="return-type"><a href="ControllerEnvironment.html" title="class in net.java.games.input">ControllerEnvironment</a></span>&nbsp;<span class="element-name">getDefaultEnvironment</span>()</div>
<div class="block">Returns the default environment for input controllers.
This usually corresponds to the environment for the local machine.</div>
</section>
</li>
</ul>
</section>
</li>
</ul>
</section>
<!-- ========= END OF CLASS DATA ========= -->
</main>
</div>
</div>
</body>
</html>