GLFW Controller Database

[h1]GLFW Controller Database[/h1]
There are a lot of different controller layouts, and even controllers with similar layouts give out different button and axis codes depending on the platform. This is an attempt to create a collection of controller mappings which work with the latest GLFW 3.3 which is used in LWJGL 3.0.1 SNAPSHOT.

All the submitted mappings will be added to this repository at https://github.com/sriharshachilakapati/GLFW-Controller-Database

[h1]How to Map controllers[/h1]
GLFW returns the data as arrays (ByteBuffer and FloatBuffer) in LWJGL, and the button information is found in those arrays. Instead of manually finding the index of the input, I wrote a visual tool which allows to find the indices easily.

Get it at http://silenceengine.goharsha.com/downloads/ControllerTest.jar

Though the tool is made with SilenceEngine, it uses GLFW for input. SilenceEngine is only used to render the info to the screen. The controls are as follows. You can type 0 to 9 to switch between the first 10 connected controllers. You can press + and - keys to look for more.

If your controller is detected as ideal, then it means that there is a mapping already provided by a contributor and is present in the database repo. If not please map it yourself and contribute the details.

[h1]What details do we need?[/h1]
The tool doesn’t send any information automatically, it is just for convenience. You have to provide the following details so we can add it to the database.

[]The Operating System that you are using
[
]Architecture of your Operating system
[]The real name, make and model of your controller
[
]What is it identified as by the tool
[]The number of buttons
[
]The number of axes
[]Which button is at which index
[
]Which axis is at which index
[*]Any other additional information you wish to provide

Thanks in advance for being part of the database construction. All the mappings will be changed to a JSON format, and stored as JSON files in the repository.

Note: This requires Java 8, and mac users need to run it on the first thread. java -XstartOnFirstThread -jar ControllerTest.jar. On other platforms, you can run it with java -jar ControllerTest.jar. All the natives are packed into the JAR.