--- src/OISInputManager.cpp (revision 34) +++ src/OISInputManager.cpp (working copy) @@ -35,6 +35,7 @@ #elif defined OIS_LINUX_PLATFORM # include "linux/LinuxInputManager.h" #elif defined OIS_APPLE_PLATFORM +# include "mac/CocoaInputManager.h" # include "mac/MacInputManager.h" #elif defined OIS_IPHONE_PLATFORM # include "iphone/iPhoneInputManager.h" @@ -113,7 +114,17 @@ #elif defined OIS_LINUX_PLATFORM im = new LinuxInputManager(); #elif defined OIS_APPLE_PLATFORM - im = new MacInputManager(); + ParamList::iterator i = paramList.find("WINDOW"); + if(i != paramList.end()) + { + id obj = (id)strtoul(i->second.c_str(), 0, 10); + if(obj && [obj isKindOfClass:[NSWindow class]]) + im = new CocoaInputManager(); +#ifndef __LP64__ + else + im = new MacInputManager(); +#endif + } #elif defined OIS_IPHONE_PLATFORM im = new iPhoneInputManager(); #else