From 54b812ca7182afd2a1369baf42eabc44afe9d51b Mon Sep 17 00:00:00 2001 From: Paul Speed Date: Sun, 31 Mar 2019 20:33:32 -0400 Subject: [PATCH] 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. --- .../resources/joystick-mapping.properties | 226 +++++++++++------- 1 file changed, 137 insertions(+), 89 deletions(-) diff --git a/jme3-core/src/main/resources/joystick-mapping.properties b/jme3-core/src/main/resources/joystick-mapping.properties index dcef4f6a1..210a0ac54 100644 --- a/jme3-core/src/main/resources/joystick-mapping.properties +++ b/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