The bluetooth feature only works on GNU/Linux, and the code is OS-specific (-lbluetooth).
It's much easier to port the USB feature to Mac OS X. It requires a cheap DIY USB adapter.
The adapter I currently have is the "BCM2045A"... I'm guessing that one might no longer be sufficient? I did mess around with it a bit, and I'm able to probe it, dump all the descriptors, etc. on OS X. I can't remember how it was flashed exactly back in the early versions GIMX, or even if this one retains it's values to be honest.
The hidapi library is not used anymore since GIMX 5.0.
I replaced it with a custom communication layer that provides asynchronous hid communications.
It uses the libusb on Linux, which means it probably can be ported easily to Mac OS X.
Is your Linux libusb library modified at all? I'm not at all familiar with other components you mentioned (prio, and timer). If you need anything regarding the mouse code, or even keyboard input I could probably help you with that, I've coded some things in C, Objective-C, and Swift that return all cords, events, etc. (usb and bluetooth).
Code: Select all
( In case you're curious how Apple handles some of it you can always check out the source code )
Have you successfully used HIDAPI or libusb on OSX without a kext WITH the DS4?
Ive done some more experimenting in Go, and Ive had to use a codeless kext to prevent the OS taking the device when it gets connected.
I've really had no issues at all using any of the hidapi examples that are included with the source code (didn't install any .kexts). I can also send you the compiled binaries I created if you think they'll be of any use.
However, it might be useful to check out this..
You are very correct — in-fact the code is strikingly similar to the Linux equivalents, and there are some good example xcode projects available too. It would be great to use some of the native libraries with GIMX, and I'd imagine it's quite possible. You may or may not already be aware of the USB Prober.app which can be extracted from the iousbfamily683.dmg .pkg (from Apple's Developer site), although it could be quite helpful since it dumps a ton of information. If you need a link to the one I extracted just let me know