Mac OS X Yosemite 10.10.2 update broke my F710 gamepad

Update 2015-03-07: Thanks to Evi Vanoost for pointing out that inserting the USB wireless receiver while holding down the Logitech button on the gamepad will cause it to be recognized by Mac OS X, provisioned with power, and once again be usable in Steam games.

I had been happily using the wireless Logitech F710 game controller with Mac OS X Yosemite 10.10.1 (and OS X Mavericks before that) in the Steam game “XCOM: Enemy Within” for several months. After applying the OS X 10.10.2 update the USB receiver is no longer working. The OS X System Information app shows that the receiver is recognized but not configured and therefore not drawing any current to power its wireless operation. Pressing the Logitech button on the F710 confirms that as the status LED blinks three times indicating it can’t find the wireless receiver. The Steam game reports that it can’t find a gamepad controller.

I’ve spent a couple of hours trying to troubleshoot the problem. Google yields nothing useful. In fact, I can’t even find any other reports of this problem which has me wondering if perhaps the OS X update was incomplete or corrupt.

See also my earlier article where I reported that the F710 does work on Mac OS X without special drivers.

Fixing PS3 controller assignments when using an Auvio enabled remote

Recently I purchased an AUVIO Universal Remote Receiver for Playstation 3 to make it easy to use my Logitech Harmony remote control with my Sony Playstation 3 (PS3). In this post I described the challenge of doing the initial setup given the odd mapping of Sony BluRay player commands to PS3 commands. In particular, the mapping of “Stop” to the PS3 “X” button which is typically used as an “enter” or “execute” function for most PS3 software.

What I didn’t mention in that previous post is that the Auvio receiver ends up being the first controller. Which means the PS3 Dual-Shock gamepad ends up being controller number two. That makes the PS3 gamepad unusable in the single-player games I’ve tried to date (e.g., “The Last Of Us”). The PS3 gamepad has to be assigned as controller number one to be usable in a game.

What I decided to do was create a sequence of commands and assign them to a “soft button” (i.e., touchscreen button) on my “Play a DVD/PS3” activity. This means that I can

  1. Use my Logitech Harmony remote to power up my TV and audio receiver and set them to the correct inputs and setting.
  2. Press the “home” button my PS3 gamepad to power up my PS3.
  3. When the PS3 has finished booting press the “PS3 fix controller number” soft button on my remote control to do what the name implies.

The “PS3 fix controller number” sequence on my remote control is programmed to send these commands:

  • 7 left commands (“DirectionLeft”)
  • 8 down commands (“DirectionDown”)
  • 1 button X (“Stop”)
  • 1 down command (“DirectionDown”)
  • 1 button X (“Stop”)
  • 1 up command (“DirectionUp”)
  • 1 button X (“Stop”)
  • 1 left command (“DirectionLeft”)
  • 4 right commands (“DirectionRight”)

Using an Auvio receiver and Logitech Harmony remote to control a PS3

Update: See my second post where I talk about dealing with the Auvio receiver always being assigned as the first controller. Which tends to make the PS3 gamepad unusable inside a single-player game.

A Sony Playstation 3 (PS3) is a decent Blu-Ray DVD player in addition to being a game console. So it would be nice if you could use your normal infrared remote control to play and interact with DVDs. The AUVIO Universal Remote Receiver for Playstation 3 is one way to achieve that goal.

However, there are two problems. First, neither the Auvio user guide, nor the top rated review on Amazon for the product, make it clear that you need to distinguish between the command being sent and the purpose of the button on the remote control (as indicated by its label or ideogram). Yes, this may be obvious to a tech savvy person accustomed to setting up complicated A/V systems. But an average person is likely to be confused by the idea that you can assign the “stop” action to the “ok” button on their remote.

The second, and more serious problem, is that the Auvio receiver maps the remote controls “stop” command to the “X” button which is generally used as the “enter” or “select” action on a PS3. The Auvio also maps the remote controls “ok/enter” command to the “O” button which is generally used as a back “back” or “cancel” action. So if your Logitech Harmony remote has an “OK” button you do not want to assign the “ok/enter” command (the “O” button on a PS3 controller) to it. You want to assign the “stop” command (the “X” button on a PS3 controller) to the “OK” button on the remote. This is obviously counterintuitive. Similarly you want to assign the remote controls “ok/enter” command to the “stop” and “back” buttons on the remote control.

Logitech F710 controller on Mac OS X

Update 2015-02-07: The OS X Yosemite 10.10.2 update broke the F710 USB receiver. See my latest post.

Update 2014-08-15: It turns out that the Xbox360Controller driver isn’t necessary. XCOM, and probably all Steam games, recognize controllers using the DirectInput API and work just fine with the Logitech when it’s mode switch is in the “D” position. Also, even after I hacked the source for the aforementioned driver to recognize the USB vendor and product IDs of the F710 it didn’t recognize it.

[end of updates]

I had an opportunity to play the game “XCOM: Enemy Unknown” on an Android tablet. It’s an impressive remake of a 90’s turn based simulation game for PCs. I just replaced my four year old 11 inch Macair laptop with the new 2014 model of the 13 inch Macbook with retina display. So I decided to get a copy of the game so my laptop isn’t just for work.

The next question was whether to play XCOM in K+M (keyboard plus mouse) mode or with a gamepad controller. After some googling I opted to pick up a Logitech F710 wireless controller from my local Fry’s store. I plugged it in and the OS X System Profiler app showed that it was detected.

More googling revealed that the stock OS X gamepad driver implements the older DirectInput standard. Fortunately the Logitech F710 has a switch to select either DirectInput mode or the newer XInput mode. Note the XInput mode is most commonly associated with Xbox 360 controllers. XInput mode is preferable because it is allows two of the four triggers on the controller to operate as analog rather than digital inputs.

To use a Xbox 360 controller (i.e., a controller which implements the XInput standard) requires the use of a third-party driver. This YouTube video describes the process as does this article at Cult of Mac. The driver can be found at tattiebogle.net.