Add additional DJ report descriptor
Should fix invalid DJ reports in #100.
This commit is contained in:
		@@ -44,10 +44,35 @@ static const std::array<uint8_t, 34> DJReportDesc = {
 | 
			
		||||
        0xC0               // End Collection
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
static const std::array<uint8_t, 39> DJReportDesc2 = {
 | 
			
		||||
        0xA1, 0x01,        // Collection (Application)
 | 
			
		||||
        0x85, 0x20,        //   Report ID (32)
 | 
			
		||||
        0x75, 0x08,        //   Report Size (8)
 | 
			
		||||
        0x95, 0x0E,        //   Report Count (14)
 | 
			
		||||
        0x15, 0x00,        //   Logical Minimum (0)
 | 
			
		||||
        0x26, 0xFF, 0x00,  //   Logical Maximum (255)
 | 
			
		||||
        0x09, 0x41,        //   Usage (0x41)
 | 
			
		||||
        0x81, 0x00,        //   Input (Data, Array, Absolute)
 | 
			
		||||
        0x09, 0x41,        //   Usage (0x41)
 | 
			
		||||
        0x91, 0x00,        //   Output (Data, Array, Absolute)
 | 
			
		||||
        0x85, 0x21,        //   Report ID (33)
 | 
			
		||||
        0x95, 0x1F,        //   Report Count (31)
 | 
			
		||||
        0x15, 0x00,        //   Logical Minimum (0)
 | 
			
		||||
        0x26, 0xFF, 0x00,  //   Logical Maximum (255)
 | 
			
		||||
        0x09, 0x42,        //   Usage (0x42)
 | 
			
		||||
        0x81, 0x00,        //   Input (Data, Array, Absolute)
 | 
			
		||||
        0x09, 0x42,        //   Usage (0x42)
 | 
			
		||||
        0x91, 0x00,        //   Output (Data, Array, Absolute)
 | 
			
		||||
        0xC0               // End Collection
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
bool dj::supportsDjReports(std::vector<uint8_t>&& rdesc)
 | 
			
		||||
{
 | 
			
		||||
    auto it = std::search(rdesc.begin(), rdesc.end(),
 | 
			
		||||
            DJReportDesc.begin(), DJReportDesc.end());
 | 
			
		||||
    if(it == rdesc.end())
 | 
			
		||||
        it = std::search(rdesc.begin(), rdesc.end(),
 | 
			
		||||
                         DJReportDesc2.begin(), DJReportDesc2.end());
 | 
			
		||||
    return it != rdesc.end();
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user