From b6cbff2e975fb8af9a6a94cb320f1ec9f8e469fa Mon Sep 17 00:00:00 2001 From: First Last Date: Sun, 12 Aug 2007 20:09:15 +0000 Subject: This commit was manufactured by cvs2svn to create tag 'pre-issue-36'. git-svn-id: file:///home/sven/projects/JOGL/git-svn/svn-server-sync/jinput/tags/pre-issue-36@201 e343933a-64c8-49c5-92b1-88f2ce3e89e8 --- CHANGES | 31 ------ README.txt | 92 ----------------- build.xml | 234 -------------------------------------------- webstart/build.xml | 40 -------- webstart/jinput-wintab.jnlp | 35 ------- webstart/jinput.jnlp | 33 ------- www/index.html | 127 ------------------------ 7 files changed, 592 deletions(-) delete mode 100644 CHANGES delete mode 100644 README.txt delete mode 100644 build.xml delete mode 100644 webstart/build.xml delete mode 100644 webstart/jinput-wintab.jnlp delete mode 100644 webstart/jinput.jnlp delete mode 100644 www/index.html 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ 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 @@ - - - - JInput webstart demo - New Dawn Software - - The readtest demo from jinput as a webstartable demo - JInput JWS demo - - - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - - - JInput webstart demo - New Dawn Software - - The readtest demo from jinput as a webstartable demo - JInput JWS demo - - - - - - - - - - - - - - - - - - - - - - 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 @@ - - -
-
- -
Welcome to the Java Input API Project!
- - - - - -
- - - - - - - - - -
- - - - - - -
Overview
-

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.

-

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.

-

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. -

-
- - - - - - - -
Project - Status

The intial implementation - of the Java Input API is available for download from - CVS. - This release contains a plug-in for Win32i, Linux, and OSX. Builds are available in the Documents and Files area. -

-
- - - - - - -
Getting - Started

This project has been built - in the following environment:

- -
-

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 - jutils.dev.java.net -

-

- If you wish to become involved in the JInput project, please stop by our forums and introduce yourself. -

-
-
-

 

- - - - - - - -
- - - - - - - - - - - -
Useful - Links
- Getting started -
- Latest distribution -
- -JInput forums
- -Developer Agreement -
 
- - - -- cgit v1.2.3