none
How to declare if a touch panel is symmetric or non-symmetric? RRS feed

  • Question

  • I have a customer that wants to integrate our touch panel into his Win EC 7 device. I am checking to see what is necessary to support Win EC 7.

    One piece of information I found was that a device can be symmetric or non-symmetric in how it reports touch data. The device the customer is interested in is non-symmetric USB touch panel and I have not been able to discover how to tell the OS. I have not found anything in the USB documentation. Nor has searching this site brought an joy.

    Is there anyone out there who knows how to tell the OS the touch panel is a non-symmetric device?

    Monday, May 9, 2016 10:43 PM

Answers


  • Question: Is my basic assumption that there is an "in box" touch panel USB HID driver included with Win EC incorrect and I will need to roll my own?


    That assumption is incorrect. There is no "standard" touch driver in CE (no USB, no I2C and no SPI standard driver is included).

    The only thing that is included is the MDD part of the driver. This is the upper level that is the layer between your lower level driver (that talks to the hardware) and the OS.


    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    Tuesday, May 10, 2016 11:12 PM
    Moderator

All replies

  • What exactly do you mean with symmetric or non-symmetric data?

    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    Tuesday, May 10, 2016 5:47 AM
    Moderator
  • I could be wrong about this, but Symmetric/Asymmetric isn't a USB thing, it isn't a Windows CE thing - it is your driver's interpretation of the data coming from the touch panel and/or touch controller.

    So there is no setting for it, you need to supply a Touch Driver that supports your Touch Hardware.

    Of course, by "you" I mean someone.

    Here is what I do know:  A touch panel presents analog signals to an A/D device.  The A//D device is read, either by hardware or software.  The hardware or software then interpret the data and convert it to touch points.  The software is specific to certain hardware, and is called a driver.  If done in hardware, the it typically emulates a USB mouse and therefore the hardware must send mouse information to a mouse driver.



    Bruce Eitman (eMVP)
    Senior Engineer
    Bruce.Eitman AT Eurotech DOT com
    My BLOG http://geekswithblogs.net/bruceeitman
    I work for Eurotech

    Tuesday, May 10, 2016 1:30 PM
    Moderator
  • Thanks for the answers. I am madly trying to learn the Win EC eco system so that I can catch up to my customer and support them. As a result some of my questions might be naïve or silly.

    @Michel Verhagen: These terms came from the MS documentation I have read. Basically a Symmetric device can reliably pair the X's and Y's from multiple finger contacts. A non-Symmetrical device is unable to guarantee the pairings. They might be wrong from the initial contact or change during a gesture or stroke. As you can imagine the approach to gestures needs to be different for the non-Symmetrical device.

    @Bruce Eitman: I have a little driver experience in the Windows world. The touch pad driver I formerly managed and contributed has shipped over a billion copies and is still being used. But I know virtually nothing about Win EC.

    The type of symmetry is actually important in the gesture engine, which from my research is part of the OS.

    Also from my research, I thought that there was a basic HID driver in Win EC that could handle input from a USB touch panel. This is different than a Mouse HID driver. A mouse HID driver either converts the pointing information from the device into relative motion units called mickeys or passes on the relative motion reports from the device.

    A touch panel HID driver handles pointing information that gives absolute X/Y positions of the fingers. Absolute/direct input instead of relative/indirect.

    Sorry for the long winded reply, but perhaps it will help some other person in the future.

    BTW, I admire those of you who have mastered this domain. Unlike other areas there isn't a lot of information to be found around the internet.

    Question: Is my basic assumption that there is an "in box" touch panel USB HID driver included with Win EC incorrect and I will need to roll my own?


    • Edited by RJonesJr Tuesday, May 10, 2016 6:19 PM
    Tuesday, May 10, 2016 5:43 PM

  • Question: Is my basic assumption that there is an "in box" touch panel USB HID driver included with Win EC incorrect and I will need to roll my own?


    That assumption is incorrect. There is no "standard" touch driver in CE (no USB, no I2C and no SPI standard driver is included).

    The only thing that is included is the MDD part of the driver. This is the upper level that is the layer between your lower level driver (that talks to the hardware) and the OS.


    Good luck,

    Michel Verhagen, eMVP
    Check out my blog: http://guruce.com/blog

    GuruCE
    Microsoft Embedded Partner
    http://guruce.com
    Consultancy, training and development services.

    Tuesday, May 10, 2016 11:12 PM
    Moderator
  • Thanks for the answer Michel. I suspect I will be needing that good luck you mention.
    Wednesday, May 11, 2016 12:35 AM
  • For future reference the symmetry is declared when passing the points into the OS. The structure used to pass the information is called CETOUCHINPUT. 

    In this structure there is a field dwFlags. One of the bits, TOUCHEVENTF_SYMMETRIC, indicates is the point(s) are symmetric. The help for CETOUCHINPUT explains this bit in more detail.

    Wednesday, May 3, 2017 4:35 PM