Update -
I committed the enumeration stuff and made an OSX Hid factory creator class which currently enumerates gamepads / joys, and shows them as available. However, creation is not implemented and if tried will raise an exception.
Also, I found a bug/issue with OIS::Exception where on OSX platform it is impossible to catch an OIS Exception, seems the symbol somehow was hidden ?? I took the time to enforce symbol visibility under OSX compilation properly, and _OISExport will unhide symbols. However, this didn't affect the problem at all. Seemed the only way to solve it was to add OISException.cpp and a class member within the file. So, i took the liberty to inherit OIS::Exception from std::exception and the what() function simply returns the text of the exception. Anyway, this solved the issue, so I can now move on to device creation, and then device polling.
Also, I've noticed some issues with Mac Mouse, in that absolute values and in fact mouse hiding is/was not working properly. Seems that when you lock the mouse, you get relative value increase, but absolute position never changes from the real OSX mouse. And, hiding also is not working properly... If you click on the window, the mouse gets hidden. However, if you click on the icon in the dock of the application window, the mouse does not hide, though it gets locked. This has the interesting side effect of mouse clicks start clicking on the app icon over and over

No idea best way to solve this yet, but if anyone has a suggestion, feel free to post. My only current thoughts are to do something like what is done on x11, which invovles manually warping the mouse around inside the window to keep it within bounds.