lijunkang🍍 Jan 21, 2022 @ 1:16am
Mac phantom controllers workaround
Edited: an once-for-all solution has been brought up by tintingaroo, see the answer to this post below.

Hello there! Those who use controllers on Mac may have already noticed that Steam detects phantom Xbox controllers, which makes the real controller unusable in games. Here is a reliable workaround that I have found to disable the phantom inputs.

* First, open Steam and connect your controller to your Mac via bluetooth. Then open Steam Preferences > Controller > General Controller Settings. It will then open a window which shows all detected controllers.

* Press some buttons of your controller. Steam will probably detect multiple phantom inputs. When there is no more pop-up of phantom controllers, you should see one Xbox One Controller and multiple phantom Xbox 360 controllers under "Detected Controllers". Untick the box "Xbox Configuration Support" then close this window. Reopen the same window via Steam Preferences > Controller > General Controller Settings. Tick the box "Xbox Configuration Support".

* Now under "Detected Controllers", there should be only one controller, which is your real controller. If this is not the case, then repeat the steps in the last paragraphs. If this is the case, then now you should be able to use your controller in games that support Xbox controller on Mac.

Caveat:
* I have only tested this workaround on M1 Mac.
* This workaround only solves the phantom inputs problem. As you all know, controller detection with Steam Input is currently very sporadic. For example, Hollow Knight, Celeste, Ultimate Chicken Horse, and Human Fall Flat cannot detect my controller, while Cuphead, Battleblock Theater, and Tomb Raider can. Currently there seems to be no workaround if a game cannot detect your controller. However, if a game can register controller input, then after solving the phantom inputs issue, you should be able to use your controller smoothly in that game.

Feel free to test this temporary workaround and share your feedback or other discoveries here so that more players can use their controller with Mac. And cross our fingers that Valve would pay more attention to Mac players and solve these controller-related issues that exist since ridiculously long time.
Last edited by lijunkang🍍; Jan 24, 2022 @ 1:08am
Originally posted by tintingaroo:
See if you can hide the Xbox 360s by manually adding it to the blacklist:

Fully close Steam.
Navigate to: ~/Library/Application Support/Steam/config/

Open config.vdf with TextEdit

Do a search for: controller_blacklist
You should see: "controller_blacklist" ""

Within the speech marks to right, enter in: 045e/028e

That is the VID & PID (VendorID & ProductID) of an Xbox 360 controller, separated by a forward slash.
So line will look like so: "controller_blacklist" "045e/028e"

Save and close file

Start Steam.
< >
Showing 1-15 of 28 comments
Runic Jan 21, 2022 @ 8:03am 
Thx for the hint in general:steamthumbsup:
𝒖𝑻 Jan 21, 2022 @ 2:32pm 
Thank you!
The author of this thread has indicated that this post answers the original topic.
tintingaroo Jan 23, 2022 @ 7:31pm 
1
See if you can hide the Xbox 360s by manually adding it to the blacklist:

Fully close Steam.
Navigate to: ~/Library/Application Support/Steam/config/

Open config.vdf with TextEdit

Do a search for: controller_blacklist
You should see: "controller_blacklist" ""

Within the speech marks to right, enter in: 045e/028e

That is the VID & PID (VendorID & ProductID) of an Xbox 360 controller, separated by a forward slash.
So line will look like so: "controller_blacklist" "045e/028e"

Save and close file

Start Steam.
lijunkang🍍 Jan 24, 2022 @ 1:06am 
Originally posted by tintingaroo:
See if you can hide the Xbox 360s by manually adding it to the blacklist:

Fully close Steam.
Navigate to: ~/Library/Application Support/Steam/config/

Open config.vdf with TextEdit

Do a search for: controller_blacklist
You should see: "controller_blacklist" ""

Within the speech marks to right, enter in: 045e/028e

That is the VID & PID (VendorID & ProductID) of an Xbox 360 controller, separated by a forward slash.
So line will look like so: "controller_blacklist" "045e/028e"

Save and close file

Start Steam.
Many thanks for this once for all solution! I have tested it on my Mac and it works indeed!

Just two additional information for other users:
* if you don't see any result when you search for controller_blacklist, just insert one entry "controller_blacklist" "045e/028e" on the line just before the last bracker "}".
* It would be better to modify this file with your Steam opened. Otherwise when you start Steam, its cloud syncing may overwrite your modification. Just insert the line "controller_blacklist" "045e/028e" when Steam is opened, then restart it for this modification to take effect.
lijunkang🍍 Jan 24, 2022 @ 1:09am 
Originally posted by tintingaroo:
See if you can hide the Xbox 360s by manually adding it to the blacklist:

Fully close Steam.
Navigate to: ~/Library/Application Support/Steam/config/

