CyberVillain wrote:Also how do you make sure that your hook is first? More over, you need to let the mouse emulation trigger, so you need to let that hook pass, etc. lots of questions
Yeah, I asked myself this question too. If that does not work though, I guess you can still capture the raw mouse movement at that low level and at every hook you input at the same low level the negative of the reported mouse movement. This way all the other programmes that read the airmouse at that low level should get at the same time 0 movement.
I actually tried this with GlovePIE, but it does not work, since it does not rely on the low-level hooks and instead corrects at the whatever the Glovepie framerate is set (default around 60hz, but can get to 500hz apparently, which actually did not make a different for my case) and then at directinput level. So basically you have a "tug of war" between the low-level readings that immediately get captured by the game and the "correction" through directinput, which all results in jitter.
To summarise, I think that even if blocking the passing of the message does not work, I think what can work is correction parallel to the low level mouse messages with the exact negative movement.