Browse Source

Standardized the XBox controller mappings to one XBOX set of entries
and remapped all .*xbox.* names to it. All of the specific XBOX remappings
have been commented out for now. They can be removed once it is confirmed
that old working functionality is not newly broken.

Paul Speed 6 years ago
parent
commit
54b812ca71
1 changed files with 137 additions and 89 deletions
  1. 137 89
      jme3-core/src/main/resources/joystick-mapping.properties

+ 137 - 89
jme3-core/src/main/resources/joystick-mapping.properties

@@ -21,12 +21,27 @@
 #   square   / 4  : 3
 #   L1            : 4
 #   R1            : 5
-#   L2            : 6
+#   L2            : 6   
 #   R2            : 7
 #   select        : 8
 #   start         : 9
 #   Lstick button : 10
 #   Rstick button : 11
+#
+#
+#   L2 and R2 are also often mapped to JoystickAxis.LEFT_TRIGGER
+#   and JoystickAxis.RIGHT_TRIGGER if the gamepad has pressure sensitive
+#   triggers.
+#
+#
+#   Additionally, joystick names can be "normalized" with a regex
+#   entry such as:
+#   XBOX.regex=(?i).*xbox.*
+#
+#   ...that remaps all strings with 'xbox' anywhere in them, case insensitive,
+#   to the string XBOX.  Joystick name remapping is only done if a specific
+#   mapping doesn't exist.  So it is possible to define a default mapping for
+#   all .*xbox.* joysticks but then specific mappings for some specific name.
 
 
 # Final Fantasy XIV mapping
@@ -35,51 +50,83 @@ FF-GP1.1=2
 FF-GP1.2=1
 FF-GP1.3=0
 
-# Xbox 360 Controller (Wireless)
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).0=2
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).1=1
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).2=3
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).3=0
-
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).6=8
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).7=9
+# Some standard regex name remappings
+XBOX.regex=(?i).*xbox.*
 
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).8=10
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).9=11
+# Cover all XBOX controllers that match the above regex
+XBOX.0=2
+XBOX.1=1
+XBOX.2=3
+XBOX.3=0
 
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).rx=z
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).ry=rz
+XBOX.6=8
+XBOX.7=9
 
-# requires custom code to support trigger buttons but this
-# keeps it from confusing the .rx mapping.
-Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).z=trigger
+XBOX.8=10
+XBOX.9=11
 
-# Xbox 360 Controller (copied from wireless version)
-Controller\ (XBOX\ 360\ For\ Windows).0=2
-Controller\ (XBOX\ 360\ For\ Windows).1=1
-Controller\ (XBOX\ 360\ For\ Windows).2=3
-Controller\ (XBOX\ 360\ For\ Windows).3=0
+# Maps the right joystick to our 'standard' way
+XBOX.rx=z
+XBOX.ry=rz
 
-Controller\ (XBOX\ 360\ For\ Windows).6=8
-Controller\ (XBOX\ 360\ For\ Windows).7=9
+# Maps the left/right triggers to our 'standard' way
+XBOX.z=rx
+XBOX.rz=ry
 
-Controller\ (XBOX\ 360\ For\ Windows).8=10
-Controller\ (XBOX\ 360\ For\ Windows).9=11
 
-Controller\ (XBOX\ 360\ For\ Windows).rx=z
-Controller\ (XBOX\ 360\ For\ Windows).ry=rz
+# Xbox 360 Controller (Wireless)
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).0=2
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).1=1
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).2=3
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).3=0
+#
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).6=8
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).7=9
+#
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).8=10
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).9=11
+#
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).rx=z
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).ry=rz
+#
+# requires custom code to support trigger buttons but this
+# keeps it from confusing the .rx mapping.
+#Controller\ (Xbox\ 360\ Wireless\ Receiver\ for\ Windows).z=trigger
+##### Above can be removed, now handled by the "XBOX" configuration.
 
+# Xbox 360 Controller (copied from wireless version)
+#Controller\ (XBOX\ 360\ For\ Windows).0=2
+#Controller\ (XBOX\ 360\ For\ Windows).1=1
+#Controller\ (XBOX\ 360\ For\ Windows).2=3
+#Controller\ (XBOX\ 360\ For\ Windows).3=0
+#
+#Controller\ (XBOX\ 360\ For\ Windows).6=8
+#Controller\ (XBOX\ 360\ For\ Windows).7=9
+#
+#Controller\ (XBOX\ 360\ For\ Windows).8=10
+#Controller\ (XBOX\ 360\ For\ Windows).9=11
+#
+#Controller\ (XBOX\ 360\ For\ Windows).rx=z
+#Controller\ (XBOX\ 360\ For\ Windows).ry=rz
+#
 # requires custom code to support trigger buttons but this
 # keeps it from confusing the .rx mapping.