Open config.vdf with TextEdit

Do a search for: controller_blacklist
You should see: "controller_blacklist" ""

Within the speech marks to right, enter in: 045e/028e

That is the VID & PID (VendorID & ProductID) of an Xbox 360 controller, separated by a forward slash.
So line will look like so: "controller_blacklist" "045e/028e"

Save and close file

Start Steam.

Have you by any chance found a solution for games that do not register any controller input on Mac?
tintingaroo Jan 24, 2022 @ 1:39pm 
Originally posted by lijunkang:
Many thanks for this once for all solution! I have tested it on my Mac and it works indeed!

Just two additional information for other users:
* if you don't see any result when you search for controller_blacklist, just insert one entry "controller_blacklist" "045e/028e" on the line just before the last bracker "}".
* It would be better to modify this file with your Steam opened. Otherwise when you start Steam, its cloud syncing may overwrite your modification. Just insert the line "controller_blacklist" "045e/028e" when Steam is opened, then restart it for this modification to take effect.

Glad it works and good catch on the non-result in controller_blacklist search, I didn't think of that. :steamthumbsup:

You had Steam open when saving config.vdf modification? No negative effect, huh. One of the Valve guys wrote to close Steam (regarding a different config.vdf modification though) and I think I had to do that for it otherwise Steam would overwrite it at close. Don't think I've tried leaving Steam open for controller_blacklist editing, so good to know.

If you want to remove it from the blacklist you can choose Unhide Devices at the Controller Settings screen (or do it manually of course).


Originally posted by lijunkang:
Have you by any chance found a solution for games that do not register any controller input on Mac?

I see you found the HK stuff :D

I think for you it'll require the game to support your controller, modding files to add support (which can turn out to be fairly simple) or using Steam Input to map keyboard/mouse actions to the gamepad. As far as I'm aware, Steam Input on M1's still can't emulate an xb360 controller - a controller that the games will likely support. There may be some applications on the Apple Store that can perform that emulation function but not sure on that.
lijunkang🍍 Jan 24, 2022 @ 2:04pm 
Thanks for your reply! I use a Xbox controller from the newest generation, which is natively supported by MacOS and most games that claim to have controller support. However, some games, such as HK, just do not register my controller's input. I wonder if you could refer me to a generic modding guide? I would like to imitate your fix for HK. Do we always have to decompile the Assembly-CSharp.dll file to add native controller support?
tintingaroo Jan 24, 2022 @ 3:09pm 
The only way I know is via decompiling. I use dnSpy on Windows. I tried to get it to work on a Mac but I didn't understand things, so if you have a Windows installation (or figure it out for Mac) I can guide you and that info should help with Unity games using the same plugin (InControl) particularly if they use later versions.
lijunkang🍍 Jan 24, 2022 @ 3:22pm 
I see. Unfortunately I do not have a Windows machine and dnSpy does not support Mac. But thanks for the info anyway :D
tintingaroo Jan 24, 2022 @ 3:34pm 
Hmm, maybe it was Visual Studio and ILSpy I was trying. I think I was also attempting to import something about dnSpy though.
Loafin Feb 20, 2022 @ 4:42pm 
I don't have the controller_blacklist at all in my config.vdf file at all i've tried to search for it and i've read through the file multiple times. I'm on Mac os 12.2.1 if that makes any difference. I've tried to add the line like others say and it didn't work. I'm using a switch pro controller.
Last edited by Loafin; Feb 20, 2022 @ 4:45pm
tintingaroo Feb 21, 2022 @ 2:10am 
Has the entry remained after you inserted it?
bakundesu Feb 24, 2022 @ 9:15am 
Originally posted by tintingaroo:
See if you can hide the Xbox 360s by manually adding it to the blacklist:

Fully close Steam.
Navigate to: ~/Library/Application Support/Steam/config/

Open config.vdf with TextEdit

Do a search for: controller_blacklist
You should see: "controller_blacklist" ""

Within the speech marks to right, enter in: 045e/028e

That is the VID & PID (VendorID & ProductID) of an Xbox 360 controller, separated by a forward slash.
So line will look like so: "controller_blacklist" "045e/028e"

Save and close file

Start Steam.





Are there any alternatives for X-box One controllers?
tintingaroo Feb 24, 2022 @ 9:46am 
To hide/blacklist them from Steam? It's the same process but use the VID/PID of the device. gamepad-tester.com can help with that info.

If adding multiple types to the blacklist I think the VID/PID for each device is separated by a comma, but I'd have to check on that.
simple May 26, 2022 @ 10:06am 
Big thanks, @tintingaroo and @lijunkang! Has plagued my Mac gaming for the past few months.
< >
Showing 1-15 of 28 comments
Per page: 1530 50