I have a few questions about adding device support to JInput.
What is the general policy for adding new device type/support for JInput?
In particular I am adding support for space navigators and touch screens.
(Questions about native code, only deal with GNU/Linux)
(using code from CVS)
1. How often is the NativeDefinitions.java file generated?
The javadoc in the header states it is generated from /usr/include/linux/input.h.
Since the last time this file was generated, there have been some changes to the Linux evdev interface.
In particular, the ioctl() function EVIOCGUSAGE and USAGE_* constants are no longer defined.
The ioctl() call is made from net_java_games_input_LinuxEventDevice.c. Later, the USAGE_* constants
are checked in net.java.games.input.LinuxEventDevice.guessType().
I am using kernel version 2.6.18 (newish, but not bleeding edge)
2. I am adding a new Controller type SPACE_NAV. Initially it will support the 3DConnection
SpaceNavigator, though is not the only 6 DOF device on the market. Using the JInput code
from CVS, the device is detected as a mouse. This type of device is usually used for navigation
independent of the mouse. So I think it deserves a separate type.
3. How do I submit my changes back to the project?
Thanks in advance,
-Pablo A. Maurin