locked
WM_TOUCH on Windows 7 Delayed RRS feed

  • Question

  • I am trying to work with Windows 7 and a Hantouch touch screen. I have a few issues that are eluding me at the moment.

    1) Windows 7 will translate for me the touch action into a mouse left button down action but only after it pauses to see if I intended to hold down to emulate right button down action. My attempted solution was to just receive WM_TOUCH messages, but that raised other issues.

    2) Windows 7 will send me WM_GESTURENOTIFY and two undocumented messages immediately upon touch. These messages are:

    • Send: 0x2CC - undocumented, comes with touch coordinates encoded in LPARAM
    • Post: 0x11B - undocumented, not sure how to use this if at all
    • Send: 0x11A - WM_GESTURENOTIFY

    3) When I register to receive WM_TOUCH messages, I continue to get the above messages immediately, which begs the question why am I getting WM_GESTURENOTIFY when the MS documentation states that I will not get gesture messages any longer?

    4) When I register to receive WM_TOUCH messages, I get WM_TOUCH as expected, but after the delay and with the WM_LBUTTONDOWN message, which defeats the purpose of receiving WM_TOUCH messages in the first place. If I want to interpret the touches, why would Windows 7 attempt to do it for me as well?

    And then there is another issue I THINK having to do with Windows 7 and the Hantouch touch screen - it seems that if I perform a series of touches quickly enough that I can cause Windows 7 to stop sending any messages to my application for several seconds. Eventually, a WM_LBUTTONDOWN message is sent, but none of the other messages before it. I thought it was due to a system timer, but closer examination shows that only the WM_LBUTTONDOWN message is received.

    Finally, I went to disable the feature on the touch driver that emulates right click by holding down a finger on the screen. But Windows 7 simply ignored those settings and continued to provide a delay and a right click notification. Then after running it again the next day, the feature was disabled, though the dialog says it was enabled.

    If anyone has any information on any item I discussed I would appreciate hearing from you.

     

     

    • Edited by Greg Ofiesh Wednesday, September 28, 2011 9:28 PM more information
    Tuesday, September 27, 2011 9:38 PM

All replies

  • Hi,

    Regarding this kind of Touch screeen issue, I suggest you to contact manufacturer for assistance. This is a better way to resolve your issue.

    Thanks for your understanding.


    Please remember to click “Mark as Answer” on the post that helps you, and to click “Unmark as Answer” if a marked post does not actually answer your question. This can be beneficial to other community members reading the thread. ”
    Thursday, September 29, 2011 6:07 AM
  • For some of the behavior that is true and I have. But it is a MS driver and that driver is generating messages with delays and is also not behaving as document (e.g., I am getting gesture messages after I register to receive WM_TOUCH). I would hope someone at MS could please shed light on why the driver is doing what it is doing here.


    Also, I found today that the XP driver (Touchside) generates WM_LBUTTONDOWN immediately and then if held down long enough generates WM_LBUTTONUP, WM_RBUTTONDOWN, and WM_RBUTTONUP. Clearly this is not correct, but the results are nearly always what one would like to see. The left button messages generate focus of the control/window, and then the right button messages usually popup a menu. But the point is that the WM_LBUTTONDOWN message was immediate and that immediate behavior is what I miss. If I can get WM_TOUCH to generate immediately, then fine. But I doubt I would be able to get the MS driver to change its timing of the left button messages.

    • Edited by Greg Ofiesh Thursday, September 29, 2011 9:18 AM
    Thursday, September 29, 2011 9:15 AM
  • So I have discovered what was causing the UI to freeze up for several seconds and it had nothing to do with the touch screen driver apart from the fact that the touch screen is part of the input system. I have fixed the problem.

     

    But two questions remain:

    1. Why do I still get gesture messages after registering for WM_TOUCH?

    2. Why don't I get WM_TOUCH immediately upon a touch action?

    Wednesday, October 5, 2011 1:04 AM
  • Hi

    I know its a long time ago, since your last post. But i have exactly the same problem and i dont know how to solve it. I only get this problem, when i put the application into the Windows Autostart (by registry) and it only occurs sometimes. I can reproduce the problem, when i disable the stylus touch (remove touch devices by code), but i can't solve it then.

    It would be great, if you can share your solution.

    Thanks in advance

    Wednesday, January 22, 2014 10:59 AM