Use an Xbox 360 Controller on OS X (wired + Wireless)

535,459

201

41

Posted

Introduction: Use an Xbox 360 Controller on OS X (wired + Wireless)

I picked up Borderlands 2 for OS X in the recent Steam sale because friends of mine would NOT shut up about the game. So I fired it up only to find out that I needed to use a keyboard (lots of keys) + a mouse (carpal tunnel = no) to play. That sucks. I was hoping that I could use a borrowed Xbox 360 controller to play through, but Aspyr doesn't support that. Grr.

So after some research I found a way to use both a wireless Xbox 360 controller as well as a wired third-party Xbox 360 controller. This worked for Borderlands 2 and other games I've tried so far. The cost for this is $5 for the wired controller and $20 for the wireless. Here are the two setups that worked for me.

Step 1: Wireless Xbox 360 Controller

To connect the wireless 360 Controller to my Macbook Pro I got this wireless gaming receiver for $15 (incl. tax) on Amazon.

The computer still wasn't recognizing it, so I installed Tattiebogle 0.11 which you can download here. Follow the instructions for installing and then open up the "Xbox 360 Controllers" icon in your System Preferences.

Link up your controller to the receiver and you should now be able to see reactions to you messing around with buttons and analogs on the 360 controller.

This is great, but many games will still not recognize your controller. So now you need to map your buttons to keyboard commands. To do that you will need to get Joystick Mapper in the App Store.

Once you're in Joystick Mapper you can assign all of the buttons and analogs to keyboard and mouse controls. This will take some trial and error to find out what works best for you, but it does work.

Step 2: Wired (third-party) 360 Controller

There are many many different 360 controllers out there. Fortunately, there are people out there who can help you out. Once you have Tattiebogle installed you can add support for more controllers.

After installing Tattiebogle like described in the last step for the wireless controller, download this link and run the command script to update Tattiebogle. This comes from Shoryuken forum member EddDeDuck. The forum post I found this is here.

(Note: found out the link for the command script is now broken. File attached to this step)

You will also need the Joystick Mapper app from the App Store to make this work.

OK, that's it. Have fun.

Step 3: FAQ

Why play games on a Mac?

It's what I have. For my work, the Mac works really well. If I was gonna be serious about games, I'd build a desktop machine. Fortunately, the Mac gets a few games thrown its way as well.

Why are you playing on windowed mode?

I'm not. I play on full-screen. It's windowed here to emphasize that it's OS X and not Boot Camp or Parallels.

Why not use keyboard + mouse?

I've had lots of problems with mice in the past with some carpal tunnel issues. They hurt my wrists after using them intensely for 10+ years.

2 People Made This Project!

Recommendations

  • Microcontroller Contest

    Microcontroller Contest
  • Science of Cooking

    Science of Cooking
  • Pocket-Sized Contest

    Pocket-Sized Contest
user

We have a be nice policy.
Please be positive and constructive.

Tips

Questions

35 Comments

Will this work on my xbox one controller or will i have to do something different

This worked for me in YOSEMITE :

  1. Install the driver from above as normal
  2. Open Terminal and type the following command:

sudo nvram boot-args="kext-dev-mode=1"

  1. Reboot your computer. When it's back up, open terminal again and type the following command all at once:

sudo kextcache -m /System/Library/Caches/com.apple.kext.caches/Startup/Extensions.mkext /System/Library/Extensions

Reboot again and your Xbox controller should be working!

Thanks! This worked for me.

Hi, I did this and I got the following error, does anyone know what I can do?

Untrusted kexts are not allowed

WirelessGamingReceiver.kext has invalid signature; omitting.

Untrusted kexts are not allowed

Wireless360Controller.kext has invalid signature; omitting.

kext file:///System/Library/Extensions/SiLabsUSBDriver64.kext/ is in hash exception list, allowing to load

kext file:///System/Library/Extensions/JMicronATA.kext/ is in hash exception list, allowing to load

Untrusted kexts are not allowed

360Controller.kext has invalid signature; omitting.

More info:

I used parallels and created a virtual machine. when I plugged in my xbox 360 receiver, it asked me if I wanted to map it to my Parallels virtual machine or my computer (my Mac). I mapped it to parallels. But now I am trying to map it back to my Mac and I have no idea how to because the 360 receiver hardware isn't registering in the driver configuration settings for the 360 wireless receiver..

however, the controller has been registered by my system profile. tldr; my mac recognizes my controller, but the drivers don't, and I think the cause of the problem is because somehow my controller is tied to my parallels virtual machine desktop.

Additionally I fear somehow some of my system memory is somehow tied up in parallels and not accessible from my mac desktop. not sure if that's even possible but it appeared my video card RAM was lower than the specs should be in my system profile. but I'm a noob so i could be wrong.

Are you possibly on El Capitan? It has rootless mode by default and "The kext-dev-mode and rootless boot-args are being removed from OS X El Capitan and will no longer work."

To disable rootless and enable custom kexts in el cap, you have to do that in a recovery. Instructions: https://forums.developer.apple.com/thread/3981

Just did it myself on my El Cap machine. Now i'm using my xbox 360 controller for Portal 2 from steam and it works great!

Thanks very much, worked for me.

I have a wired xbox 360 controller it broke before the split that connects to the small piece that has the usb . When I opened it the metal end fell out I do not know what wires go where anyone know?

hi

can i use any joystick for controlling mouse movements on win 8 and instead of mouse?but not for games.

Just a note, don't forget to sync your controller with your receiver! To do so, use the sync button on your receiver and the one on your controller (while both are on and ready). Skipped this step and couldn't figure out what was wrong, so just adding the info to help the next person with the same problem.