Skip to content

Instantly share code, notes, and snippets.

@martynjarvis
Created October 6, 2015 22:07
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save martynjarvis/d10017262a5e39e46d48 to your computer and use it in GitHub Desktop.
Save martynjarvis/d10017262a5e39e46d48 to your computer and use it in GitHub Desktop.
Fixing xbox360 controller in Rocket League (wine)

Problem

Xbox 360 controller doesn't work with rocket league in wine.

Solution

Grab xbox360cemu.v.3.0.rar from 'somewhere' and unrar

unrar x xbox360cemu.v.3.0.rar 

Move contents to rocketleague/Binaries/Win32/ dir (for me everything is installed in the steam32_prefix wine prefix)

mv xbox360cemu.v.3.0/* ~/.steam32_prefix/drive_c/Program\ Files/Steam/steamapps/common/rocketleague/Binaries/Win32/

Edit contents of xbox360cemu.ini:

[Options]
UseAutoPad=0                    #use 0 to 1; automatically make other PAD to PAD1 after detecting movement
UseInitBeep=1                   #use 0 to 1; default 1; beep on init

[PAD1]
Index=0                         #controller index in game controllers list; 0 is first; -1 to ignore this pad
Left Analog X=1                 #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog Y=-2                #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog X=4                #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog Y=-5               #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog X Linear=0          #-100 to +100  raise this number to increase sensitivity near center
Left Analog Y Linear=0          #-100 to +100  raise this number to increase sensitivity near center
Right Analog X Linear=0         #-100 to +100  raise this number to increase sensitivity near center
Right Analog Y Linear=0         #-100 to +100  raise this number to increase sensitivity near center
Left Analog X+ Button=0         #button id; 0 to disable
Left Analog X- Button=0         #button id; 0 to disable
Left Analog Y+ Button=0         #button id; 0 to disable
Left Analog Y- Button=0         #button id; 0 to disable
Right Analog X+ Button=0        #button id; 0 to disable
Right Analog X- Button=0        #button id; 0 to disable
Right Analog Y+ Button=0        #button id; 0 to disable
Right Analog Y- Button=0        #button id; 0 to disable
D-pad POV=1                     #POV index; 0 to disable
D-pad Up=12                     #button id; 0 to disable
D-pad Down=13                   #button id; 0 to disable
D-pad Left=14                   #button id; 0 to disable
D-pad Right=15                  #button id; 0 to disable
A=1                             #button id; 0 to disable
B=2                             #button id; 0 to disable
X=3                             #button id; 0 to disable
Y=4                             #button id; 0 to disable
Left Shoulder=5                 #button id; 0 to disable
Right Shoulder=6                #button id; 0 to disable
Back=10                         #button id; 0 to disable
Start=9                 #button id; 0 to disable
Left Thumb=7                    #button id; 0 to disable
Right Thumb=8                   #button id; 0 to disable
Left Trigger=a3                 #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
Right Trigger=a6                        #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
UseForceFeedback=0              #use 0 to 1; default 0
ForceLargeGain=10000            #use 0 to 10000; default 10000; effect intensity
ForceLargePeriod=120000         #use 0 to 200000; default 120000; effect frequency; wheel only
ForceLargeFadeTime=10           #use 0 to 100; default 10
ForceLargeFadeIn=1              #use 0 to 1; default 1
ForceLargeFadeOut=1             #use 0 to 1; default 1
ForceLargeStartMag=2000         #use 0 to 10000; default 2000; effect will begin with this value
ForceSmallGain=10000            #use 0 to 10000; default 10000; effect intensity
ForceSmallPeriod=30000          #use 0 to 200000; default 30000; effect frequency; wheel only
ForceSmallFadeTime=10           #use 0 to 100 default 10
ForceSmallFadeIn=1              #use 0 to 1; default 1
ForceSmallFadeOut=1             #use 0 to 1; default 1
ForceSmallStartMag=2000         #use 0 to 10000; default 2000; effect will begin with this value
WheelInertiaGain=2500           #use 0 to 10000; default 2500; effect intensity; wheel only
WheelSpringGain=5000            #use 0 to 10000; default 5000; effect intensity; wheel only
SteeringWheel=0                 #use 0 to 1; enable for all wheel effects
@michalxo
Copy link

michalxo commented Jun 29, 2016

Hi!
Any idea how to set this up with another controller? I have here PS4 dualshock and xbox One.
I can make them work in RL separately. They do not work together in-game.
Difference makes "Index=0" Index=1..

Should I define somehow in this property file PS4? Works out of the box in both native & steam through wine. (with playonlinux facade).
Thank you

Edit:
I have added there another section [PAD2](copy & paste of PAD1, changed index and it works).
Although, it seems to me that PS4 in-game has some problems with dead-zones(?). I can't change assigned buttons. RS/LS always takes the button. :(

@michalxo
Copy link

michalxo commented Jun 29, 2016

Somebody might find it useful. Following settings works the best for me for Xbox One (wireless, but using wire) and PS4 Dualshock 4 controller.

[Options]

UseAutoPad=0            #use 0 to 1; automatically make other PAD to PAD1 after detecting movement
UseInitBeep=1           #use 0 to 1; default 1; beep on init

[PAD1]
# xbox one
Index=0                         #controller index in game controllers list; 0 is first; -1 to ignore this pad
Left Analog X=1                 #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog Y=-2                #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog X=4                #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog Y=-5               #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog X Linear=0          #-100 to +100  raise this number to increase sensitivity near center
Left Analog Y Linear=0          #-100 to +100  raise this number to increase sensitivity near center
Right Analog X Linear=0         #-100 to +100  raise this number to increase sensitivity near center
Right Analog Y Linear=0         #-100 to +100  raise this number to increase sensitivity near center
Left Analog X+ Button=0         #button id; 0 to disable
Left Analog X- Button=0         #button id; 0 to disable
Left Analog Y+ Button=0         #button id; 0 to disable
Left Analog Y- Button=0         #button id; 0 to disable
Right Analog X+ Button=0        #button id; 0 to disable
Right Analog X- Button=0        #button id; 0 to disable
Right Analog Y+ Button=0        #button id; 0 to disable
Right Analog Y- Button=0        #button id; 0 to disable
D-pad POV=1                     #POV index; 0 to disable
D-pad Up=12                     #button id; 0 to disable
D-pad Down=13                   #button id; 0 to disable
D-pad Left=14                   #button id; 0 to disable
D-pad Right=15                  #button id; 0 to disable
A=1                             #button id; 0 to disable
B=2                             #button id; 0 to disable
X=3                             #button id; 0 to disable
Y=4                             #button id; 0 to disable
Left Shoulder=5                 #button id; 0 to disable
Right Shoulder=6                #button id; 0 to disable
Back=7                          #button id; 0 to disable
Start=8                         #button id; 0 to disable
Left Thumb=10                   #button id; 0 to disable
Right Thumb=11                  #button id; 0 to disable
Left Trigger=a3                 #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
Right Trigger=a6                #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
UseForceFeedback=0              #use 0 to 1; default 0
ForceLargeGain=10000            #use 0 to 10000; default 10000; effect intensity
ForceLargePeriod=120000         #use 0 to 200000; default 120000; effect frequency; wheel only
ForceLargeFadeTime=10           #use 0 to 100; default 10
ForceLargeFadeIn=1              #use 0 to 1; default 1
ForceLargeFadeOut=1             #use 0 to 1; default 1
ForceLargeStartMag=2000         #use 0 to 10000; default 2000; effect will begin with this value
ForceSmallGain=10000            #use 0 to 10000; default 10000; effect intensity
ForceSmallPeriod=30000          #use 0 to 200000; default 30000; effect frequency; wheel only
ForceSmallFadeTime=10           #use 0 to 100 default 10
ForceSmallFadeIn=1              #use 0 to 1; default 1
ForceSmallFadeOut=1             #use 0 to 1; default 1
ForceSmallStartMag=2000         #use 0 to 10000; default 2000; effect will begin with this value
WheelInertiaGain=2500           #use 0 to 10000; default 2500; effect intensity; wheel only
WheelSpringGain=5000            #use 0 to 10000; default 5000; effect intensity; wheel only
SteeringWheel=0                 #use 0 to 1; enable for all wheel effects

[PAD2]
# PS4
Index=1                         #controller index in game controllers list; 0 is first; -1 to ignore this pad
Left Analog X=1                 #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Left Analog Y=-2                #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog X=3                #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
Right Analog Y=-6               #axis index; use - to invert; precede with 's' for a slider eg; s-1; 7 to disable
D-pad POV=1                     #POV index; 0 to disable
D-pad Up=0                      #button id; 0 to disable
D-pad Down=0                    #button id; 0 to disable
D-pad Left=0                    #button id; 0 to disable
D-pad Right=0                   #button id; 0 to disable
A=2                             #button id; 0 to disable
B=3                             #button id; 0 to disable
X=1                             #button id; 0 to disable
Y=4                             #button id; 0 to disable
Left Shoulder=5                 #button id; 0 to disable
Right Shoulder=6                #button id; 0 to disable
Back=9                          #button id; 0 to disable
Start=10                        #button id; 0 to disable
Left Thumb=11                   #button id; 0 to disable
Right Thumb=12                  #button id; 0 to disable
Left Trigger=a4                 #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
Right Trigger=a5                #button id; precede with 'a' for an axis; eg; a-6; for a slider precede with 's' eg; s-1
UseForceFeedback=0              #use 0 to 1; default 0
ForceLargeGain=10000            #use 0 to 10000; default 10000; effect intensity
ForceLargePeriod=120000         #use 0 to 200000; default 120000; effect frequency; wheel only
ForceLargeFadeTime=10           #use 0 to 100; default 10
ForceLargeFadeIn=1              #use 0 to 1; default 1
ForceLargeFadeOut=1             #use 0 to 1; default 1
ForceLargeStartMag=2000         #use 0 to 10000; default 2000; effect will begin with this value
ForceSmallGain=10000            #use 0 to 10000; default 10000; effect intensity
ForceSmallPeriod=30000          #use 0 to 200000; default 30000; effect frequency; wheel only
ForceSmallFadeTime=10           #use 0 to 100 default 10
ForceSmallFadeIn=1              #use 0 to 1; default 1
ForceSmallFadeOut=1             #use 0 to 1; default 1
ForceSmallStartMag=2000         #use 0 to 10000; default 2000; effect will begin with this value
WheelInertiaGain=2500           #use 0 to 10000; default 2500; effect intensity; wheel only
WheelSpringGain=5000            #use 0 to 10000; default 5000; effect intensity; wheel only
SteeringWheel=0                 #use 0 to 1; enable for all wheel effects```

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment