summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--plugins/linux/build.xml10
-rw-r--r--plugins/linux/src/java/net/java/games/input/LinuxDevice.java71
-rw-r--r--plugins/linux/src/java/net/java/games/input/LinuxDeviceRumbler.java8
-rw-r--r--plugins/linux/src/java/net/java/games/input/LinuxEnvironmentPlugin.java65
-rw-r--r--plugins/linux/src/java/net/java/games/input/LinuxKeyboard.java22
-rw-r--r--plugins/linux/src/native/EventDevice.cpp1
-rw-r--r--plugins/linux/src/native/MixedDevice.cpp10
-rw-r--r--plugins/linux/src/native/jinput.cpp185
-rw-r--r--plugins/linux/src/native/net_java_games_input_LinuxDevice.h88
-rw-r--r--plugins/linux/src/native/net_java_games_input_LinuxDeviceRumbler.h28
-rw-r--r--plugins/linux/src/native/net_java_games_input_LinuxEnvironmentPlugin.h64
-rw-r--r--plugins/linux/src/native/net_java_games_input_LinuxKeyboard.h42
12 files changed, 102 insertions, 492 deletions
diff --git a/plugins/linux/build.xml b/plugins/linux/build.xml
index 8db02c0..a120a51 100644
--- a/plugins/linux/build.xml
+++ b/plugins/linux/build.xml
@@ -59,14 +59,12 @@
</target>
<target depends="init,compile" name="createJNIHeaders">
- <javah>
+ <javah destdir="src/native">
<classpath>
- <pathelement path="src/java"/>
- <pathelement location="jinput.jar"/>
+ <pathelement location="../../coreAPI/bin/jinput.jar"/>
+ <pathelement location="bin/linux.jar"/>
</classpath>
- <class name="net.java.games.input.LinuxDevice"/>
- <class name="net.java.games.input.LinuxEnvironmentPlugin"/>
- <class name="net.java.games.input.LinuxKeyboard"/>
+ <class name="net.java.games.input.JInputLibrary"/>
</javah>
</target>
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxDevice.java b/plugins/linux/src/java/net/java/games/input/LinuxDevice.java
index 228886e..a475643 100644
--- a/plugins/linux/src/java/net/java/games/input/LinuxDevice.java
+++ b/plugins/linux/src/java/net/java/games/input/LinuxDevice.java
@@ -112,7 +112,7 @@ public class LinuxDevice extends AbstractController {
this.nativeID = nativeID;
- portType = LinuxNativeTypesMap.getPortType(getNativePortType(nativeID));
+ portType = LinuxNativeTypesMap.getPortType(JInputLibrary.getNativePortType(nativeID));
for(int i=0;i<8;i++) {
hatAxisIDs[i] = -1;
@@ -493,7 +493,7 @@ public class LinuxDevice extends AbstractController {
* @return false if the controller is no longer valid.
*/
public boolean poll() {
- int retval = nativePoll(nativeID, buttonData, relAxesData, absAxesData);
+ int retval = JInputLibrary.poll(nativeID, buttonData, relAxesData, absAxesData);
if(retval>=0) return true;
return false;
}
@@ -532,7 +532,7 @@ public class LinuxDevice extends AbstractController {
* @return The axis fuzz.
*/
public float getAbsAxisFuzz(int axisID) {
- return (float) getNativeAbsAxisFuzz(nativeID, axisID);
+ return (float) JInputLibrary.getAbsAxisFuzz(nativeID, axisID);
}
/**
@@ -541,7 +541,7 @@ public class LinuxDevice extends AbstractController {
* @return The maximum value
*/
public float getAbsAxisMaximum(int axisID) {
- return (float) getNativeAbsAxisMaximum(nativeID, axisID);
+ return (float) JInputLibrary.getAbsAxisMaximum(nativeID, axisID);
}
/**
@@ -550,7 +550,7 @@ public class LinuxDevice extends AbstractController {
* @return The minimum axis value
*/
public float getAbsAxisMinimum(int axisID) {
- return (float) getNativeAbsAxisMinimum(nativeID, axisID);
+ return (float) JInputLibrary.getAbsAxisMinimum(nativeID, axisID);
}
/** Return the enumeration of supported button types for this device
@@ -560,83 +560,30 @@ public class LinuxDevice extends AbstractController {
if(supportedButtons.length==0) {
return;
}
- getNativeSupportedButtons(nativeID, supportedButtons);
+ JInputLibrary.getSupportedButtons(nativeID, supportedButtons);
}
/** Return the enumeration of supported absolute axis types for this device
* @param suportedAbsAxes The array to populate
*/
private void getSupportedAbsAxes(int suportedAbsAxes[]) {
- getNativeSupportedAbsAxes(nativeID, suportedAbsAxes);
+ JInputLibrary.getSupportedAbsAxes(nativeID, suportedAbsAxes);
}
/** Return the enumeration of supported relative axis types for this device
* @param supportedRelAxes The array to populate
*/
private void getSupportedRelAxes(int supportedRelAxes[]) {
- getNativeSupportedRelAxes(nativeID, supportedRelAxes);
+ JInputLibrary.getSupportedRelAxes(nativeID, supportedRelAxes);
}
/** Returns the status of FF support for this device
*
*/
private boolean getFFEnabled() {
- return getNativeFFEnabled(nativeID);
+ return JInputLibrary.getFFEnabled(nativeID);
}
- /** Native call to get the supported absolute axes for a device
- * @param deviceID The native device number
- * @param supportedAbsAxes aray to populate
- */
- private native void getNativeSupportedAbsAxes(int deviceID, int supportedAbsAxes[]);
- /** Native call to get the supported relative axes for a device
- * @param deviceID The native device ID
- * @param supportedRelAxes the array to populate
- */
- private native void getNativeSupportedRelAxes(int deviceID, int supportedRelAxes[]);
- /** Native call to get the supported buttons for a device
- * @param deviceID The native device ID
- * @param supportedButtons The array to populate
- */
- private native void getNativeSupportedButtons(int deviceID, int supportedButtons[]);
- /** Call to poll the device at the native library
- * @param deviceID The native device ID
- * @param buttonData Array to populate with button values
- * @param relAxesData Array to populate with relative axes values
- * @param absAxesData Array to populate with absolute axes values
- * @return the number of events read
- */
- private native int nativePoll(int deviceID, int buttonData[], int relAxesData[], int absAxesData[]);
- /** Returns the fuzz of an axis fro mthe native lib
- * @param deviceID The native device id
- * @param axisID The native axis ID
- * @return The fuzz
- */
- private native int getNativeAbsAxisFuzz(int deviceID, int axisID);
- /** Gets the maximum value for an absloute axis fr omthe native library
- * @param deviceID The native device ID
- * @param axisID The native axis ID
- * @return The Max value
- */
- private native int getNativeAbsAxisMaximum(int deviceID, int axisID);
- /** Gets the minimum value for an absloute axis from the native library
- * @param deviceID The native device ID
- * @param axisID The native axis number
- * @return The min value
- */
- private native int getNativeAbsAxisMinimum(int deviceID, int axisID);
- /** Gets the port type from the native lib
- * @param deviceID The device to get the port type for
- * @return The port type
- */
- private native int getNativePortType(int deviceID);
-
- /** Gets the status of FF support for this device
- * @param deviceID The device to get the port type for
- * @return The port type
- */
- private native boolean getNativeFFEnabled(int deviceID);
-
/**
* A device that represents a joystick coolie hat.
* @author Jeremy Booth ([email protected])
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxDeviceRumbler.java b/plugins/linux/src/java/net/java/games/input/LinuxDeviceRumbler.java
index 48d0502..4f28f1c 100644
--- a/plugins/linux/src/java/net/java/games/input/LinuxDeviceRumbler.java
+++ b/plugins/linux/src/java/net/java/games/input/LinuxDeviceRumbler.java
@@ -18,7 +18,7 @@ public class LinuxDeviceRumbler implements Rumbler {
public void rumble(float intensity) {
// TODO Auto-generated method stub
- nativeRumble(deviceID, intensity);
+ JInputLibrary.rumble(deviceID, intensity);
}
public String getAxisName() {
@@ -32,11 +32,7 @@ public class LinuxDeviceRumbler implements Rumbler {
}
private void cleanup() {
- nativeCleanup(deviceID);
+ rumble(0f);
}
- private native void nativeRumble(int deviceID, float intensity);
-
- private native void nativeCleanup(int deviceID);
-
}
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxEnvironmentPlugin.java b/plugins/linux/src/java/net/java/games/input/LinuxEnvironmentPlugin.java
index fc19780..4dcb27f 100644
--- a/plugins/linux/src/java/net/java/games/input/LinuxEnvironmentPlugin.java
+++ b/plugins/linux/src/java/net/java/games/input/LinuxEnvironmentPlugin.java
@@ -32,37 +32,21 @@ import net.java.games.util.plugins.Plugin;
*/
public class LinuxEnvironmentPlugin extends ControllerEnvironment implements Plugin {
- static {
- if(isSupported()) {
- System.loadLibrary("jinput-linux");
- }
- }
-
/** List of controllers
*/
private Controller[] controllers;
/** Creates a new instance of LinuxEnvironmentPlugin */
public LinuxEnvironmentPlugin() {
- if(isSupported()) {
- LinuxNativeTypesMap.init();
- init();
+ if(JInputLibrary.isSupported()) {
+ LinuxNativeTypesMap.init();
+ JInputLibrary.init();
createControllers();
} else {
controllers = new Controller[0];
}
}
- public static boolean isSupported() {
- System.out.println("OS name is: " + System.getProperty("os.name"));
- if(System.getProperty("os.name").indexOf("Linux")!=-1) {
- System.out.println("Linux plugin is supported");
- return true;
- }
- System.out.println("Linux plugin is not supported");
- return false;
- }
-
/** Returns a list of all controllers available to this environment,
* or an empty array if there are no controllers in this environment.
* @return Returns a list of all controllers available to this environment,
@@ -75,7 +59,7 @@ public class LinuxEnvironmentPlugin extends ControllerEnvironment implements Plu
/** Create the controllers
*/
private void createControllers() {
- int numDevices = getNumberOfDevices();
+ int numDevices = JInputLibrary.getNumberOfDevices();
Controller[] tempControllers = new Controller[numDevices];
@@ -102,13 +86,15 @@ public class LinuxEnvironmentPlugin extends ControllerEnvironment implements Plu
* @param deviceNumber The device ID
* @return The new device
*/
- private Controller createDevice(int deviceNumber) {
- String name = getDeviceName(deviceNumber);
- int numAbsAxes = getNumAbsAxes(deviceNumber);
- int numRelAxes = getNumRelAxes(deviceNumber);
- int numButtons = getNumButtons(deviceNumber);
+ private Controller createDevice(int deviceNumber) {
+ String name = JInputLibrary.getDeviceName(deviceNumber);
+ int numAbsAxes = JInputLibrary.getNumAbsAxes(deviceNumber);
+ int numRelAxes = JInputLibrary.getNumRelAxes(deviceNumber);
+ int numButtons = JInputLibrary.getNumButtons(deviceNumber);
Controller device = null;
+ System.out.println("Java working on device " + name);
+
int mouseCharacteristic = 0;
int keyboardCharacteristic = 0;
int joystickCharacteristic = 0;
@@ -153,33 +139,4 @@ public class LinuxEnvironmentPlugin extends ControllerEnvironment implements Plu
return device;
}
- /** Get the name of a device from the native library
- * @param deviceID The device id
- * @return The devices name
- */
- private native String getDeviceName(int deviceID);
- /** Get the number of absolute axes for the requested device
- * @param deviceID The device ID
- * @return The number of abs axes
- */
- private native int getNumAbsAxes(int deviceID);
- /** Get the nmber or relative axes from the native library
- * @param deviceID The native device ID
- * @return The number of raltive axes for the device
- */
- private native int getNumRelAxes(int deviceID);
- /** Gets the number of buttons for the requested devce from the native library
- * @param deviceID The device ID
- * @return The number of buttons
- */
- private native int getNumButtons(int deviceID);
- /** Initialises the native library
- * @return <0 if something went wrong
- */
- private native int init();
- /** Gets the number of devices the native library found
- * @return Th number of devices
- */
- private native int getNumberOfDevices();
-
}
diff --git a/plugins/linux/src/java/net/java/games/input/LinuxKeyboard.java b/plugins/linux/src/java/net/java/games/input/LinuxKeyboard.java
index f6533bd..7c16343 100644
--- a/plugins/linux/src/java/net/java/games/input/LinuxKeyboard.java
+++ b/plugins/linux/src/java/net/java/games/input/LinuxKeyboard.java
@@ -115,7 +115,7 @@ public class LinuxKeyboard extends StandardKeyboard {
* @return False if this device is invalid.
*/
public boolean poll() {
- int retval = nativePoll(nativeID, keyData, dummyRelAxesData, dummyAbsAxesData);
+ int retval = JInputLibrary.poll(nativeID, keyData, dummyRelAxesData, dummyAbsAxesData);
if(retval>=0) return true;
return false;
}
@@ -169,25 +169,7 @@ public class LinuxKeyboard extends StandardKeyboard {
* @param supportedButtons The array if key types to populate
*/
private void getSupportedButtons(int supportedButtons[]) {
- getNativeSupportedButtons(nativeID, supportedButtons);
+ JInputLibrary.getSupportedButtons(nativeID, supportedButtons);
}
- /** Gets the supported key types for a particular native device
- * @param deviceID The device ID
- * @param supportedButtons The array to populate with teh supported key ids
- */
- private native void getNativeSupportedButtons(int deviceID, int supportedButtons[]);
- /** Calls the native library to poll the device
- * @param deviceID The device ID
- * @param buttonData Aray to populate with button values
- * @param relAxesData Array to populate with relative axis values
- * @param absAxesData Array to populate with absolute axes values
- * @return <0 if soething went wrong
- */
- private native int nativePoll(int deviceID, int buttonData[], int relAxesData[], int absAxesData[]);
- /** Gets the port type from the native library for a particular keyboard
- * @param deviceID The keybaord id
- * @return native port ype
- */
- private native int getNativePortType(int deviceID);
}
diff --git a/plugins/linux/src/native/EventDevice.cpp b/plugins/linux/src/native/EventDevice.cpp
index a0b0888..d5cefbf 100644
--- a/plugins/linux/src/native/EventDevice.cpp
+++ b/plugins/linux/src/native/EventDevice.cpp
@@ -83,6 +83,7 @@ EventDevice::EventDevice(char *deviceFileName) {
if (ioctl(fd, EVIOCSFF, &effect) == -1) {
perror("Upload effect");
}
+ LOG_TRACE("Uploaded effect %d\n", effect.id);
} else {
diff --git a/plugins/linux/src/native/MixedDevice.cpp b/plugins/linux/src/native/MixedDevice.cpp
index bb113ea..aff795e 100644
--- a/plugins/linux/src/native/MixedDevice.cpp
+++ b/plugins/linux/src/native/MixedDevice.cpp
@@ -123,6 +123,12 @@ void MixedDevice::rumble(float force) {
}
void MixedDevice::cleanup() {
- joystickDevice->cleanup();
- eventDevice->cleanup();
+ if(joystickDevice!=0 && eventDevice!=0) {
+ joystickDevice->cleanup();
+ eventDevice->cleanup();
+ free(joystickDevice);
+ free(eventDevice);
+ joystickDevice=0;
+ eventDevice=0;
+ }
}
diff --git a/plugins/linux/src/native/jinput.cpp b/plugins/linux/src/native/jinput.cpp
index 2b8128f..4140616 100644
--- a/plugins/linux/src/native/jinput.cpp
+++ b/plugins/linux/src/native/jinput.cpp
@@ -29,10 +29,7 @@
#include <malloc.h>
#include <string.h>
-#include "net_java_games_input_LinuxDevice.h"
-#include "net_java_games_input_LinuxEnvironmentPlugin.h"
-#include "net_java_games_input_LinuxKeyboard.h"
-#include "net_java_games_input_LinuxDeviceRumbler.h"
+#include "net_java_games_input_JInputLibrary.h"
#include "Device.h"
#include "EventDevice.h"
@@ -46,12 +43,12 @@ Device **jinputDeviceList;
int jinputNumDevices;
/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
- * Method: init
+ * Class: net_java_games_input_JInputLibrary
+ * Method: nativeInit
* Signature: ()I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_init
- (JNIEnv *, jobject) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_nativeInit
+ (JNIEnv *, jclass) {
LOG_TRACE("Initing event interface\n");
if(evInit()!=0) {
@@ -124,13 +121,12 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_init
}
/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
+ * Class: net_java_games_input_JInputLibrary
* Method: getDeviceName
* Signature: (I)Ljava/lang/String;
*/
-
-JNIEXPORT jstring JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getDeviceName
- (JNIEnv *env, jobject, jint deviceID) {
+JNIEXPORT jstring JNICALL Java_net_java_games_input_JInputLibrary_getDeviceName
+ (JNIEnv *env, jclass, jint deviceID) {
LOG_TRACE("Gettign device name for jinput device %d.\n", deviceID);
LOG_TRACE("jinput device %d is %d\n", deviceID, jinputDeviceList[deviceID]);
@@ -139,59 +135,59 @@ JNIEXPORT jstring JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getDe
}
/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
+ * Class: net_java_games_input_JInputLibrary
* Method: getNumAbsAxes
* Signature: (I)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumAbsAxes
- (JNIEnv *env, jobject, jint deviceID) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getNumAbsAxes
+ (JNIEnv *env, jclass, jint deviceID) {
LOG_TRACE("Gettign number of absolute axes for jinput device %d (%d)\n", deviceID, jinputDeviceList[deviceID]->getNumberAbsAxes());
return jinputDeviceList[deviceID]->getNumberAbsAxes();
}
/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
+ * Class: net_java_games_input_JInputLibrary
* Method: getNumRelAxes
* Signature: (I)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumRelAxes
- (JNIEnv *env, jobject, jint deviceID) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getNumRelAxes
+ (JNIEnv *env, jclass, jint deviceID) {
LOG_TRACE("Gettign number of relative axes for jinput device %d (%d)\n", deviceID, jinputDeviceList[deviceID]->getNumberRelAxes());
return jinputDeviceList[deviceID]->getNumberRelAxes();
}
/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
+ * Class: net_java_games_input_JInputLibrary
* Method: getNumButtons
* Signature: (I)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumButtons
- (JNIEnv *, jobject, jint deviceID) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getNumButtons
+ (JNIEnv *, jclass, jint deviceID) {
LOG_TRACE("Gettign number of buttons for jinput device %d (%d)\n", deviceID, jinputDeviceList[deviceID]->getNumberButtons());
return jinputDeviceList[deviceID]->getNumberButtons();
}
/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
+ * Class: net_java_games_input_JInputLibrary
* Method: getNumberOfDevices
* Signature: ()I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumberOfDevices
- (JNIEnv *, jobject) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getNumberOfDevices
+ (JNIEnv *, jclass) {
return jinputNumDevices;
}
/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeSupportedAbsAxes
+ * Class: net_java_games_input_JInputLibrary
+ * Method: getSupportedAbsAxes
* Signature: (I[I)V
*/
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedAbsAxes
- (JNIEnv *env, jobject, jint deviceID, jintArray axesData) {
+JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_getSupportedAbsAxes
+ (JNIEnv *env, jclass, jint deviceID, jintArray axesData) {
jint *axisReturns = env->GetIntArrayElements(axesData, 0);
@@ -202,12 +198,12 @@ JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedA
}
/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeSupportedRelAxes
+ * Class: net_java_games_input_JInputLibrary
+ * Method: getSupportedRelAxes
* Signature: (I[I)V
*/
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedRelAxes
- (JNIEnv *env, jobject, jint deviceID, jintArray axesData) {
+JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_getSupportedRelAxes
+ (JNIEnv *env, jclass, jint deviceID, jintArray axesData) {
jint *axisReturns = env->GetIntArrayElements(axesData, 0);
@@ -218,12 +214,12 @@ JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedR
}
/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeSupportedButtons
+ * Class: net_java_games_input_JInputLibrary
+ * Method: getSupportedButtons
* Signature: (I[I)V
*/
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedButtons
- (JNIEnv *env, jobject, jint deviceID, jintArray buttonData) {
+JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_getSupportedButtons
+ (JNIEnv *env, jclass, jint deviceID, jintArray buttonData) {
jint *buttonDataElements = env->GetIntArrayElements(buttonData, 0);
@@ -234,12 +230,12 @@ JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedB
}
/*
- * Class: net_java_games_input_LinuxDevice
- * Method: nativePoll
+ * Class: net_java_games_input_JInputLibrary
+ * Method: poll
* Signature: (I[I[I[I)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_nativePoll
- (JNIEnv *env, jobject, jint deviceID, jintArray buttons, jintArray relAxes, jintArray absAxes) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_poll
+ (JNIEnv *env, jclass, jint deviceID, jintArray buttons, jintArray relAxes, jintArray absAxes) {
jint *buttonElements = env->GetIntArrayElements(buttons, 0);
jint *relAxesElements = env->GetIntArrayElements(relAxes, 0);
@@ -258,24 +254,24 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_nativePoll
}
/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeAbsAxisFuzz
+ * Class: net_java_games_input_JInputLibrary
+ * Method: getAbsAxisFuzz
* Signature: (II)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisFuzz
- (JNIEnv *, jobject, jint deviceID, jint axisID) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getAbsAxisFuzz
+ (JNIEnv *, jclass, jint deviceID, jint axisID) {
LOG_TRACE("Getting fuzz data for axis %d on device %d\n", axisID, deviceID);
return jinputDeviceList[deviceID]->getAbsAxisFuzz(axisID);
}
/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeAbsAxisMaximum
+ * Class: net_java_games_input_JInputLibrary
+ * Method: getAbsAxisMaximum
* Signature: (II)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMaximum
- (JNIEnv *, jobject, jint deviceID, jint axisID) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getAbsAxisMaximum
+ (JNIEnv *, jclass, jint deviceID, jint axisID) {
LOG_TRACE("Getting absolute axes maximum value data for axis %d on device %d\n", axisID, deviceID);
return jinputDeviceList[deviceID]->getAbsAxisMaximum(axisID);
@@ -283,91 +279,36 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMax
/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeAbsAxisMinimum
+ * Class: net_java_games_input_JInputLibrary
+ * Method: getAbsAxisMinimum
* Signature: (II)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMinimum
- (JNIEnv *, jobject, jint deviceID, jint axisID) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getAbsAxisMinimum
+ (JNIEnv *, jclass, jint deviceID, jint axisID) {
LOG_TRACE("Getting absolute axes minimum value data for axis %d on device %d\n", axisID, deviceID);
return jinputDeviceList[deviceID]->getAbsAxisMinimum(axisID);
}
/*
- * Class: net_java_games_input_LinuxDevice
+ * Class: net_java_games_input_JInputLibrary
* Method: getNativePortType
* Signature: (I)I
*/
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativePortType
- (JNIEnv *, jobject, jint deviceID) {
+JNIEXPORT jint JNICALL Java_net_java_games_input_JInputLibrary_getNativePortType
+ (JNIEnv *, jclass, jint deviceID) {
LOG_TRACE("Getting bus type for device %d\n", deviceID);
return jinputDeviceList[deviceID]->getBusType();
}
-/* Inaccessible static: NO_RUMBLERS */
-/* Inaccessible static: _00024assertionsDisabled */
-/* Inaccessible static: class_00024net_00024java_00024games_00024input_00024Keyboard */
-/*
- * Class: net_java_games_input_LinuxKeyboard
- * Method: getNativeSupportedButtons
- * Signature: (I[I)V
- */
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxKeyboard_getNativeSupportedButtons
- (JNIEnv *env, jobject, jint deviceID, jintArray buttons) {
-
- jint *buttonDataElements = env->GetIntArrayElements(buttons, 0);
-
- LOG_TRACE("Gettign number of buttons for jinput keyboard device %d\n", deviceID);
- jinputDeviceList[deviceID]->getSupportedButtons(buttonDataElements);
-
- env->ReleaseIntArrayElements(buttons, buttonDataElements, 0);
-}
-
-/*
- * Class: net_java_games_input_LinuxKeyboard
- * Method: nativePoll
- * Signature: (I[I[I[I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxKeyboard_nativePoll
- (JNIEnv *env, jobject, jint deviceID, jintArray buttons, jintArray relAxes, jintArray absAxes) {
-
- jint *buttonElements = env->GetIntArrayElements(buttons, 0);
- jint *relAxesElements = env->GetIntArrayElements(relAxes, 0);
- jint *absAxesElements = env->GetIntArrayElements(absAxes, 0);
-
- LOG_POLL_TRACE("Polling jinput keyboard device %d\n", deviceID);
- int retval = jinputDeviceList[deviceID]->poll();
- LOG_POLL_TRACE("Getting polled data for keyboard device %d\n", deviceID);
- jinputDeviceList[deviceID]->getPolledData(relAxesElements, absAxesElements, buttonElements);
-
- env->ReleaseIntArrayElements(buttons, buttonElements, 0);
- env->ReleaseIntArrayElements(relAxes, relAxesElements, 0);
- env->ReleaseIntArrayElements(absAxes, absAxesElements, 0);
-
- return retval;
-}
-
-/*
- * Class: net_java_games_input_LinuxKeyboard
- * Method: getNativePortType
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxKeyboard_getNativePortType
- (JNIEnv *, jobject, jint deviceID) {
-
- LOG_TRACE("Getting bus type for keyboard device %d\n", deviceID);
- return jinputDeviceList[deviceID]->getBusType();
-}
-
/*
- * Class: net_java_games_input_LinuxDevice
+ * Class: net_java_games_input_JInputLibrary
* Method: getFFEnabled
* Signature: (I)Z
*/
-JNIEXPORT jboolean JNICALL Java_net_java_games_input_LinuxDevice_getNativeFFEnabled
- (JNIEnv *, jobject, jint deviceID) {
+JNIEXPORT jboolean JNICALL Java_net_java_games_input_JInputLibrary_getFFEnabled
+ (JNIEnv *, jclass, jint deviceID) {
LOG_TRACE("Getting FFEnabled status for device %d\n", deviceID);
if(jinputDeviceList[deviceID]->getFFEnabled()) {
@@ -379,21 +320,25 @@ JNIEXPORT jboolean JNICALL Java_net_java_games_input_LinuxDevice_getNativeFFEnab
}
/*
- * Class: net_java_games_input_LinuxRumblerDevice
+ * Class: net_java_games_input_JInputLibrary
* Method: nativeRumble
* Signature: (IF)V
*/
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDeviceRumbler_nativeRumble
- (JNIEnv *, jobject, jint deviceID, jfloat force) {
+JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_nativeRumble
+ (JNIEnv *, jclass, jint deviceID, jfloat force) {
jinputDeviceList[deviceID]->rumble(force);
}
/*
- * Class: net_java_games_input_LinuxRumblerDevice
+ * Class: net_java_games_input_JInputLibrary
* Method: nativeCleanup
* Signature: (I)V
*/
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDeviceRumbler_nativeCleanup
- (JNIEnv *, jobject, jint deviceID) {
- jinputDeviceList[deviceID]->cleanup();
+JNIEXPORT void JNICALL Java_net_java_games_input_JInputLibrary_nativeCleanup
+ (JNIEnv *, jclass, jint deviceID) {
+ if(jinputDeviceList[deviceID]!=0) {
+ jinputDeviceList[deviceID]->cleanup();
+ free(jinputDeviceList);
+ jinputDeviceList[deviceID]=0;
+ }
}
diff --git a/plugins/linux/src/native/net_java_games_input_LinuxDevice.h b/plugins/linux/src/native/net_java_games_input_LinuxDevice.h
deleted file mode 100644
index 13cba3e..0000000
--- a/plugins/linux/src/native/net_java_games_input_LinuxDevice.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class net_java_games_input_LinuxDevice */
-
-#ifndef _Included_net_java_games_input_LinuxDevice
-#define _Included_net_java_games_input_LinuxDevice
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Inaccessible static: NO_AXES */
-/* Inaccessible static: NO_CONTROLLERS */
-/* Inaccessible static: NO_RUMBLERS */
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeSupportedAbsAxes
- * Signature: (I[I)V
- */
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedAbsAxes
- (JNIEnv *, jobject, jint, jintArray);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeSupportedRelAxes
- * Signature: (I[I)V
- */
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedRelAxes
- (JNIEnv *, jobject, jint, jintArray);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeSupportedButtons
- * Signature: (I[I)V
- */
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedButtons
- (JNIEnv *, jobject, jint, jintArray);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: nativePoll
- * Signature: (I[I[I[I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_nativePoll
- (JNIEnv *, jobject, jint, jintArray, jintArray, jintArray);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeAbsAxisFuzz
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisFuzz
- (JNIEnv *, jobject, jint, jint);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeAbsAxisMaximum
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMaximum
- (JNIEnv *, jobject, jint, jint);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativeAbsAxisMinimum
- * Signature: (II)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMinimum
- (JNIEnv *, jobject, jint, jint);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getNativePortType
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativePortType
- (JNIEnv *, jobject, jint);
-
-/*
- * Class: net_java_games_input_LinuxDevice
- * Method: getFFEnabled
- * Signature: (I)Z
- */
-JNIEXPORT jboolean JNICALL Java_net_java_games_input_LinuxDevice_getNativeFFEnabled
- (JNIEnv *, jobject, jint);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/plugins/linux/src/native/net_java_games_input_LinuxDeviceRumbler.h b/plugins/linux/src/native/net_java_games_input_LinuxDeviceRumbler.h
deleted file mode 100644
index 085f22d..0000000
--- a/plugins/linux/src/native/net_java_games_input_LinuxDeviceRumbler.h
+++ /dev/null
@@ -1,28 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class net_java_games_input_LinuxDeviceRumbler */
-
-#ifndef _Included_net_java_games_input_LinuxDeviceRumbler
-#define _Included_net_java_games_input_LinuxDeviceRumbler
-#ifdef __cplusplus
-extern "C" {
-#endif
-/*
- * Class: net_java_games_input_LinuxDeviceRumbler
- * Method: nativeRumble
- * Signature: (IF)V
- */
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDeviceRumbler_nativeRumble
- (JNIEnv *, jobject, jint, jfloat);
-
-/*
- * Class: net_java_games_input_LinuxDeviceRumbler
- * Method: nativeCleanup
- * Signature: (I)V
- */
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDeviceRumbler_nativeCleanup
- (JNIEnv *, jobject, jint);
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/plugins/linux/src/native/net_java_games_input_LinuxEnvironmentPlugin.h b/plugins/linux/src/native/net_java_games_input_LinuxEnvironmentPlugin.h
deleted file mode 100644
index 6e68a97..0000000
--- a/plugins/linux/src/native/net_java_games_input_LinuxEnvironmentPlugin.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class net_java_games_input_LinuxEnvironmentPlugin */
-
-#ifndef _Included_net_java_games_input_LinuxEnvironmentPlugin
-#define _Included_net_java_games_input_LinuxEnvironmentPlugin
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Inaccessible static: _00024assertionsDisabled */
-/* Inaccessible static: defaultEnvironment */
-/* Inaccessible static: class_00024net_00024java_00024games_00024input_00024ControllerEnvironment */
-/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
- * Method: getDeviceName
- * Signature: (I)Ljava/lang/String;
- */
-JNIEXPORT jstring JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getDeviceName
- (JNIEnv *, jobject, jint);
-
-/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
- * Method: getNumAbsAxes
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumAbsAxes
- (JNIEnv *, jobject, jint);
-
-/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
- * Method: getNumRelAxes
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumRelAxes
- (JNIEnv *, jobject, jint);
-
-/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
- * Method: getNumButtons
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumButtons
- (JNIEnv *, jobject, jint);
-
-/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
- * Method: init
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_init
- (JNIEnv *, jobject);
-
-/*
- * Class: net_java_games_input_LinuxEnvironmentPlugin
- * Method: getNumberOfDevices
- * Signature: ()I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumberOfDevices
- (JNIEnv *, jobject);
-
-#ifdef __cplusplus
-}
-#endif
-#endif
diff --git a/plugins/linux/src/native/net_java_games_input_LinuxKeyboard.h b/plugins/linux/src/native/net_java_games_input_LinuxKeyboard.h
deleted file mode 100644
index 041f416..0000000
--- a/plugins/linux/src/native/net_java_games_input_LinuxKeyboard.h
+++ /dev/null
@@ -1,42 +0,0 @@
-/* DO NOT EDIT THIS FILE - it is machine generated */
-#include <jni.h>
-/* Header for class net_java_games_input_LinuxKeyboard */
-
-#ifndef _Included_net_java_games_input_LinuxKeyboard
-#define _Included_net_java_games_input_LinuxKeyboard
-#ifdef __cplusplus
-extern "C" {
-#endif
-/* Inaccessible static: NO_AXES */
-/* Inaccessible static: NO_CONTROLLERS */
-/* Inaccessible static: NO_RUMBLERS */
-/* Inaccessible static: _00024assertionsDisabled */
-/* Inaccessible static: class_00024net_00024java_00024games_00024input_00024Keyboard */
-/*
- * Class: net_java_games_input_LinuxKeyboard
- * Method: getNativeSupportedButtons
- * Signature: (I[I)V
- */
-JNIEXPORT void JNICALL Java_net_java_games_input_LinuxKeyboard_getNativeSupportedButtons
- (JNIEnv *, jobject, jint, jintArray);
-
-/*
- * Class: net_java_games_input_LinuxKeyboard
- * Method: nativePoll
- * Signature: (I[I[I[I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxKeyboard_nativePoll
- (JNIEnv *, jobject, jint, jintArray, jintArray, jintArray);
-
-/*
- * Class: net_java_games_input_LinuxKeyboard
- * Method: getNativePortType
- * Signature: (I)I
- */
-JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxKeyboard_getNativePortType
- (JNIEnv *, jobject, jint);
-
-#ifdef __cplusplus
-}
-#endif
-#endif