Wednesday, February 18, 2009

After Some More Research...

Seems like I may solve the issue by doing a filter driver. This is really hardcore stuff.


I want to give heads up to Phidgets! This may very well be a solution. Waiting for response to see if they may be able to help out with a hardware phidget which can help me out... If this can be solved with Phidgets, there are some other cool phidgets which can be used to trigger other things in the game...

Current issue is as follows:

Detailed (Technical)

The RegisterRawInputDevices function will only work on the thread that called it, aka, the application. With this I can identify which mouse send the event, but it will not intercept messages going to other processes (other threads) since each process (in user mode) thinks it's the only process running in the system. When the input focus is moved to a different application window, those WM_INPUT messages only go to that window. They don't propagate system-wide.

The only way to see mouse messages system-wide is to implement a LowLevelMouseProc and use the Windows Hooks functions (SetWindowsHookEx). But, in doing so, I also lose the ability to get the Raw Input data since raw isn't supported by the hook messages. And, with the Global Hooks, I'm not able to identify the mouse, which led me to using RawInput, which doesn't work globally, which...

In short

Microsoft sucks.

No comments:

Post a Comment