** Updated, see post below
I'm having trouble getting mouse input to work using OpenTK.Mouse.GetState() on my Macbook Pro running MacOSX 10.7.2 & Mono 2.10.6 from within MonoDevelop 18.104.22.168 . **EDIT: I should mention that I'm using a version of OpenTK that I pulled down from the source repository a couple of hours ago.
The string from the start of the debug trace log with more info: "Darwin Kernel Version 11.2.0: Tue Aug 9 20:54:00 PDT 2011; root:xnu-1699.24.8~1/RELEASE_X86_64"
I've spent some time debugging, but I'm not familiar with Carbon or IOKit at all (I'm primarily a PC guy) and so I'm hitting dead ends on alot of things.
As far as I'm able to determine, the problem lies with HID device events not making it through the DeviceValueReceived callback with the correct device id's and thus not reaching the state objects. There are events being fired through it, but the device id IntPtr's are not being matched in either the mouse or keyboard state dictionaries.
However, I added a Debug.Print line to pipe out the value, context and sender from within the DeviceValueReceived callback and noticed that the sender IntPtr was consistent with the pattern that I was using my plugged in USB mouse and the macbook's trackpad (moved the mouse for two seconds, moved the trackpad for two seconds, moved the mouse for two seconds, sender id's are grouped in that same pattern).
Trace Log. I've culled the repetitive lines and marked them as such in order to reduce the size of the log to a more readable size.
One other thing, is that I get an exception about a missing entry point for IOHIDDeviceUnscheduleWithRunLoop when I unplug my USB mouse. Exception Detail
Both of these things make me think that the version of IOKit that came pre-installed on this Macbook is quite different to the one that OpenTK was built against.
Anyone (Fiddler?) have any idea on how I can fix this? Does it look like a legitimate OpenTK bug?
If anyone needs more info I'm happy to provide.