1 Reply Latest reply on Nov 27, 2017 1:45 AM by Madhu Lakshmipathy

    PSoC USB HID Single Touch Device

    markus.kraft_1991011

      Hello,

       

      I'm trying to use a PSoC as a USB HID Single Touch Device. (PSoC 4200L with USB interface)

       

      I used the following Descriptor that works as a mouse with absolute coordinates:

       

      0x05, 0x01// USAGE_PAGE (Generic Desktop)

         0x09, 0x02// USAGE (Mouse)

         0xa1, 0x01// COLLECTION (Application)

         0x09, 0x01// USAGE (Pointer)

         0xa1, 0x00// COLLECTION (Physical)

         0x05, 0x09// USAGE_PAGE (Button)

         0x19, 0x01// USAGE_MINIMUM (Button 1)

         0x29, 0x03// USAGE_MAXIMUM (Button 3)

         0x15, 0x00// LOGICAL_MINIMUM (0)

         0x25, 0x01// LOGICAL_MAXIMUM (1)

         0x95, 0x03// REPORT_COUNT (3)

         0x75, 0x01// REPORT_SIZE (1)

         0x81, 0x02// INPUT (Data,Var,Abs)

         0x95, 0x01// REPORT_COUNT (1)

         0x75, 0x05// REPORT_SIZE (5)

         0x81, 0x03// INPUT (Cnst,Var,Abs)

         0x05, 0x01// USAGE_PAGE (Generic Desktop)

         0x09, 0x30// USAGE (X)

         0x09, 0x31// USAGE (Y)

         0x35, 0x00// PHYSICAL_MINIMUM (0)

         0x46, 0x9d, 0x0b// PHYSICAL_MAXIMUM (2973)

         0x15, 0x00// LOGICAL_MINIMUM (0)

         0x26, 0x9d, 0x0b// LOGICAL_MAXIMUM (2973)

         0x65, 0x11// UNIT (SI Lin:Distance)

         0x55, 0x0e// UNIT_EXPONENT (-2)

         0x75, 0x10// REPORT_SIZE (16)

         0x95, 0x02// REPORT_COUNT (2)

         0x81, 0x02// INPUT (Data,Var,Abs)

         0xc0// END_COLLECTION

         0xc0   // END_COLLECTION

       

      It works fine with Windows 7 and Linux, but the problem is that my windows embedded CE 6.0 device interprets the coordinates as relative values.

       

      Does somebody has experience with single touch devices that works even with windows embedded and could help me with that problem?

       

      Or does somebody know any example project that I overlooked?

       

      Best regards, Markus