Forum Rule: Always post complete source code & details to reproduce any issue!
Results 1 to 2 of 2

Thread: Hid: Feature report

  1. #1
    Junior Member ProBoDiS's Avatar
    Join Date
    Jan 2016

    Hid: Feature report

    I'm trying to implement touch screen device on Teensy 3.1 in the Arduino IDE.
    I need to recognize two contacts. However, Windows recognizes only one contact now(the second is ignored).
    I use this Report description:
    HTML Code:
        0x05, 0x0D,           // USAGE_PAGE (Digitizers)          
        0x09, 0x04,           // USAGE (Touch Screen)             
        0xA1, 0x01,           // COLLECTION (Application)         
        0x85, 0x01,           	//   REPORT_ID (Touch)                 
        0x09, 0x22,           	//   USAGE (Finger)                 
        0xA1, 0x02,           	//   COLLECTION (Logical)  
        0x09, 0x42,           		//       USAGE (Tip Switch)           
        0x15, 0x00,           		//       LOGICAL_MINIMUM (0)          
        0x25, 0x01,           		//       LOGICAL_MAXIMUM (1)          
        0x75, 0x01,           		//       REPORT_SIZE (1)              
        0x95, 0x01,           		//       REPORT_COUNT (1)             
        0x81, 0x02,           		//       INPUT (Data,Var,Abs)       
        // 0x09, 0x32,          		//       USAGE (In Range)             
        // 0x81, 0x02,           		//       INPUT (Data,Var,Abs)         
        0x95, 0x07,           		//       REPORT_COUNT (7)     
        0x81, 0x03,           		//       INPUT (Cnst,Ary,Abs)         
        0x75, 0x08,           		//       REPORT_SIZE (8)
        0x09, 0x51,           		//       USAGE (Contact Identifier)  
        0x95, 0x01,           		//       REPORT_COUNT (1)              
        0x81, 0x02,           		//       INPUT (Data,Var,Abs)       
        0x05, 0x01,           		//       USAGE_PAGE (Generic Desk..
        0x26, 0xFF, 0x0F,     		//       LOGICAL_MAXIMUM (4095)         
        0x75, 0x10,           		//       REPORT_SIZE (16)             
        0x55, 0x00,           		//       UNIT_EXPONENT (0)           
        0x65, 0x00,           		//       UNIT (None)                  
        0x09, 0x30,           		//       USAGE (X)                    
        0x35, 0x00,           		//       PHYSICAL_MINIMUM (0)         
        0x46, 0x00, 0x00,     		//       PHYSICAL_MAXIMUM (0)         
        0x81, 0x02,           		//       INPUT (Data,Var,Abs)        
        0x26, 0xFF, 0x0B,     		//       LOGICAL_MAXIMUM (3071)      
        0x09, 0x31,           		//       USAGE (Y)                    
        0x81, 0x02,           		//       INPUT (Data,Var,Abs)          
        0xC0,                 	//   END_COLLECTION
        0x05, 0x0D,           	//   USAGE_PAGE (Digitizers)    
        0x09, 0x54,           	//   USAGE (Actual count)
        0x95, 0x01,           	//   REPORT_COUNT (1)
        0x75, 0x08,           	//   REPORT_SIZE (8)    
        0x81, 0x02,           	//   INPUT (Data,Var,Abs)            
        0x85, 0x02,           	//   REPORT_ID (Feature)                   
        0x09, 0x55,           	//   USAGE(Maximum Count)
        0x25, 0x02,           	//   LOGICAL_MAXIMUM (2)
        0xB1, 0x02,           	//   FEATURE (Data,Var,Abs)    
        0xC0                  // END_COLLECTION
    As I understand it, to recognize the two contacts I have to specify the maximum number of contacts with REPORT ID #2(FEATURE (Data,Var,Abs)).
    And it should be sent only on request from the host, right?
    But I don't understand how to implement the answer report_id #2? As the function will help to know that it came this request?

  2. #2
    Junior Member ProBoDiS's Avatar
    Join Date
    Jan 2016
    I need your help!
    Which function will help to know that the host requests a FEATURE REPORT?

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts