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