diff options
Diffstat (limited to 'plugins/linux/src/native/jinput.cpp')
-rw-r--r-- | plugins/linux/src/native/jinput.cpp | 44 |
1 files changed, 35 insertions, 9 deletions
diff --git a/plugins/linux/src/native/jinput.cpp b/plugins/linux/src/native/jinput.cpp index 3ce6c6a..5f78535 100644 --- a/plugins/linux/src/native/jinput.cpp +++ b/plugins/linux/src/native/jinput.cpp @@ -39,6 +39,7 @@ #include "MixedDevice.h" #include "eventInterface.h" #include "joystickInterface.h" +#include "logger.h" Device **jinputDeviceList; int jinputNumDevices; @@ -51,22 +52,28 @@ int jinputNumDevices; JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_init (JNIEnv *, jobject) { + LOG_TRACE("Initing event interface\n"); if(evInit()!=0) { - fprintf(stderr, "Failed to init native event interface\n"); - return -1; + fprintf(stderr, "Could not find any working event devices\n"); +// return -1; } + LOG_TRACE("Initing joystick interface\n"); if(jsInit()!=0) { - fprintf(stderr, "Failed to init native joystick interface\n"); - return -1; + fprintf(stderr, "Could not find any working joystick devices\n"); +// return -1; } + LOG_TRACE("Getting the number of event devices\n"); int numEventDevices = evGetNumberDevices(); EventDevice *eventDevices[numEventDevices]; + LOG_TRACE("Getting %d event devices\n", numEventDevices); evGetDevices((Device **)eventDevices); + LOG_TRACE("Getting the number of joystick devices\n"); int numJoysticks = jsGetNumberDevices(); JoystickDevice *jsDevices[numJoysticks]; + LOG_TRACE("Getting %d joystick devices\n", numJoysticks); jsGetDevices((Device **)jsDevices); @@ -80,12 +87,14 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_init for(j=joystickPtr;j<numJoysticks;j++) { JoystickDevice *jsDevice = jsDevices[j]; + LOG_TRACE("Getting device information for event device %d and joystick %d\n", i, j); if((jsDevice->getNumberButtons() == eventDevice->getNumberButtons()) && (jsDevice->getNumberAbsAxes() == (eventDevice->getNumberAbsAxes() + eventDevice->getNumberRelAxes()))) { const char *jsName = jsDevice->getName(); const char *eventDeviceName = eventDevice->getName(); if(strcmp(jsName, eventDeviceName) == 0) { // The current event device is the curre joystick device too + LOG_TRACE("Creating a mixed device with id %d, combining event device %d and joystick device %d\n", jinputNumDevices, i, j); jinputDeviceList[jinputNumDevices] = new MixedDevice(jsDevice, eventDevice); jinputNumDevices++; joystickPtr = j; @@ -93,12 +102,12 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_init } } /*if(jinputNumDevices == deviceCountCache) { - //fprintf(stderr, "event device \"%s\" doesn't match js \"%s\"\n", eventDevice->getName(), jsDevice->getName()); - //fprintf(stderr, "event device has %d rel axes, %d abs axis and %d buttons\n", eventDevice->getNumberRelAxes(), eventDevice->getNumberAbsAxes(), eventDevice->getNumberButtons()); - //fprintf(stderr, "js device has %d axes and %d buttons\n", jsDevice->getNumberAbsAxes(), jsDevice->getNumberButtons()); + fprintf(stderr, "event device \"%s\" doesn't match js \"%s\"\n", eventDevice->getName(), jsDevice->getName()); + fprintf(stderr, "event device has %d rel axes, %d abs axis and %d buttons\n", eventDevice->getNumberRelAxes(), eventDevice->getNumberAbsAxes(), eventDevice->getNumberButtons()); + fprintf(stderr, "js device has %d axes and %d buttons\n", jsDevice->getNumberAbsAxes(), jsDevice->getNumberButtons()); } else { - //fprintf(stderr, "event device %s did match js %s\n", eventDevice->getName(), jsDevice->getName()); - } */ + fprintf(stderr, "event device %s did match js %s\n", eventDevice->getName(), jsDevice->getName()); + }*/ } @@ -122,6 +131,7 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_init JNIEXPORT jstring JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getDeviceName (JNIEnv *env, jobject, jint deviceID) { + LOG_TRACE("Gettign device name for jinput device %d\n", deviceID); return env->NewStringUTF(jinputDeviceList[deviceID]->getName()); } @@ -133,6 +143,7 @@ JNIEXPORT jstring JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getDe JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumAbsAxes (JNIEnv *env, jobject, jint deviceID) { + LOG_TRACE("Gettign number of absolute axes for jinput device %d\n", deviceID); return jinputDeviceList[deviceID]->getNumberAbsAxes(); } @@ -144,6 +155,7 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumAb JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumRelAxes (JNIEnv *env, jobject, jint deviceID) { + LOG_TRACE("Gettign number of relative axes for jinput device %d\n", deviceID); return jinputDeviceList[deviceID]->getNumberRelAxes(); } @@ -155,6 +167,7 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumRe JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxEnvironmentPlugin_getNumButtons (JNIEnv *, jobject, jint deviceID) { + LOG_TRACE("Gettign number of buttons for jinput device %d\n", deviceID); return jinputDeviceList[deviceID]->getNumberButtons(); } @@ -179,6 +192,7 @@ JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedA jint *axisReturns = env->GetIntArrayElements(axesData, 0); + LOG_TRACE("Getting suported absolute axes for jinput device %d\n", deviceID); jinputDeviceList[deviceID]->getSupportedAbsAxes(axisReturns); env->ReleaseIntArrayElements(axesData, axisReturns, 0); @@ -194,6 +208,7 @@ JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedR jint *axisReturns = env->GetIntArrayElements(axesData, 0); + LOG_TRACE("Getting suported relative axes for jinput device %d\n", deviceID); jinputDeviceList[deviceID]->getSupportedRelAxes(axisReturns); env->ReleaseIntArrayElements(axesData, axisReturns, 0); @@ -209,6 +224,7 @@ JNIEXPORT void JNICALL Java_net_java_games_input_LinuxDevice_getNativeSupportedB jint *buttonDataElements = env->GetIntArrayElements(buttonData, 0); + LOG_TRACE("Getting suported buttons for jinput device %d\n", deviceID); jinputDeviceList[deviceID]->getSupportedButtons(buttonDataElements); env->ReleaseIntArrayElements(buttonData, buttonDataElements, 0); @@ -226,7 +242,9 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_nativePoll jint *relAxesElements = env->GetIntArrayElements(relAxes, 0); jint *absAxesElements = env->GetIntArrayElements(absAxes, 0); + LOG_POLL_TRACE("Polling jinput device %d\n", deviceID); int retval = jinputDeviceList[deviceID]->poll(); + LOG_POLL_TRACE("Getting polled data for device %d\n", deviceID); jinputDeviceList[deviceID]->getPolledData(relAxesElements, absAxesElements, buttonElements); env->ReleaseIntArrayElements(buttons, buttonElements, 0); @@ -244,6 +262,7 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_nativePoll JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisFuzz (JNIEnv *, jobject, jint deviceID, jint axisID) { + LOG_TRACE("Getting fuzz data for axis %d on device %d\n", axisID, deviceID); return jinputDeviceList[deviceID]->getAbsAxisFuzz(axisID); } @@ -255,6 +274,7 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisFuz JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMaximum (JNIEnv *, jobject, 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); } @@ -267,6 +287,7 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMax JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMinimum (JNIEnv *, jobject, 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); } @@ -278,6 +299,7 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativeAbsAxisMin JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxDevice_getNativePortType (JNIEnv *, jobject, jint deviceID) { + LOG_TRACE("Getting bus type for device %d\n", deviceID); jinputDeviceList[deviceID]->getBusType(); } @@ -294,6 +316,7 @@ JNIEXPORT void JNICALL Java_net_java_games_input_LinuxKeyboard_getNativeSupporte 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); @@ -311,7 +334,9 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxKeyboard_nativePoll 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); @@ -329,5 +354,6 @@ JNIEXPORT jint JNICALL Java_net_java_games_input_LinuxKeyboard_nativePoll 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); jinputDeviceList[deviceID]->getBusType(); } |