oblitum / Interception

The Interception API aims to build a portable programming interface that allows one to intercept and control a range of input devices.
http://oblita.com/interception
1.35k stars 269 forks source link

Does not work for multi pointer device #10

Closed ray-linn closed 10 years ago

ray-linn commented 10 years ago

hi Sir

Thanks a lot for the great library. Today i occurs an issue on multi pointer device. 3 pointer device are attached in a same computer, they are PS/2 touch Pad, a logitech usb mouse, and a wacom digital pad.

In tools "device tree", under /Driver/mouse, I can see 3 Dev and 10 interceptions (10 to 19), and I verify 3 devices works without any hw issue devicetree

After executing the sample to query their HW ID or query the mouse X,Y position, I found touch pad and mouse work as excpeted, but wacom digital pad can not be intercepted by in any case.

Could you give me some comments how to troubleshooting and how to make it work for the digital pad.

oblitum commented 10 years ago

@raylinn-duplicate this lib doesn't hook into anything but keyboard and mouse currently.

oblitum commented 10 years ago

Even if it may hook touchpad input, it's because the system is emulating a mouse for the touch input, hence it's hooking a mouse virtual device. Real touch input won't be hooked.

ray-linn commented 10 years ago

Hi Sir

The digital pad is nothing but a big touch panel, it use the Microsoft inbox mouse driver instead , and I can also found the mouse.sys filter is loaded on this device, so I think it is really a "mouse".

could you help to support the hook to this device and more include something like touch panel.

Regards Ray

ray-linn commented 10 years ago

Here is the driver of the device. ![Uploading drivers.PNG . . .]()

oblitum commented 10 years ago

@raylinn-duplicate For example, for usb keyboards this lib has an issue since Windows creates two virtual devices for a single real keyboard, it creates a common keyboard device for normal keys, and an special device (I can't recall what type it is) for the multimedia keys solely. The lib is able to intercept the normal keys, but not the multimedia keys because it's managed by an unrelated stack for which interception doesn't attach.

Given this example, your case could fall in the same problem, or who knows.

ray-linn commented 10 years ago

Thank you very muchm, yep, i found another virtual device as Microsoft Input Device, I will ask vendor to flash firmware to get rid of it.