aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGES31
-rw-r--r--README.txt92
-rw-r--r--build.xml234
-rw-r--r--webstart/build.xml40
-rw-r--r--webstart/jinput-wintab.jnlp35
-rw-r--r--webstart/jinput.jnlp33
-rw-r--r--www/index.html127
7 files changed, 0 insertions, 592 deletions
diff --git a/CHANGES b/CHANGES
deleted file mode 100644
index 88b89ee..0000000
--- a/CHANGES
+++ /dev/null
@@ -1,31 +0,0 @@
-Major:
- - Flattened Mouse so it isn't separated into child controllers (ball, buttons).
- - Removed useless component members from Mouse and Keyboard. For example, Mouse.getX() is now simply getComponent(Component.Identifier.Axis.X).
- - Removed StandardKeyboard.
- - Removed Mouse.Button and Keyboard.Key since they only complicated plugins
- - Added Keyboard.isKeyDown(Component.Identifier.Key) (with default false for non-existent keys).
- - Removed Component.isPolling() and Component.setPolling().
- - Removed Component.isNormalized() since all plugins return normalized data for absolute axes anyway.
- - Windows XP: Added RawInputEnvironmentPlugin to enable multiple mice and keyboards. DirectInput will only report one system mouse and one system keyboard where all mice and keyboard input are combined (in fact, Windows was the OS with the most complicated and confusing APIs, apart from the fact that I had to code two separate plugins for it). The RawInputEnvironment is not enabled per default, since it seems to exclude mouse and keybaord input to DirectInput which will probably confuse unsuspecting applications. But at least there is now a method to access multiple keyboards and mice on windows xp.
- - DirectInput: Got rid of the nasty DataFormat special case handling. The DirectInput data format is now one large (java int) array which is a better match for the jinput abstraction than the builtin DirectInput data formats for mice, keyboards and joysticks.
- - Added event queue support. An Event contains a Component, a value and a relative timestamp in nanoseconds.
- - Basically rewrote all plugins from scratch, with focus on minimizing the amount of native code in general, and in particular for moving decisions from native to java, making the native code more general purpose and less likely to need changes. Additionally, all plugins support the new event queue interface. All plugins now have much better error handling (exceptions) and much tighter native code (no more global variables, helper functions declared static etc.). Additionally, all plugin internal java classes are package protected and final for added security.
- - Mac OS X: Added missing features and fixed broken Mouse.
- - Cleaned up build system and added option for a combined jinput.jar with all plugins as opposed to just the OS specific packages
- - JInput should now be thread safe.
- - Mac OS X intel mac support. The jinput-osx.jnilib library is for 10.4 or better (both ppc and i386), while libjinput-osx-legacy.jnilib is for 10.3 or earlier.
-
-Minor:
- - Removed keyId from Component.Identifier.Key
- - Made components, children and rumblers final in AbstractController
- - Added Identifier->Component Map to AbstractController to avoid Keyboard special code and to speed up the Component.getComponent() method in general.
- - Added exceptions to native code for accurate error messages (instead of the standard printf). I use the checked IOException exclusively, but since exceptions are not exposed to user code, that can easily be changed.
- - Added printfJava(env, format, ...) to native code to avoid printfs altogether
-
-Issues not fixed:
- - Linux plugin report buttons ids with semantic value (trigger button, thumb button etc.) while all other plugins use simple button indices (0, 1, 2, 3 etc.). This is a property of the underlying linux input API and will probably confuse some jinput programs.
- - The Plugin architecture seems somewhat complex and IMHO unnecessary. It involves custom Classloaders to separate the each Plugin's namespaces, but since you can't use custom Classloaders in restricted environments (web start, applets) the plugins have to have manually separate namespaces anyway. I'm inclined to remove it, but since it was there originally, there is probably some use case it covers I don't know about.
-
-TODO:
- - A utility for collecting events from multiple controller at once. An application then just needs to register all its devices to the utility and only call poll() and getEventQueue() in one place. Event will probably need to be extended with a getController() method.
-
diff --git a/README.txt b/README.txt
deleted file mode 100644
index 9f84a72..0000000
--- a/README.txt
+++ /dev/null
@@ -1,92 +0,0 @@
-Project: net.java.games.*
-Purpose: Open source game libraries
-Authors:
- -- input API design:
- Michael Martak, Sun Microsystems
- Thomas Daniel, Sony Computer Entertainment
- -- input API original author:
- Michael Martak,Sun Microsystems
- -- input API original release author:
- Jeff Kesselman, Game Technology Architect,
- Advanced Software Technologies Group,
- Sun Microsystems.
- -- this file updated on 06/06/2003 by Jeff Kesselman
-
-
-Introduction:
-
-This is the source tree for the Java Game Initiative (JGI) Open Source
-client game programming APIs.
-
-Build Requirements:
-
-Note: This build depends on there being a jutils.jar in the lib directories
-of both the coreAPI and the plug-ins. If you install the JGI Jutils project
-at the same root as this project and build it first it will put jars in the
-right places.
-
-This project has been built in the following environment.
- -- Win32 (Win 2000 in the case of our machine)
- -- Sun J2SDK 1.4 (available at java.sun.com)
- -- MinGW 2.0.0 plus the following updates: (all available at www.mingw.org)
- -- binutils 2.13.90
- -- w32api-2.2
- -- mingw-runtime-2.4
- -- "Peter Puck's" directx8 binding
- (http://www.urebelscum.speedhost.com/download.html, file: dx8libs.zip
- (Copy all of his *.a library files into the MingW "lib" directory)
- -- The DirectX 9 SDK available at the Microsoft DirectX site.
- (http://www.microsoft.com/directx)
- The Win32 plug-in build.xml file expects this to be installed in
- c:\dx9. You can install it elsewhere but then you will have to modify
- the reference in that build.xml ant script.
- -- ANT 1.4.1 (available at apache.org)
-
-
-Directory Organization:
-
-The root contains a master ANT build.xml and the following sub directories:
- -- coreAPI: The actual API
- -- plugins: Directories for building controller plugins.
- (Currently the only plug in is the Win32 DX8 plugin.)
-
-Build instructions:
-
-To clean: ant clean
-To build: ant all (or just ant)
-To build docs: ant javadoc
-To test:
- First cd to coreAPI. There are currently 2 tests there.
- Textest: A simple discovery test that dumps
- the data about the discovered controllers to stdout
- To run: ant textest
- Readtest: A test that creates a window for each discovered
- controller (or sub-controller) which displays the
- current state of all the controller's axes.
- (Note: The windows currently all open at the same
- place on the screen so you will have to move them to
- see them all.)
- To run: ant readtest
-
-Release Info:
- Initial Release: This release contains an implementation of the input
- API designed by Mike Martak of Sun and Thomas (?) of Sony CEA for
- the WIn32 platform. All the code in src/input is cross platform. The
- Win32 code is segregated to the DirectX plugin (src/DXplugin) which
- depends on DirectInput from DX7 (or later).
-
- 05/09/2003: A number of bugs and problems with the DXPlugin are fixed in this
- release. This release also brings the code up to date using the DI8
- interface. This thus is the first release that requires Peter Puck's
- DX8 bindings to compile with MinGW.
-
- 05/09/2003 (second update):
- This version adds a new standard value type to the API.
- Axis.POV holds standard definitions for values for POV (hat) switches
- -- Axis.POV.CENTER and Axis.POV.OFF are synonymous and are
- the center position.
- -- Axis.POV.UP, Axis.POV.DOWN, Axis.POV.LEFT and Axis.POV.RIGHT
- should be self explanatory.
- Any hat that claims to be "normalized" will return these values. (It is
- recommended that all hats be normalized by the system specific plugins.)
-
diff --git a/build.xml b/build.xml
deleted file mode 100644
index 9cb1087..0000000
--- a/build.xml
+++ /dev/null
@@ -1,234 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="Sun Games Initiative Client Technologies" basedir="." default="all">
- <target name="init">
- <!-- If we are running in windows, set dx8 property to true -->
- <condition property="windows" >
- <os family="windows" />
- </condition>
-
- <!-- If we are running in linux, set linux property to true -->
- <condition property="linux" >
- <!--<os family="unix" />-->
- <os name="linux" />
- </condition>
-
- <!-- If we are running in Mac OS X, set osx property to true -->
- <condition property="osx" >
- <and>
- <os family="mac" />
- <os family="unix" />
- </and>
- </condition>
- </target>
-
- <target name="runtest" depends="dist">
- <java classname="${mainclass}"
- fork="true" failonerror="true" dir=".">
- <classpath>
- <pathelement location="dist/jinput.jar"/>
- <pathelement location="dist/jinput-test.jar"/>
- </classpath>
- <jvmarg value="-Djava.library.path=dist"/>
- </java>
- </target>
-
- <target name="texttest">
- <antcall target="runtest">
- <param name="mainclass" value="net.java.games.input.test.ControllerTextTest"/>
- </antcall>
- </target>
-
- <target name="readtest" depends="init,all" description="Try running it.">
- <antcall target="runtest">
- <param name="mainclass" value="net.java.games.input.test.ControllerReadTest"/>
- </antcall>
- </target>
-
- <target name="eventtest" depends="init,all" description="Try running it.">
- <antcall target="runtest">
- <param name="mainclass" value="net.java.games.input.test.ControllerEventTest"/>
- </antcall>
- </target>
-
- <target name="rumbletest" depends="init,all" description="Try running it.">
- <antcall target="runtest">
- <param name="mainclass" value="net.java.games.input.test.RumbleTest"/>
- </antcall>
- </target>
-
- <macrodef name="iterate">
- <attribute name="target"/>
- <sequential>
- <subant target="@{target}">
- <fileset file="coreAPI/build.xml"/>
- <fileset file="plugins/linux/build.xml"/>
- <fileset file="plugins/windows/build.xml"/>
- <fileset file="plugins/wintab/build.xml"/>
- <fileset file="plugins/OSX/build.xml"/>
- <fileset file="plugins/awt/build.xml"/>
- </subant>
- </sequential>
- </macrodef>
-
- <target name="clean">
- <iterate target="clean"/>
- <delete dir="dist" failonerror="no"/>
- </target>
-
- <target name="all" depends="dist">
- </target>
-
- <target name="javadoc" depends="init">
- <iterate target="javadoc"/>
- </target>
-
- <target name="pluginTest" depends="dist" description="Build plugin version">
- <mkdir dir="dist"/>
- <mkdir dir="dist/controller"/>
- <copy todir="dist">
- <fileset file="coreAPI/bin/jinput-core.jar"/>
- <fileset file="coreAPI/bin/jinput-test.jar"/>
- <fileset file="plugins/DX8/lib/jutils.jar"/>
- </copy>
- <copy todir="dist/controller">
- <fileset dir="plugins/awt/bin"/>
- <fileset dir="plugins/linux/bin"/>
- <fileset dir="plugins/OSX/bin"/>
- <fileset dir="plugins/windows/bin"/>
- <fileset dir="plugins/wintab/bin"/>
- </copy>
- </target>
-
- <target name="dist" depends="init" description="Build the distribution file for this system">
- <iterate target="all"/>
- <mkdir dir="dist"/>
- <jar jarfile="dist/jinput.jar" compress="true" duplicate="preserve">
- <fileset dir="coreAPI/classes">
- <include name="**/*.class"/>
- <exclude name="**/test/*.class"/>
- <exclude name="**/example/*.class"/>
- </fileset>
- <fileset dir="plugins/linux/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/OSX/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/awt/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/windows/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/wintab/classes">
- <include name="**/*.class"/>
- </fileset>
- <zipfileset src="lib/jutils.jar" includes="**/*.class"/>
- <manifest>
- <attribute name="Sealed" value="true"/>
- </manifest>
- </jar>
- <copy todir="dist">
- <fileset file="coreAPI/bin/jinput-test.jar"/>
- <fileset dir="plugins/linux/bin" includes="*so"/>
- <fileset dir="plugins/OSX/bin" includes="*jnilib"/>
- <fileset dir="plugins/windows/bin" includes="*dll"/>
- <fileset dir="plugins/wintab/bin" includes="*dll"/>
- </copy>
- </target>
-
- <target name="simple_dist" depends="dist,simple_windows,simple_wintab,simple_linux,simple_osx" description="Build the simple jars for each platform"/>
-
- <target name="simple_linux" depends="dist" description="Build the simple linux jar" if="linux">
- <jar jarfile="dist/jinput-linux.jar" compress="true">
- <fileset dir="coreAPI/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/linux/classes">
- <include name="**/*.class"/>
- </fileset>
- <zipfileset src="lib/jutils.jar" includes="**/*.class"/>
- <manifest>
- <attribute name="Sealed" value="true"/>
- </manifest>
- </jar>
- <tar destfile="dist/jinput_linux.tgz" compression="gzip">
- <tarfileset dir=".">
- <include name="dist/jinput-linux.jar"/>
- </tarfileset>
- <tarfileset dir="plugins/linux/bin">
- <include name="*.so"/>
- </tarfileset>
- </tar>
- </target>
-
- <target name="simple_windows" depends="dist" description="Build the simple windows jar" if="windows">
- <jar jarfile="dist/jinput-windows.jar" compress="true">
- <fileset dir="coreAPI/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/windows/classes">
- <include name="**/*.class"/>
- </fileset>
- <zipfileset src="lib/jutils.jar" includes="**/*.class"/>
- <manifest>
- <attribute name="Sealed" value="true"/>
- </manifest>
- </jar>
- <zip destfile="dist/jinput_windows.zip">
- <zipfileset dir=".">
- <include name="dist/jinput-windows.jar"/>
- </zipfileset>
- <zipfileset dir="plugins/windows/bin">
- <include name="*.dll"/>
- </zipfileset>
- </zip>
- </target>
-
- <target name="simple_wintab" depends="dist" description="Build the simple windows jar" if="windows">
- <jar jarfile="dist/jinput-wintab.jar" compress="true">
- <fileset dir="coreAPI/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/wintab/classes">
- <include name="**/*.class"/>
- </fileset>
- <zipfileset src="lib/jutils.jar" includes="**/*.class"/>
- <manifest>
- <attribute name="Sealed" value="true"/>
- </manifest>
- </jar>
- <zip destfile="dist/jinput_wintab.zip">
- <zipfileset dir=".">
- <include name="dist/jinput-wintab.jar"/>
- </zipfileset>
- <zipfileset dir="plugins/wintab/bin">
- <include name="*.dll"/>
- </zipfileset>
- </zip>
- </target>
-
- <target name="simple_osx" depends="dist" description="Build the simple osx jar" if="osx">
- <jar jarfile="dist/jinput-osx.jar" compress="true">
- <fileset dir="coreAPI/classes">
- <include name="**/*.class"/>
- </fileset>
- <fileset dir="plugins/OSX/classes">
- <include name="**/*.class"/>
- </fileset>
- <zipfileset src="lib/jutils.jar" includes="**/*.class"/>
- <manifest>
- <attribute name="Sealed" value="true"/>
- </manifest>
- </jar>
- <tar destfile="dist/jinput_osx.tgz" compression="gzip">
- <tarfileset dir=".">
- <include name="dist/jinput-osx.jar"/>
- </tarfileset>
- <tarfileset dir="plugins/OSX/bin">
- <include name="*.jnilib"/>
- </tarfileset>
- </tar>
- </target>
-</project>
diff --git a/webstart/build.xml b/webstart/build.xml
deleted file mode 100644
index 125c5e3..0000000
--- a/webstart/build.xml
+++ /dev/null
@@ -1,40 +0,0 @@
-<?xml version="1.0"?>
-
-<project name="JInput webstart" basedir="." default="webstart">
-
- <target name="webstart" depends="clean,sign">
- </target>
-
- <target name="clean">
- <delete dir="dist" failonerror="true"/>
- </target>
-
- <target name="init">
- <mkdir dir="dist"/>
- </target>
-
- <target name="buildnatives" depends="init">
- <jar destfile="dist/jinput-windows-native.jar"
- basedir="../dist/" includes="jinput-dx8.dll, jinput-raw.dll, jinput-wintab.dll"/>
- <jar destfile="dist/jinput-linux-native.jar"
- basedir="../dist/" includes="libjinput-linux.so"/>
- <jar destfile="dist/jinput-osx-native.jar"
- basedir="../dist/" includes="libjinput-osx.jnilib"/>
- </target>
-
- <target name="sign" depends="buildnatives">
- <copy todir="dist" file="../dist/jinput.jar" />
- <copy todir="dist" file="../dist/jinput-test.jar" />
- <copy todir="dist" file="jinput.jnlp"/>
- <copy todir="dist" file="jinput-wintab.jnlp"/>
-
- <input message="Input keystore alias: " addproperty="keystoreAlias"/>
- <input message="Input keystore password: " addproperty="keystorePassword"/>
- <signjar alias="${keystoreAlias}" keystore="myKeyStore" storepass="${keystorePassword}" verbose="true">
- <fileset dir="dist">
- <include name="**/*.jar"/>
- </fileset>
- </signjar>
- </target>
-
-</project> \ No newline at end of file
diff --git a/webstart/jinput-wintab.jnlp b/webstart/jinput-wintab.jnlp
deleted file mode 100644
index 535c921..0000000
--- a/webstart/jinput-wintab.jnlp
+++ /dev/null
@@ -1,35 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<jnlp
- spec="1.0+"
- codebase="http://www.newdawnsoftware.com/resources/jinput/webstart/"
- href="jinput-wintab.jnlp">
- <information>
- <title>JInput webstart demo</title>
- <vendor>New Dawn Software</vendor>
- <homepage href="http://www.newdawnsoftware.com"/>
- <description>The readtest demo from jinput as a webstartable demo</description>
- <description kind="short">JInput JWS demo</description>
- <icon href="mini.jpg"/>
- <offline-allowed/>
- </information>
- <security>
- <all-permissions/>
- </security>
- <resources>
- <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>
- <jar href="jinput-test.jar"/>
- <jar href="jinput.jar"/>
- </resources>
- <resources os="Windows" arch="x86_64 x86">
- <nativelib href="jinput-windows-native.jar"/>
- <property name="jinput.plugins" value="net.java.games.input.WinTabEnvironmentPlugin"/>
- </resources>
- <resources os="Linux" arch="i386 ia64 x84_64">
- <nativelib href="jinput-linux-native.jar"/>
- </resources>
- <resources os="Mac OS">
- <nativelib href="jinput-osx-native.jar"/>
- </resources>
-
- <application-desc main-class="net.java.games.input.test.ControllerReadTest"/>
-</jnlp>
diff --git a/webstart/jinput.jnlp b/webstart/jinput.jnlp
deleted file mode 100644
index 6b2de7e..0000000
--- a/webstart/jinput.jnlp
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<jnlp
- spec="1.0+"
- codebase="http://www.newdawnsoftware.com/resources/jinput/webstart/"
- href="jinput.jnlp">
- <information>
- <title>JInput webstart demo</title>
- <vendor>New Dawn Software</vendor>
- <homepage href="http://www.newdawnsoftware.com"/>
- <description>The readtest demo from jinput as a webstartable demo</description>
- <description kind="short">JInput JWS demo</description>
- <icon href="mini.jpg"/>
- <offline-allowed/>
- </information>
- <security>
- <all-permissions/>
- </security>
- <resources>
- <j2se href="http://java.sun.com/products/autodl/j2se" version="1.4+"/>
- <jar href="jinput-test.jar"/>
- <jar href="jinput.jar"/>
- </resources>
- <resources os="Windows" arch="x86_64 x86">
- <nativelib href="jinput-windows-native.jar"/>
- </resources>
- <resources os="Linux" arch="i386 ia64 x84_64">
- <nativelib href="jinput-linux-native.jar"/>
- </resources>
- <resources os="Mac OS">
- <nativelib href="jinput-osx-native.jar"/>
- </resources>
- <application-desc main-class="net.java.games.input.test.ControllerReadTest"/>
-</jnlp>
diff --git a/www/index.html b/www/index.html
deleted file mode 100644
index f976bf7..0000000
--- a/www/index.html
+++ /dev/null
@@ -1,127 +0,0 @@
-<html>
- <body bgcolor="f5f5f5">
- <br/>
-<div Align=center>
-
-<div align="center"><font color="#005177" size="+2">Welcome to the Java Input API Project! </font> </div>
-<table width="100%" border="0" cellspacing="1" cellpadding="0">
- <tr>
- <td width="66%" valign="top"> <table width="100%" height="358" border="0" cellpadding="5" cellspacing="1">
- <tr>
- <td valign="top"><table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#6E94B7">
- <tr>
- <td width="589" valign="top" bgcolor="#6E94B7"><div align="left"><font color="#FFFFFF"><strong>Overview</strong></font></div></td>
- </tr>
- <tr>
- <td valign="top" bgcolor="#F8F8F8"><div align="justify">
- <p>The JInput Project hosts an implementation of an API for game controller
- discovery and polled input. It is part of a suite of open-source technologies
- initiated by the Game Technology Group at Sun Microsystems with intention of
- making the development of high performance games in Java a reality.</p>
- <p>The API itself is pure Java and presents a platform-neutral
- completely portable model of controller discovery and polling.
- It can handle arbitrary controllers and returns both human and
- machine understandable descriptions of the inputs available.</p>
- <p>The implementation hosted here also includes plug-ins to allow
- the API to adapt to various specific platforms. These plug-ins
- often contain a native code portion to interface to the host system.
- </p>
- </div></td>
- </tr>
- </table></td>
- </tr>
- <tr>
- <td><table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#6E94B7">
- <tr>
- <td width="589" bgcolor="#6E94B7"><div align="left"><font color="#FFFFFF"><strong>Project
- Status</strong></font></div></td>
- </tr>
- <tr>
- <td bgcolor="#F8F8F8"><div align="justify"><p>The intial implementation
- of the Java Input API is available for download from
- <a href=" http://jinput.dev.java.net/source/browse/jinput/ ">CVS</a>.
- This release contains a plug-in for Win32i, Linux, and OSX. Builds are available in the <a href="https://jinput.dev.java.net/servlets/ProjectDocumentList?folderID=0&expandFolder=0&folderID=0">Documents and Files</a> area.
- </p>
- </div></td>
-
- </tr>
- </table></td>
- </tr>
- <tr>
- <td><table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#6E94B7">
- <tr>
- <td width="589" bgcolor="#6E94B7"><div align="left"><font color="#FFFFFF"><strong>Getting
- Started </strong></font></div></td>
- </tr>
- <tr>
- <td valign="top" bgcolor="#F8F8F8"><div align="justify"><p>This project has been built
- in the following environment:</p></div>
- <ul>
- <li> Sun J2SDK 1.4.2+ (available at <a href=" http://java.sun.com " target="_blank">java.sun.com</a>)</li>
- <li> ANT 1.4.1+ (available at <a href=" http://www.apache.org " target="_blank">www.apache.org</a>)</li>
- <li> Win32</li>
- <ul>
- <li> Microsoft Visual C++ (<a href="http://msdn.microsoft.com/vstudio/express/downloads/">Express Edition</a> is free)
- <li> The Microsoft <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=484269E2-3B89-47E3-8EB7-1F2BE6D7123A&displaylang=en">Platform SDK</a></li>
- <li> The <a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=09F7578C-24AA-4E0A-BF91-5FEC24C8C7BF&displaylang=en" target= " _blank">DirectX</a> SDK</li>
- </ul>
- </li>
- <li> OSX 10.2.x or greater</li>
- <li> Linux with 2.6 kernel </li>
- </ul>
- <div align="justify">
- <p>This project requires that the Java Utils library (jutil.jar) be built and placed
- in this project's lib directories. See the README for more detail. For the
- Java Utils library itself see
- <a href="http://jutils.dev.java.net" target="_blank"> jutils.dev.java.net </a>
- </p>
- <p>
- If you wish to become involved in the JInput project, please stop by our <href="http://www.javagaming.org/forums/index.php?board=27.0">forums</a> and introduce yourself.
- </p>
- </div>
- </td>
- </tr>
- </table></td>
- </tr>
- </table>
- <p>&nbsp;</p></td>
- <td valign="top">
- <table width="100%" border="0" cellspacing="1" cellpadding="5">
- <tr>
- <td bgcolor="#F8F8F8"><table width="100%" border="0" cellpadding="5" cellspacing="1" bgcolor="#6E94B7">
- <tr>
- <td valign="top" bgcolor="#6E94B7"><div align="left"><font color="#FFFFFF"><strong>Useful
- Links</strong></font></div></td></tr>
- <tr>
- <td valign="top" bgcolor="#F8F8F8">
- <a href="http://www.javagaming.org/forums/index.php?topic=16866.0">Getting started</a>
- </td
- </tr>
- <tr>
- <td valign="top" bgcolor="#F8F8F8">
- <a href="http://www.newdawnsoftware.com/resources/jinput/jinput_combined_dist_latest.zip">Latest distribution</a>
- </td
- </tr>
- <tr><td valign="top" bgcolor="#F8F8F8">
- <a
-href="http://www.javagaming.org/forums/index.php?board=27.0">
-JInput forums</a></td>
- </tr>
- <tr>
- <td valign="top" bgcolor="#F8F8F8">
- <a
-href="http://games-core.dev.java.net/sun_contrib_051903_javagames.pdf">
-Developer Agreement </a>
- </td>
- </tr>
- </table></td>
- </tr>
- <tr>
- <td>&nbsp;</td>
- </tr>
- </table></td>
- </tr>
-</table>
-
-</body>
-</html>