I FOUND A FIX FOR 360 Controller Analog sticks (Half-life 2 Deathmatch)
I have spent many days to weeks trying to find a fix for this and after much manipulation with codes...I finally found a fix. First I would ask that you DO NOT FOLLOW my steps until you have tried all the basic steps such as:

1.) trying all exec inputs for joysticks for your controller into the dev console...example (exec 360 controller)

If you put in these commands and it states "can't run config" or 360 controller isn't detected or whatever the message is...sorry I forgot, then you are missing the cfg file for it or your drivers aren't working for your controller.

If you have followed all these steps and even created a cfg file for your controller and copied the data then you're close to fixing your problem.

I'll go over the entire process I did in order to fix it so I may repeat steps you've already done.

First go to your steam folder and find the cfg folder: C:\Program Files (x86)\Steam\SteamApps\common\Half-Life 2 Deathmatch\hl2mp

This may not work for everyone so basically just go to program files, steam, find steamapps, the game your are using this for (in my case half life which is in common), then hl2mp. I am unsure of where the cfg file is for other games and HAVE ONLY TESTED VIA HALF LIFE.

Now open the cfg folder and look for a file that may say "360controller" "360controller.cfg" or "joystick" "joystick.cfg" or anything that may be close for settings dealing with a gamepad. Now open that up and skip the next step but follow afterwards (if you see a blank paper icon, choose notepad as the program to open it). IF YOU DON"T SEE this file then follow the next step.

FOR THOSE WITH NO 360controller.cfg or any file:

Open up notepad and copy and paste the following: (These are just the basics, I'll post hl2 preset below but you can change this at anytime for the buttons that do work for your controller.....this problem is only for the analogs which we will be fixing soon!!) Also don't copy anything after these lines "\\" as they are just information as to what things mean

joy_name "Xbox360 controller" \\ shouldn't matter but only what you "save as" is important
joy_advanced 1
joy_advaxisx 3
joy_advaxisy 1
joy_advaxisz 0
joy_advaxisr 2
joy_advaxisu 4
joy_advaxisv 0
joy_forwardsensitivity -1
joy_sidesensitivity 1
joy_pitchsensitivity 1.0
joy_yawsensitivity -1.25
joy_autoaimdampenrange 0.85
joy_autoaimdampen 0.5
joy_lowend 0.65
joy_lowmap 0.15
joy_accelscale 1.4
joy_response_move 5
joy_response_look 1
joyadvancedupdate
crosshair 0
hud_draw_fixed_reticle 1
+jlook

or some preset hl2dm controls with binds already

bind "Z AXIS POS" "+attack2"
bind "Z AXIS NEG" "+attack"

bind "JOY1" "+jump"
bind "JOY2" "+reload"
bind "JOY3" "+use"
bind "JOY4" "impulse 100"
bind "JOY5" "+speed"
bind "JOY6" "phys_swap"
bind "JOY7" "impulse 50"
bind "JOY10" "+zoom"
bind "JOY9" "toggle_duck"
bind "JOY8" "pause"
bind "POV_UP" "slot1"
bind "POV_RIGHT" "slot2"
bind "POV_DOWN" "slot3"
bind "POV_LEFT" "slot4"
joystick 1
sk_autoaim_mode 2
hud_fastswitch 2
player_limit_jump_speed 0

Here is where I got these from: https://support.steampowered.com/kb_article.php?ref=1445-TKCN-0831

After you have this in notepad, save the file as the controller you play to use or just "joystick.cfg".....to make it easy...if you are using a 360 controller, save as "360controller.cfg

PLEASE MAKE SURE TO SAVE AS ".cfg." or this will not work and you will be saving this file in that cfg folder we opened earlier. Go back to the folder and make sure that it is there. Now the "exec 360controller" command should work but you will get errors saying a few AXIS are unmapped or unknown...this IS WHERE OUR PROBLEM IS.

The AXIS they refer to are set for the right analog in looking around. We have to set these values in order to fix this. As you see....the other AXIS has values and each number represents what action it does. SO this is where we need to apply a fix:

joy_advaxisx 3
joy_advaxisy 1
joy_advaxisz 0
joy_advaxisr 2
joy_advaxisu 4
joy_advaxisv 0

Each joyadvaxis variable can be set to the following controls:
0 = Axis not used
1 = Axis is for forward and backward movement
2 = Axis is for looking up and down
3 = Axis is for side to side movement
4 = Axis is for turning left and right

This information is right from steam here: https://support.steampowered.com/kb_article.php?ref=4840-UMCB-3834

As you see, the 0 means that it is not used but we don't need the z or v axis so why isn't it working? Well we have the x axis which is the LEFT analog stick moving left to right set to 3 which is correct. The Y axis which is moving the LEFT analog stick up and down set to 1 which is correct and the Z isn't needed (think of minecraft cords)

Now the RIGHT analog stick deals with the other 3 AXIS and from looking at the variables it should be working but there's something I came across. These variables have a stopping position which make them cancel each other into not working like the variable states. When we move side to side for example....we only need to lean the analog left but this moves the characters body as a whole in a stale motion. Looking up and down is a variable in which our character should be motionless but instead only move their head so this can't be the EXACT same as the previous variables. Now to fix this, we must make this variable be able to go around and around none stop aka relative axis vs an absolute axis. To do this we can add 16 to any variable value and this will give us that FIX. Read here about it: https://support.steampowered.com/kb_article.php?ref=4840-UMCB-3834

So we need to add 16 to joy_advaxisu 4 and joy_advaxisr 2

joy_advaxisx 3
joy_advaxisy 1
joy_advaxisz 0
joy_advaxisr 2 \\ is the x axis of the RIGHT analog
joy_advaxisu 4 \\ is the y axis of the RIGHT analog
joy_advaxisv 0

So your code for the axis should be:

joy_advanced 1
joy_advaxisx 3
joy_advaxisy 1
joy_advaxisz 0
joy_advaxisr 18
joy_advaxisu 20
joy_advaxisv 0

Now save the file and replace the old one and PLEASE MAKE SURE IT'S .cfg

Now go back to half life and open the dev console and input "exec "name of your cfg" " so since I named mine "360controller" I would type "exec 360controller"

After that, you should see the console tell you what the AXIS are set too and which aren't set. Now you will still not be able to SET the analog in the control settings but when you go into a game, it will work. There's more tips to make sure this is a permanent fix by making an autoconfig file to ALWAYS run the exec 360controller so look that up if you need it.

So hopefully this will help those of you waiting months or forever for a fix. This will work for both usb controllers and wireless.
Last edited by [SLEE] Moist Elax; Jul 30, 2014 @ 12:26am
< >
Showing 1-1 of 1 comments
stevil935 Nov 12, 2014 @ 4:55pm 
doesn't seem to fix my problem. i can use the controller just fine, but i can't look up or down. it also starts off with the left and right thumbsticks switched which is weird, and i have to bind all the buttons myself. i don't know why, but it's weird. not being able to look up and down though just kills the game.

EDIT: fixed it. just copied all the config files from the cfg folder in half life 2 into the half life 2 deathmatch cfg folder, hitting yes to replacing the files when the dialogue box pops up. fixed it for both this game and half life 1 source deathmatch.
Last edited by stevil935; Nov 12, 2014 @ 5:42pm
< >
Showing 1-1 of 1 comments
Per page: 1530 50

Date Posted: Jul 30, 2014 @ 12:15am
Posts: 1