I am developing an Win32 application (Windows 7) that uses a multitouch input. I tried several multitouch pads working on Windows, such as MSI starpad and Macbook pro built-in touchpad (booted in Window 7 using Bootcamp), but none of them generate Windows multitouch or gesture event. Does anyone know how these touchpad drivers send multitouch signals to win32 applications?
Asked
Active
Viewed 1,533 times
2 Answers
2
The touch capability is either reported by firmware via Microsoft's HID driver or by a custom HID driver.

Sheng Jiang 蒋晟
- 15,125
- 2
- 28
- 46
-
Do you know whether it is possible at all to do this? From my understanding, there are no multitouch touchpads. You only get digitizers/touchscreens in some kind of driver-powered way that has relative coordinates and also changes some other messages, alternatively, there might be something built into the hardware (firmware e. g. like you say) that does the recognition in mouse-mode and then sends interpreted gestures up to the PC. Or am I missing something here? I think you would need an extra driver to accomplish this. – Andreas Reiff Nov 09 '12 at 09:22
-
1A driver is only needed when the device does not support HID, and is discouraged. A multitouch device's report may contain multiple contacts. Whether internally it use anything mouse-like is up to the device. As far as Windows is concerned the device should be sending multitouch reports. http://msdn.microsoft.com/en-us/library/windows/hardware/ff553747(v=vs.85).aspx – Sheng Jiang 蒋晟 Nov 09 '12 at 18:35
-
Hello Jiang! Thanks for you helpful input and link. I still get a bit confused about the distinction between touchpad and touchscreen. touchscreens have multitouch, bout do touchpads have multitouch? How is that handled? I could not find information about multitouch touchpads with generic drivers. – Andreas Reiff Nov 12 '12 at 11:10
-
1A multi-touch device 's report descriptor must specify that the device is a HID touch screen (page 0x0D, usage 0x04). In additional to single touch usage it needs to support multi-touch usage as well.http://msdn.microsoft.com/en-us/library/windows/hardware/ff553734(v=vs.85).aspx – Sheng Jiang 蒋晟 Nov 12 '12 at 14:38
-
Thanks for the additional input, Sheng! You are still talking about touch screens (digitizers), though. I do want a different functionality (like a mouse/trackpad/touchpad with multitouch -> relative coordinates, cursor movement without mouse down). Also, I do not see any additional information in your link.. the EloTouch driver looks like something I might use.. but there is hardly and documentation, plus.. my driver writing (and even reading) skills are a bit rusty.. for the past 10 years. :) – Andreas Reiff Nov 12 '12 at 16:04
-
1OK, it may be better to talk in C instead of english... check this virtual driver which generates a multitouch report http://code.google.com/p/vmulti/ – Sheng Jiang 蒋晟 Nov 12 '12 at 16:12
-
That looks very useful, many thanks! So now.. making it run. ;) Plus, docu is spare here as well, so I will take some time to figure out how it works and whether it works for me. – Andreas Reiff Nov 12 '12 at 18:09
0
According to this page:
MultiTouch Capabilities in Windows 7
You need to handle the messages WM_TOUCH and WM_GESTURE in a windows procedure.

yms
- 10,361
- 3
- 38
- 68