-Controller\ (XBOX\ 360\ For\ Windows).z=trigger
-Controller\ (XBOX\ 360\ For\ Windows).rz=rtrigger
+#Controller\ (XBOX\ 360\ For\ Windows).z=trigger
+#Controller\ (XBOX\ 360\ For\ Windows).rz=rtrigger
+##### Above can be removed, now handled by the "XBOX" configuration.
 
 # XBOX 360 Controller connected to Android using
 # the USB dongle
-Xbox\ 360\ Wireless\ Receiver.AXIS_RX=z
-Xbox\ 360\ Wireless\ Receiver.AXIS_RY=rz
-Xbox\ 360\ Wireless\ Receiver.z=AXIS_RX
-Xbox\ 360\ Wireless\ Receiver.rz=AXIS_RY
+#Xbox\ 360\ Wireless\ Receiver.AXIS_RX=z
+#Xbox\ 360\ Wireless\ Receiver.AXIS_RY=rz
+#Xbox\ 360\ Wireless\ Receiver.z=AXIS_RX
+#Xbox\ 360\ Wireless\ Receiver.rz=AXIS_RY
+#
+# Note: even though the old format didn't define button remappings
+#       I'm going to assume that they should be remapped.  The thing
+#       is with the new regex XBOX remapping, the ones that aren't
+#       defined here would have fallen back to that one anyway.
+##### Above can be removed, now handled by the "XBOX" configuration.
 
 # Microsoft PC-joystick driver
 Microsoft\ PC-joystick\ driver.12=POV +Y
@@ -108,10 +155,8 @@ Gamepad\ F310\ (Controller).9=11
 Gamepad\ F310\ (Controller).rx=z
 Gamepad\ F310\ (Controller).ry=rz
 
-# requires custom code to support trigger buttons but this
-# keeps it from confusing the .rx mapping.
-Gamepad\ F310\ (Controller).z=trigger
-Gamepad\ F310\ (Controller).rz=rtrigger
+Gamepad\ F310\ (Controller).z=rx
+Gamepad\ F310\ (Controller).rz=ry
 
 # Logitech F310 gamepad with dip switch XInput for Windows 10
 Controller\ (Gamepad\ F310).0=2
@@ -128,70 +173,73 @@ Controller\ (Gamepad\ F310).9=11
 Controller\ (Gamepad\ F310).rx=z
 Controller\ (Gamepad\ F310).ry=rz
 
-# requires custom code to support trigger buttons but this
-# keeps it from confusing the .rx mapping.
-Controller\ (Gamepad\ F310).z=trigger
-Controller\ (Gamepad\ F310).rz=rtrigger
+Controller\ (Gamepad\ F310).z=rx
+Controller\ (Gamepad\ F310).rz=ry
 
 # Alternate version of the XBOX 360 controller
-XBOX\ 360\ For\ Windows\ (Controller).0=2
-XBOX\ 360\ For\ Windows\ (Controller).1=1
-XBOX\ 360\ For\ Windows\ (Controller).2=3
-XBOX\ 360\ For\ Windows\ (Controller).3=0
-
-XBOX\ 360\ For\ Windows\ (Controller).6=8
-XBOX\ 360\ For\ Windows\ (Controller).7=9
-
-XBOX\ 360\ For\ Windows\ (Controller).8=10
-XBOX\ 360\ For\ Windows\ (Controller).9=11
-
-XBOX\ 360\ For\ Windows\ (Controller).rx=z
-XBOX\ 360\ For\ Windows\ (Controller).ry=rz
-
+#XBOX\ 360\ For\ Windows\ (Controller).0=2
+#XBOX\ 360\ For\ Windows\ (Controller).1=1
+#XBOX\ 360\ For\ Windows\ (Controller).2=3
+#XBOX\ 360\ For\ Windows\ (Controller).3=0
+#
+#XBOX\ 360\ For\ Windows\ (Controller).6=8
+#XBOX\ 360\ For\ Windows\ (Controller).7=9
+#
+#XBOX\ 360\ For\ Windows\ (Controller).8=10
+#XBOX\ 360\ For\ Windows\ (Controller).9=11
+#
+#XBOX\ 360\ For\ Windows\ (Controller).rx=z
+#XBOX\ 360\ For\ Windows\ (Controller).ry=rz
+#
 # requires custom code to support trigger buttons but this
 # keeps it from confusing the .rx mapping.
