Skip to content

Commit

Permalink
Remove Xbox One Bluetooth support hooks
Browse files Browse the repository at this point in the history
Resolves an issue with hang on boot during Bluetooth coexistence
Fix found in 360Controller#698
  • Loading branch information
Drewbadour committed Sep 15, 2018
1 parent 9f7d90c commit 06715bf
Show file tree
Hide file tree
Showing 3 changed files with 2 additions and 31 deletions.
13 changes: 0 additions & 13 deletions 360 Driver.xcodeproj/project.pbxproj
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,6 @@
buildPhases = (
);
dependencies = (
55ACBFE91D5BA33A00E4F677 /* PBXTargetDependency */,
55B6383D18C10FA200CE933D /* PBXTargetDependency */,
55B6383F18C10FA200CE933D /* PBXTargetDependency */,
55B6384118C10FA200CE933D /* PBXTargetDependency */,
Expand Down Expand Up @@ -124,13 +123,6 @@
remoteGlobalIDString = 5579513D1F73006F001880D1;
remoteInfo = XBOBTFF;
};
55ACBFE81D5BA33A00E4F677 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 55B636AC18C104DB00CE933D /* Project object */;
proxyType = 1;
remoteGlobalIDString = 55ACBFDF1D5B9E2E00E4F677;
remoteInfo = XboxOneBluetooth;
};
55B6374D18C1097D00CE933D /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = 55B636AC18C104DB00CE933D /* Project object */;
Expand Down Expand Up @@ -1245,11 +1237,6 @@
target = 5579513D1F73006F001880D1 /* XBOBTFF */;
targetProxy = 557951491F7300E4001880D1 /* PBXContainerItemProxy */;
};
55ACBFE91D5BA33A00E4F677 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 55ACBFDF1D5B9E2E00E4F677 /* XboxOneBluetooth */;
targetProxy = 55ACBFE81D5BA33A00E4F677 /* PBXContainerItemProxy */;
};
55B6374E18C1097D00CE933D /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = 55B6371E18C108A500CE933D /* Feedback360 */;
Expand Down
16 changes: 0 additions & 16 deletions Install360Controller/Install360Controller.pkgproj
Original file line number Diff line number Diff line change
Expand Up @@ -154,22 +154,6 @@
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
<key>GID</key>
<integer>0</integer>
<key>PATH</key>
<string>../build/Release/XboxOneBluetooth.kext</string>
<key>PATH_TYPE</key>
<integer>1</integer>
<key>PERMISSIONS</key>
<integer>493</integer>
<key>TYPE</key>
<integer>3</integer>
<key>UID</key>
<integer>0</integer>
</dict>
<dict>
<key>CHILDREN</key>
<array/>
Expand Down
4 changes: 2 additions & 2 deletions Readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ This driver supports the Microsoft Xbox series of controllers including:

3. Xbox One
- Xbox One controllers are supported when connected with a micro USB cable. Using the controller with the Wireless Adapter is not currently supported.
- Bluetooth capable Xbox One controllers (released after August 2016) are natively supported by macOS without the use of this driver. However, installing this driver will enable force feedback (which is not natively supported) and allow you to plug the controller in via USB.
- Bluetooth capable Xbox One controllers (released after August 2016) are natively supported by macOS without the use of this driver. However, installing this driver will allow you to use the controller via USB.

The driver provides developers with access to both force feedback and the LEDs of the controllers. Additionally, a preference pane has been provided so that users can configure their controllers and ensure that the driver has been installed properly.

Expand Down Expand Up @@ -97,7 +97,7 @@ If you have a third party controller, make an issue following the template with
Xbox One controllers connected with the Wireless Adapter are currently not supported. Please be patient as we figure out this complicated protocol.

### Xbox One Controllers connected with Bluetooth
The Xbox One controller works with macOS automatically when connected over Bluetooth via System Preferences. Only specific Xbox One controllers released after August 2016 have Bluetooth capability. See [Microsoft's support page](https://support.xbox.com/en-US/xbox-on-windows/accessories/connect-and-troubleshoot-xbox-one-bluetooth-issues-windows-10) for determining if your controller supports Bluetooth. Due to the fact that this controller works by default, it will not be supported by this driver. However, in order to get force feedback through the controller, you will need to install this driver. It will enable force feedback to the controller. Additionally, if you choose to plug this controller in via USB, the driver will support this configuration. Any problems with game compatibility in Bluetooth mode are completely out of our control and are up to you to solve in conjunction with the game developer.
The Xbox One controller works with macOS automatically when connected over Bluetooth via System Preferences. Only specific Xbox One controllers released after August 2016 have Bluetooth capability. See [Microsoft's support page](https://support.xbox.com/en-US/xbox-on-windows/accessories/connect-and-troubleshoot-xbox-one-bluetooth-issues-windows-10) for determining if your controller supports Bluetooth. Due to the fact that this controller works by default, it will not be supported by this driver. If you choose to plug this controller in via USB, you will need this driver. If you do not wish to connect the controller via USB, then you do not need this driver. Any problems with game compatibility in Bluetooth mode are completely out of our control and are up to you to solve in conjunction with the game developer.

## Adding Third Party Controllers
First, [disable signing requirements](#disabling-signing-requirements) so that you can run your custom build with your third party controller added. Then edit `360Controller/360Controller/Info.plist`. Add your controller following the pattern of pre-existing controllers by adding your vendor and product IDs to a new entry. After this, follow the information in the [building](#building) section, following the "If you don't have a signing certificate" path to build your new .kext. Then, place your shiny new `360Controller.kext` in to `/Library/Extensions` over the old one. You may need to take ownership of the driver in order for it to operate properly. You can do this with `sudo chown -R root:wheel /Library/Extensions/360Controller.kext`. Then, to make sure everything went according to plan, run `sudo kextutil /Library/Extensions/360Controller.kext`. This will load your kext into the OS and you should be able to use your controller. Once you reboot, your custom driver should be loaded automatically.
Expand Down

0 comments on commit 06715bf

Please sign in to comment.