Friday, November 29, 2013

Xbox 360 Controller and Steam Games (Valve's Source Engine Games)

Some may yell at me for wanting to play PC games with a controller. They all say, "PC games are meant to be played with a keyboard and mouse." Well I grew up playing console games which always had a controller. It's not due to the lack of trying but when I play with keyboard and mouse my movement is less than adequate and my fingers don't have the buttons memorized yet so I end up dieing because I didn't move away from an enemy quick enough. W, S, D, and A are the buttons normally used in PC FPS games for moving forward, backward, and strafing side to side. The mouse is used for where your eyes are looking and or where your gun shoots. So until I get better with a keyboard and mouse I'd like to play my PC games with a controller at times.

I was happy to see that Serious Sam 3 BFE (a first person shooter) had controller support. Most Steam games will denote whether a game has controller support or not. Sometimes it may say "Partial Controller Support". I am not certain what that means but some controller support is better than none in my opinion. I took a chance and bought the game. When I fired it up my After Glow Xbox 360 Controller was supported immediately upon turning on the game. This is with a default Ubuntu 12.04.3 installation, it uses the xpad module (driver) and I didn't have to install the xboxdrv module (driver) which is a userspace driver. There are some advantages to using the xboxdrv module but I won't cover those in this post.

Other games I quickly found the same controller did NOT work in, notably all the Source Engine Games by Valve. The ones I tried were Team Fortress 2, Portal, and Left 4 Dead 2 the controller did not work. I tried everything,  from opening the console in game and entering "exce 360controller" and "exec 360controllerlinux" to allowing world readable permissions on the /dev/input/event11 device node which is what the controller was plugged into but nothing was working. Well after many hours of googling and trial and error I found what finally solved the controller issue for Valve's Source Engine Games. The original solution has to be credited back to a google post just to give credit where credit is due.

First open the Steam Client and you'll notice that there is a place to click to activate Big Picture Mode, it's located on the upper right side of your Steam Client.
Click that and it will activate Big Picture Mode which is basically Steam running in fullscreen. Use your mouse and click on the little gear symbol in the upper right corner which is where all the settings are. Now click on Controller. Next you'll see the following picture and hopefully it states that your controller is detected. If not, sorry I can't help any further, you'll have to investigate why Steam can't detect your controller.
Click on edit controls and you'll be taken to this screen. 
You just go down the list, Steam shows the button on the screen in green and you click that corresponding button on your wire connected Xbox 360 controller. I am not sure whether this works with a wireless controller due to the Microsoft's wireless technology of the controller, you'll definitely need a wireless dongle from somewhere if they even make them. Once you have mapped each button then click save, you can choose to give it a name or overwrite the existing name that was there. Now you are all done.

You can now use your controller within Team Fortress 2, Portal, and Left 4 Dead 2. One thing to note was that I did have to increase the sensitivity within TF2 because the movements were really slow but other than that I am very pleased I got the controller working.

-Ubu out

No comments: