Author Topic: Mapping a New Gamepad  (Read 1042 times)


  • Pixelscopic
  • Prism Seer
  • *
  • Posts: 10,312
  • Deep in the Depths
    • Offline
    • View Profile
Mapping a New Gamepad
« on: February 17, 2014, 10:25:00 AM »
If you have a Gamepad that do not currently have mapped and would like for us to add it to our list so that it works automagically out of the box with Delver's Drop, we would love your help! NOTE: This is just for Gamepads that we don't already have mapped - not for custom mapping of an existing Gamepad. If you simply want to change the control scheme of a Gamepad we have mapped, please go to this thread.

Here are the steps to do this. By doing this, we will be able to have your Gamepad implicitly supported in the next build.

1. Builds from v0.6.2 onwards have a built in gamepad test state you can use to see gamepad values. To be able to access this state, you must change your settings file. Locate the settings file ("assets/settings/settings.xml") and open it with a text editor like notepad++ or similar.

2. Comment out the first state entry in the file which will look like "<State name="state_splash" .... />" -- to comment out in XML, add "<!--" in front of the entry and "-->" at the end of the entry (without the quotes.)

3. Uncomment out the next state entry ("<State name="state_gamepad" .... />") if it is commented out, otherwise leave it as is.

4. Plug in your gamepad.

5. Launch the game. The game should then boot up to this screen.

6. If the Product ID and Vendor ID are both -1, then the Gamepad is either not connected or the game can not find the device. Reconnect the Gamepad and go back to step 5. If you are never able to get the PID and VID to show valid values, please post here with details about your gamepad.

7. While the game is running the Gamepad test, open up this document. It is our publicly viewable Gamepad mapping document.

8. To make a new entry, find the appropriate SECTION for your OS and select the last row in that SECTION. Right click and select "insert 1 below" to add a new row to the SECTION for your Gamepad.

9. In the first column, enter the Manufacturer's name. In the second column, enter the controller's name. In the third column, create a unique ID for this controller - look at the other entries for an idea on the proper formatting.

10. Enter your OS (windows, osx, or linux) in the OS column and "gamepad" in the Input Type column. You can add some Notes as well if you like.

11. Under Vendor ID and Product ID, enter the values the Gamepad test reports.

12. Now for each column in the spreadsheet enter the corresponding value that the Gamepad test reports. If Gamepad test does not report any discernible value for an entry, delete the contents of the entry so it is blank in the sheet. You ONLY need to enter values that are black - anything that is magenta/pink is a formula and is automatically created using data you provide, so don't modify any text in magenta.

13. That's it! Now the next time we export the controller mappings, your Gamepad will be included by default!

Understanding the values that Gamepad test reports.

1. Buttons - Whenever Gamepad test detects a button is down, it will report a number. To enter this in the sheet, you simply prepend b_ to the number, e.g. b_1, b_10, b_25, etc.

2. Axis - A Gamepad axis is reported as a value between -1.0 and +1.0 -- due to hardware variability and analog stick responsiveness in general, you will probably see the numbers "jitter" or multiple axes reporting change. This is normal - what you are looking for is the axis that is reporting the major change -- the one that is getting closest to -1.0 or +1.0 when you move the analog stick or axis. To enter an axis into the sheet, simply prepend a_ to the number, e.g. a_0, a_1, etc. As a note, an analog stick will consist of two different axes - an X and a Y, and a trigger that reads as an axis, will just be a single axis.

3. POV - On some Gamepads, DPADs are implemented as a Hat switch. If this is the case for you, when you press a DPAD direction the POV value in Gamepad test will report the angle in degrees if your input. In this case, simply enter "pov" for all DPAD button entries (and leave DPAD axis X and DPAD axis Y blank.)
« Last Edit: February 17, 2014, 10:27:19 AM by Coby »

Programmer for Delver's Drop


* Permissions

  • You can't post new topics.
  • You can't post replies.
  • You can't post attachments.
  • You can't modify your posts.