-XBOX\ 360\ For\ Windows\ (Controller).z=trigger
-XBOX\ 360\ For\ Windows\ (Controller).rz=rtrigger
+#XBOX\ 360\ For\ Windows\ (Controller).z=trigger
+#XBOX\ 360\ For\ Windows\ (Controller).rz=rtrigger
+##### Above can be removed, now handled by the "XBOX" configuration.
 
 #Xbox One S controller
-Microsoft\ X-Box\ One\ S\ pad.0=2
-Microsoft\ X-Box\ One\ S\ pad.1=1
-Microsoft\ X-Box\ One\ S\ pad.2=3
-Microsoft\ X-Box\ One\ S\ pad.3=0
-
-Microsoft\ X-Box\ One\ S\ pad.6=8
-Microsoft\ X-Box\ One\ S\ pad.7=9
-
-Microsoft\ X-Box\ One\ S\ pad.8=10
-Microsoft\ X-Box\ One\ S\ pad.9=11
-
-Microsoft\ X-Box\ One\ S\ pad.rx=z
-Microsoft\ X-Box\ One\ S\ pad.ry=rz
-
+#Microsoft\ X-Box\ One\ S\ pad.0=2
+#Microsoft\ X-Box\ One\ S\ pad.1=1
+#Microsoft\ X-Box\ One\ S\ pad.2=3
+#Microsoft\ X-Box\ One\ S\ pad.3=0
+#
+#Microsoft\ X-Box\ One\ S\ pad.6=8
+#Microsoft\ X-Box\ One\ S\ pad.7=9
+#
+#Microsoft\ X-Box\ One\ S\ pad.8=10
+#Microsoft\ X-Box\ One\ S\ pad.9=11
+#
+#Microsoft\ X-Box\ One\ S\ pad.rx=z
+#Microsoft\ X-Box\ One\ S\ pad.ry=rz
+#
 # requires custom code to support trigger buttons but this
 # keeps it from confusing the .rx mapping.
-Microsoft\ X-Box\ One\ S\ pad.z=trigger
-Microsoft\ X-Box\ One\ S\ pad.rz=rtrigger
+#Microsoft\ X-Box\ One\ S\ pad.z=trigger
+#Microsoft\ X-Box\ One\ S\ pad.rz=rtrigger
+##### Above can be removed, now handled by the "XBOX" configuration.
 
 # XBONE S pad connected via Bluetooth
-Xbox\ Wireless\ Controller.0=2
-Xbox\ Wireless\ Controller.1=1
-Xbox\ Wireless\ Controller.2=3
-Xbox\ Wireless\ Controller.3=0
-
-Xbox\ Wireless\ Controller.6=8
-Xbox\ Wireless\ Controller.7=9
-
-Xbox\ Wireless\ Controller.8=10
-Xbox\ Wireless\ Controller.9=11
-
-Xbox\ Wireless\ Controller.rx=z
-Xbox\ Wireless\ Controller.ry=rz
-
+#Xbox\ Wireless\ Controller.0=2
+#Xbox\ Wireless\ Controller.1=1
+#Xbox\ Wireless\ Controller.2=3
+#Xbox\ Wireless\ Controller.3=0
+#
+#Xbox\ Wireless\ Controller.6=8
+#Xbox\ Wireless\ Controller.7=9
+#
+#Xbox\ Wireless\ Controller.8=10
+#Xbox\ Wireless\ Controller.9=11
+#
+#Xbox\ Wireless\ Controller.rx=z
+#Xbox\ Wireless\ Controller.ry=rz
+#
 # requires custom code to support trigger buttons but this
 # keeps it from confusing the .rx mapping.
-Xbox\ Wireless\ Controller.z=trigger
-Xbox\ Wireless\ Controller.rz=rtrigger
+#Xbox\ Wireless\ Controller.z=trigger
+#Xbox\ Wireless\ Controller.rz=rtrigger
+##### Above can be removed, now handled by the "XBOX" configuration.
+
+
 
 # from : Freebox controller as "DragonRise Inc.   Generic   USB  Joystick"
 DragonRise\ Inc.\ \ \ Generic\ \ \ USB\ \ Joystick.x=rx