Collection of fixes for long standing bugs#688
Merged
Conversation
Applies to 2016 Xbox One Controllers Applies to Xbox One S Controllers
Settings no longer stored in /Library/Preferences Now stored in ~/Library/Preferences/ByHost Settings should now be stored per-user, and should no longer have issues with failure to be retained.
Rumble options now correctly show up for Xbox One controller
|
Thanks so much for your work!! |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Includes fixes for #39, #67, #181, #280, #406, #451, #497, #513, #642, #646, #647, #663.
I've tracked down willTerminate as a fix for a retain issue. If a controller was simply unplugged, it would never call the "stop" method and therefore never unload the kext, but the kext does call "willTerminate" will a controller is unplugged, so we can call
ReleaseAll()there in order to allow the kext to release properly. Unfortunately, there is a bug in macOS that causes IOHIDDevice/IOUSBHIDDevice instances to be retained based on the content of their report descriptors. That proves to be an issue with the rewrite, but I don't know if it applies to the shim code. Most likely does. Didn't really bother testing it. Either way, I've got a bug report out to Apple on the retain and hopefully I can get that shored up.I don't know if I'll get the rewrite work done anytime soon. I've got some great ideas for new projects that appeal to me a lot more than this project, I don't own a wireless Xbox 360 controller/receiver, and I'm about to start a new job. We'll see, I guess.