I am working on updating the Mac OS X driver for the Xbox 360 controller. With the introduction of Yosemite, non-Apple kernel extensions need to be stored in /Library/Extensions
as opposed to /System/Library/Extensions
and must be signed. The IOKit driver has a plug-in inside of it that has the force feedback driver. However, when the driver is in any other position other than /System/Library/Extensions
, it doesn't load the force feedback plug-in.
I think I'll need to edit the IOCFPlugInTypes
, which currently points to 360Controller.kext/Contents/PlugIns/Feedback360.plugin
, to something else. I can't find anything about it on Apple's developer pages.
It seems that the Apple-approved method to work around this issue is to add a symbolic link in /System/Library/Extensions
that references your own kext in /Library/Extensions
. Kext look-up will ignore the symbolic link, but (in this example) Force Feedback will go through the symlink to get the plug-in.