1 package com.neuronrobotics.sdk.addons.gamepad;
41 import java.util.ArrayList;
42 import java.util.Iterator;
43 import java.util.logging.Logger;
45 import org.apache.commons.lang3.SystemUtils;
47 import net.java.games.input.Controller;
48 import net.java.games.input.ControllerEvent;
49 import net.java.games.input.ControllerListener;
50 import us.ihmc.jinput.JInputLibraryLoader;
51 import us.ihmc.tools.nativelibraries.NativeLibraryLoader;
79 JInputLibraryLoader.loadLibraries();
86 String absolutePathToDirectory =
"";
87 if (SystemUtils.IS_OS_WINDOWS) {
88 absolutePathToDirectory = NativeLibraryLoader.extractLibraries(
"",
"jinput-raw",
"jinput-raw_64",
89 "jinput-dx8_64",
"jinput-dx8",
"jinput-wintab");
90 }
else if (SystemUtils.IS_OS_LINUX) {
91 absolutePathToDirectory = NativeLibraryLoader.extractLibraries(
"",
"jinput-linux64",
"jinput-linux");
92 }
else if (SystemUtils.IS_OS_MAC) {
93 absolutePathToDirectory =
new File(NativeLibraryLoader.extractLibraryAbsolute(
"",
"libjinput-osx.jnilib"))
96 File test =
new File(absolutePathToDirectory);
97 if (!test.isDirectory())
98 absolutePathToDirectory = test.getParentFile().getAbsolutePath();
101 System.setProperty(
"net.java.games.input.librarypath", absolutePathToDirectory);
104 static void logln(String msg) {
108 static void log(String msg) {
116 new DefaultControllerEnvironment();
163 ControllerEvent ev =
new ControllerEvent(c);
165 while (it.hasNext()) {
166 ((ControllerListener)it.next()).controllerAdded(ev);
175 ControllerEvent ev =
new ControllerEvent(c);
177 while (it.hasNext()) {
178 ((ControllerListener)it.next()).controllerRemoved(ev);
void addControllerListener(ControllerListener l)
void fireControllerRemoved(Controller c)
static ControllerEnvironment defaultEnvironment
static ControllerEnvironment getDefaultEnvironment()
void removeControllerListener(ControllerListener l)
final ArrayList controllerListeners
void fireControllerAdded(Controller c)
abstract boolean isSupported()
abstract Controller[] getControllers()