net.java.games.input
Class LinuxDeviceThread

java.lang.Object
  extended by java.lang.Thread
      extended by net.java.games.input.LinuxDeviceThread
All Implemented Interfaces:
java.lang.Runnable

final class LinuxDeviceThread
extends java.lang.Thread

Linux doesn't have proper support for force feedback from different threads since it relies on PIDs to determine ownership of a particular effect slot. Therefore we have to hack around this by making sure everything related to FF (including the final device close that performs and implicit deletion of all the process' effects) is run on a single thread.


Nested Class Summary
 
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler
 
Field Summary
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
LinuxDeviceThread()
           
 
Method Summary
 java.lang.Object execute(LinuxDeviceTask task)
           
 void run()
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, destroy, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

LinuxDeviceThread

public LinuxDeviceThread()
Method Detail

run

public final void run()
Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

execute

public final java.lang.Object execute(LinuxDeviceTask task)
                               throws java.io.IOException
Throws:
java.io.IOException