# HIDAPI device info struct:
dev->vendor_id           = 0x17CC
dev->product_id          = 0x1130
dev->manufacturer_string = "Native Instruments"
dev->product_string      = "Traktor Kontrol Z2"
dev->release_number      = 0x0033
dev->interface_number    = 4
dev->usage               = 0x0000
dev->usage_page          = 0xFF01
dev->path                = "\\?\hid#vid_17cc&pid_1130&mi_04#9&11d406cd&0&0000#{4d1e55b2-f16f-11cf-88cb-001111000030}"

# Preparsed Data struct:
pp_data->MagicKey                             = 0x48696450204B4452
pp_data->Usage                                = 0x0000
pp_data->UsagePage                            = 0xFF01
pp_data->Reserved                             = 0x00000000
# Input caps_info struct:
pp_data->caps_info[0]->FirstCap           = 0
pp_data->caps_info[0]->LastCap            = 86
pp_data->caps_info[0]->NumberOfCaps       = 87
pp_data->caps_info[0]->ReportByteLength   = 53
# Output caps_info struct:
pp_data->caps_info[1]->FirstCap           = 87
pp_data->caps_info[1]->LastCap            = 221
pp_data->caps_info[1]->NumberOfCaps       = 134
pp_data->caps_info[1]->ReportByteLength   = 95
# Feature caps_info struct:
pp_data->caps_info[2]->FirstCap           = 221
pp_data->caps_info[2]->LastCap            = 232
pp_data->caps_info[2]->NumberOfCaps       = 11
pp_data->caps_info[2]->ReportByteLength   = 33
# LinkCollectionArray Offset & Size:
pp_data->FirstByteOfLinkCollectionArray       = 0x5E40
pp_data->NumberLinkCollectionNodes            = 16
# Input hid_pp_cap struct:
pp_data->cap[0]->UsagePage                    = 0xFF01
pp_data->cap[0]->ReportID                     = 0x01
pp_data->cap[0]->BitPosition                  = 4
pp_data->cap[0]->BitSize                      = 4
pp_data->cap[0]->ReportCount                  = 1
pp_data->cap[0]->BytePosition                 = 0x0002
pp_data->cap[0]->BitCount                     = 4
pp_data->cap[0]->BitField                     = 0x02
pp_data->cap[0]->NextBytePosition             = 0x0003
pp_data->cap[0]->LinkCollection               = 0x0001
pp_data->cap[0]->LinkUsagePage                = 0xFF01
pp_data->cap[0]->LinkUsage                    = 0x0001
pp_data->cap[0]->IsMultipleItemsForArray      = 0
pp_data->cap[0]->IsButtonCap                  = 0
pp_data->cap[0]->IsPadding                    = 0
pp_data->cap[0]->IsAbsolute                   = 1
pp_data->cap[0]->IsRange                      = 0
pp_data->cap[0]->IsAlias                      = 0
pp_data->cap[0]->IsStringRange                = 0
pp_data->cap[0]->IsDesignatorRange            = 0
pp_data->cap[0]->Reserved1                    = 0x000000
pp_data->cap[0]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[0]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[0]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[0]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[0]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[0]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[0]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[0]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[0]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[0]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[0]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[0]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[0]->NotRange.Usage                        = 0x0003
pp_data->cap[0]->NotRange.Reserved1                    = 0x0003
pp_data->cap[0]->NotRange.StringIndex                  = 0
pp_data->cap[0]->NotRange.Reserved2                    = 0
pp_data->cap[0]->NotRange.DesignatorIndex              = 0
pp_data->cap[0]->NotRange.Reserved3                    = 0
pp_data->cap[0]->NotRange.DataIndex                    = 0
pp_data->cap[0]->NotRange.Reserved4                    = 0
pp_data->cap[0]->NotButton.HasNull                   = 0
pp_data->cap[0]->NotButton.Reserved4                 = 0x000000
pp_data->cap[0]->NotButton.LogicalMin                = 0
pp_data->cap[0]->NotButton.LogicalMax                = 15
pp_data->cap[0]->NotButton.PhysicalMin               = 0
pp_data->cap[0]->NotButton.PhysicalMax               = 0
pp_data->cap[0]->Units                    = 0
pp_data->cap[0]->UnitsExp                 = 0

pp_data->cap[1]->UsagePage                    = 0xFF01
pp_data->cap[1]->ReportID                     = 0x01
pp_data->cap[1]->BitPosition                  = 0
pp_data->cap[1]->BitSize                      = 4
pp_data->cap[1]->ReportCount                  = 1
pp_data->cap[1]->BytePosition                 = 0x0002
pp_data->cap[1]->BitCount                     = 4
pp_data->cap[1]->BitField                     = 0x02
pp_data->cap[1]->NextBytePosition             = 0x0003
pp_data->cap[1]->LinkCollection               = 0x0001
pp_data->cap[1]->LinkUsagePage                = 0xFF01
pp_data->cap[1]->LinkUsage                    = 0x0001
pp_data->cap[1]->IsMultipleItemsForArray      = 0
pp_data->cap[1]->IsButtonCap                  = 0
pp_data->cap[1]->IsPadding                    = 0
pp_data->cap[1]->IsAbsolute                   = 1
pp_data->cap[1]->IsRange                      = 0
pp_data->cap[1]->IsAlias                      = 0
pp_data->cap[1]->IsStringRange                = 0
pp_data->cap[1]->IsDesignatorRange            = 0
pp_data->cap[1]->Reserved1                    = 0x000000
pp_data->cap[1]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[1]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[1]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[1]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[1]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[1]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[1]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[1]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[1]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[1]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[1]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[1]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[1]->NotRange.Usage                        = 0x0003
pp_data->cap[1]->NotRange.Reserved1                    = 0x0003
pp_data->cap[1]->NotRange.StringIndex                  = 0
pp_data->cap[1]->NotRange.Reserved2                    = 0
pp_data->cap[1]->NotRange.DesignatorIndex              = 0
pp_data->cap[1]->NotRange.Reserved3                    = 0
pp_data->cap[1]->NotRange.DataIndex                    = 1
pp_data->cap[1]->NotRange.Reserved4                    = 1
pp_data->cap[1]->NotButton.HasNull                   = 0
pp_data->cap[1]->NotButton.Reserved4                 = 0x000000
pp_data->cap[1]->NotButton.LogicalMin                = 0
pp_data->cap[1]->NotButton.LogicalMax                = 15
pp_data->cap[1]->NotButton.PhysicalMin               = 0
pp_data->cap[1]->NotButton.PhysicalMax               = 0
pp_data->cap[1]->Units                    = 0
pp_data->cap[1]->UnitsExp                 = 0

pp_data->cap[2]->UsagePage                    = 0xFF01
pp_data->cap[2]->ReportID                     = 0x01
pp_data->cap[2]->BitPosition                  = 4
pp_data->cap[2]->BitSize                      = 4
pp_data->cap[2]->ReportCount                  = 1
pp_data->cap[2]->BytePosition                 = 0x0001
pp_data->cap[2]->BitCount                     = 4
pp_data->cap[2]->BitField                     = 0x02
pp_data->cap[2]->NextBytePosition             = 0x0002
pp_data->cap[2]->LinkCollection               = 0x0001
pp_data->cap[2]->LinkUsagePage                = 0xFF01
pp_data->cap[2]->LinkUsage                    = 0x0001
pp_data->cap[2]->IsMultipleItemsForArray      = 0
pp_data->cap[2]->IsButtonCap                  = 0
pp_data->cap[2]->IsPadding                    = 0
pp_data->cap[2]->IsAbsolute                   = 1
pp_data->cap[2]->IsRange                      = 0
pp_data->cap[2]->IsAlias                      = 0
pp_data->cap[2]->IsStringRange                = 0
pp_data->cap[2]->IsDesignatorRange            = 0
pp_data->cap[2]->Reserved1                    = 0x000000
pp_data->cap[2]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[2]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[2]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[2]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[2]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[2]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[2]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[2]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[2]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[2]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[2]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[2]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[2]->NotRange.Usage                        = 0x0003
pp_data->cap[2]->NotRange.Reserved1                    = 0x0003
pp_data->cap[2]->NotRange.StringIndex                  = 0
pp_data->cap[2]->NotRange.Reserved2                    = 0
pp_data->cap[2]->NotRange.DesignatorIndex              = 0
pp_data->cap[2]->NotRange.Reserved3                    = 0
pp_data->cap[2]->NotRange.DataIndex                    = 2
pp_data->cap[2]->NotRange.Reserved4                    = 2
pp_data->cap[2]->NotButton.HasNull                   = 0
pp_data->cap[2]->NotButton.Reserved4                 = 0x000000
pp_data->cap[2]->NotButton.LogicalMin                = 0
pp_data->cap[2]->NotButton.LogicalMax                = 15
pp_data->cap[2]->NotButton.PhysicalMin               = 0
pp_data->cap[2]->NotButton.PhysicalMax               = 0
pp_data->cap[2]->Units                    = 0
pp_data->cap[2]->UnitsExp                 = 0

pp_data->cap[3]->UsagePage                    = 0xFF01
pp_data->cap[3]->ReportID                     = 0x01
pp_data->cap[3]->BitPosition                  = 0
pp_data->cap[3]->BitSize                      = 4
pp_data->cap[3]->ReportCount                  = 1
pp_data->cap[3]->BytePosition                 = 0x0001
pp_data->cap[3]->BitCount                     = 4
pp_data->cap[3]->BitField                     = 0x02
pp_data->cap[3]->NextBytePosition             = 0x0002
pp_data->cap[3]->LinkCollection               = 0x0001
pp_data->cap[3]->LinkUsagePage                = 0xFF01
pp_data->cap[3]->LinkUsage                    = 0x0001
pp_data->cap[3]->IsMultipleItemsForArray      = 0
pp_data->cap[3]->IsButtonCap                  = 0
pp_data->cap[3]->IsPadding                    = 0
pp_data->cap[3]->IsAbsolute                   = 1
pp_data->cap[3]->IsRange                      = 0
pp_data->cap[3]->IsAlias                      = 0
pp_data->cap[3]->IsStringRange                = 0
pp_data->cap[3]->IsDesignatorRange            = 0
pp_data->cap[3]->Reserved1                    = 0x000000
pp_data->cap[3]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[3]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[3]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[3]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[3]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[3]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[3]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[3]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[3]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[3]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[3]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[3]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[3]->NotRange.Usage                        = 0x0003
pp_data->cap[3]->NotRange.Reserved1                    = 0x0003
pp_data->cap[3]->NotRange.StringIndex                  = 0
pp_data->cap[3]->NotRange.Reserved2                    = 0
pp_data->cap[3]->NotRange.DesignatorIndex              = 0
pp_data->cap[3]->NotRange.Reserved3                    = 0
pp_data->cap[3]->NotRange.DataIndex                    = 3
pp_data->cap[3]->NotRange.Reserved4                    = 3
pp_data->cap[3]->NotButton.HasNull                   = 0
pp_data->cap[3]->NotButton.Reserved4                 = 0x000000
pp_data->cap[3]->NotButton.LogicalMin                = 0
pp_data->cap[3]->NotButton.LogicalMax                = 15
pp_data->cap[3]->NotButton.PhysicalMin               = 0
pp_data->cap[3]->NotButton.PhysicalMax               = 0
pp_data->cap[3]->Units                    = 0
pp_data->cap[3]->UnitsExp                 = 0

pp_data->cap[4]->UsagePage                    = 0xFF01
pp_data->cap[4]->ReportID                     = 0x01
pp_data->cap[4]->BitPosition                  = 7
pp_data->cap[4]->BitSize                      = 1
pp_data->cap[4]->ReportCount                  = 1
pp_data->cap[4]->BytePosition                 = 0x0008
pp_data->cap[4]->BitCount                     = 1
pp_data->cap[4]->BitField                     = 0x02
pp_data->cap[4]->NextBytePosition             = 0x0009
pp_data->cap[4]->LinkCollection               = 0x0001
pp_data->cap[4]->LinkUsagePage                = 0xFF01
pp_data->cap[4]->LinkUsage                    = 0x0001
pp_data->cap[4]->IsMultipleItemsForArray      = 0
pp_data->cap[4]->IsButtonCap                  = 1
pp_data->cap[4]->IsPadding                    = 0
pp_data->cap[4]->IsAbsolute                   = 1
pp_data->cap[4]->IsRange                      = 0
pp_data->cap[4]->IsAlias                      = 0
pp_data->cap[4]->IsStringRange                = 0
pp_data->cap[4]->IsDesignatorRange            = 0
pp_data->cap[4]->Reserved1                    = 0x000000
pp_data->cap[4]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[4]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[4]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[4]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[4]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[4]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[4]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[4]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[4]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[4]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[4]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[4]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[4]->NotRange.Usage                        = 0x0002
pp_data->cap[4]->NotRange.Reserved1                    = 0x0002
pp_data->cap[4]->NotRange.StringIndex                  = 0
pp_data->cap[4]->NotRange.Reserved2                    = 0
pp_data->cap[4]->NotRange.DesignatorIndex              = 0
pp_data->cap[4]->NotRange.Reserved3                    = 0
pp_data->cap[4]->NotRange.DataIndex                    = 4
pp_data->cap[4]->NotRange.Reserved4                    = 4
pp_data->cap[4]->Button.LogicalMin                   = 0
pp_data->cap[4]->Button.LogicalMax                   = 0
pp_data->cap[4]->Units                    = 0
pp_data->cap[4]->UnitsExp                 = 0

pp_data->cap[5]->UsagePage                    = 0xFF01
pp_data->cap[5]->ReportID                     = 0x01
pp_data->cap[5]->BitPosition                  = 6
pp_data->cap[5]->BitSize                      = 1
pp_data->cap[5]->ReportCount                  = 1
pp_data->cap[5]->BytePosition                 = 0x0008
pp_data->cap[5]->BitCount                     = 1
pp_data->cap[5]->BitField                     = 0x02
pp_data->cap[5]->NextBytePosition             = 0x0009
pp_data->cap[5]->LinkCollection               = 0x0001
pp_data->cap[5]->LinkUsagePage                = 0xFF01
pp_data->cap[5]->LinkUsage                    = 0x0001
pp_data->cap[5]->IsMultipleItemsForArray      = 0
pp_data->cap[5]->IsButtonCap                  = 1
pp_data->cap[5]->IsPadding                    = 0
pp_data->cap[5]->IsAbsolute                   = 1
pp_data->cap[5]->IsRange                      = 0
pp_data->cap[5]->IsAlias                      = 0
pp_data->cap[5]->IsStringRange                = 0
pp_data->cap[5]->IsDesignatorRange            = 0
pp_data->cap[5]->Reserved1                    = 0x000000
pp_data->cap[5]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[5]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[5]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[5]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[5]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[5]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[5]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[5]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[5]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[5]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[5]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[5]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[5]->NotRange.Usage                        = 0x0002
pp_data->cap[5]->NotRange.Reserved1                    = 0x0002
pp_data->cap[5]->NotRange.StringIndex                  = 0
pp_data->cap[5]->NotRange.Reserved2                    = 0
pp_data->cap[5]->NotRange.DesignatorIndex              = 0
pp_data->cap[5]->NotRange.Reserved3                    = 0
pp_data->cap[5]->NotRange.DataIndex                    = 5
pp_data->cap[5]->NotRange.Reserved4                    = 5
pp_data->cap[5]->Button.LogicalMin                   = 0
pp_data->cap[5]->Button.LogicalMax                   = 0
pp_data->cap[5]->Units                    = 0
pp_data->cap[5]->UnitsExp                 = 0

pp_data->cap[6]->UsagePage                    = 0xFF01
pp_data->cap[6]->ReportID                     = 0x01
pp_data->cap[6]->BitPosition                  = 5
pp_data->cap[6]->BitSize                      = 1
pp_data->cap[6]->ReportCount                  = 1
pp_data->cap[6]->BytePosition                 = 0x0008
pp_data->cap[6]->BitCount                     = 1
pp_data->cap[6]->BitField                     = 0x02
pp_data->cap[6]->NextBytePosition             = 0x0009
pp_data->cap[6]->LinkCollection               = 0x0001
pp_data->cap[6]->LinkUsagePage                = 0xFF01
pp_data->cap[6]->LinkUsage                    = 0x0001
pp_data->cap[6]->IsMultipleItemsForArray      = 0
pp_data->cap[6]->IsButtonCap                  = 1
pp_data->cap[6]->IsPadding                    = 0
pp_data->cap[6]->IsAbsolute                   = 1
pp_data->cap[6]->IsRange                      = 0
pp_data->cap[6]->IsAlias                      = 0
pp_data->cap[6]->IsStringRange                = 0
pp_data->cap[6]->IsDesignatorRange            = 0
pp_data->cap[6]->Reserved1                    = 0x000000
pp_data->cap[6]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[6]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[6]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[6]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[6]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[6]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[6]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[6]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[6]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[6]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[6]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[6]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[6]->NotRange.Usage                        = 0x0002
pp_data->cap[6]->NotRange.Reserved1                    = 0x0002
pp_data->cap[6]->NotRange.StringIndex                  = 0
pp_data->cap[6]->NotRange.Reserved2                    = 0
pp_data->cap[6]->NotRange.DesignatorIndex              = 0
pp_data->cap[6]->NotRange.Reserved3                    = 0
pp_data->cap[6]->NotRange.DataIndex                    = 6
pp_data->cap[6]->NotRange.Reserved4                    = 6
pp_data->cap[6]->Button.LogicalMin                   = 0
pp_data->cap[6]->Button.LogicalMax                   = 0
pp_data->cap[6]->Units                    = 0
pp_data->cap[6]->UnitsExp                 = 0

pp_data->cap[7]->UsagePage                    = 0xFF01
pp_data->cap[7]->ReportID                     = 0x01
pp_data->cap[7]->BitPosition                  = 4
pp_data->cap[7]->BitSize                      = 1
pp_data->cap[7]->ReportCount                  = 1
pp_data->cap[7]->BytePosition                 = 0x0008
pp_data->cap[7]->BitCount                     = 1
pp_data->cap[7]->BitField                     = 0x02
pp_data->cap[7]->NextBytePosition             = 0x0009
pp_data->cap[7]->LinkCollection               = 0x0001
pp_data->cap[7]->LinkUsagePage                = 0xFF01
pp_data->cap[7]->LinkUsage                    = 0x0001
pp_data->cap[7]->IsMultipleItemsForArray      = 0
pp_data->cap[7]->IsButtonCap                  = 1
pp_data->cap[7]->IsPadding                    = 0
pp_data->cap[7]->IsAbsolute                   = 1
pp_data->cap[7]->IsRange                      = 0
pp_data->cap[7]->IsAlias                      = 0
pp_data->cap[7]->IsStringRange                = 0
pp_data->cap[7]->IsDesignatorRange            = 0
pp_data->cap[7]->Reserved1                    = 0x000000
pp_data->cap[7]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[7]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[7]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[7]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[7]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[7]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[7]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[7]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[7]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[7]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[7]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[7]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[7]->NotRange.Usage                        = 0x0002
pp_data->cap[7]->NotRange.Reserved1                    = 0x0002
pp_data->cap[7]->NotRange.StringIndex                  = 0
pp_data->cap[7]->NotRange.Reserved2                    = 0
pp_data->cap[7]->NotRange.DesignatorIndex              = 0
pp_data->cap[7]->NotRange.Reserved3                    = 0
pp_data->cap[7]->NotRange.DataIndex                    = 7
pp_data->cap[7]->NotRange.Reserved4                    = 7
pp_data->cap[7]->Button.LogicalMin                   = 0
pp_data->cap[7]->Button.LogicalMax                   = 0
pp_data->cap[7]->Units                    = 0
pp_data->cap[7]->UnitsExp                 = 0

pp_data->cap[8]->UsagePage                    = 0xFF01
pp_data->cap[8]->ReportID                     = 0x01
pp_data->cap[8]->BitPosition                  = 3
pp_data->cap[8]->BitSize                      = 1
pp_data->cap[8]->ReportCount                  = 1
pp_data->cap[8]->BytePosition                 = 0x0008
pp_data->cap[8]->BitCount                     = 1
pp_data->cap[8]->BitField                     = 0x02
pp_data->cap[8]->NextBytePosition             = 0x0009
pp_data->cap[8]->LinkCollection               = 0x0001
pp_data->cap[8]->LinkUsagePage                = 0xFF01
pp_data->cap[8]->LinkUsage                    = 0x0001
pp_data->cap[8]->IsMultipleItemsForArray      = 0
pp_data->cap[8]->IsButtonCap                  = 1
pp_data->cap[8]->IsPadding                    = 0
pp_data->cap[8]->IsAbsolute                   = 1
pp_data->cap[8]->IsRange                      = 0
pp_data->cap[8]->IsAlias                      = 0
pp_data->cap[8]->IsStringRange                = 0
pp_data->cap[8]->IsDesignatorRange            = 0
pp_data->cap[8]->Reserved1                    = 0x000000
pp_data->cap[8]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[8]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[8]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[8]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[8]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[8]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[8]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[8]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[8]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[8]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[8]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[8]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[8]->NotRange.Usage                        = 0x0002
pp_data->cap[8]->NotRange.Reserved1                    = 0x0002
pp_data->cap[8]->NotRange.StringIndex                  = 0
pp_data->cap[8]->NotRange.Reserved2                    = 0
pp_data->cap[8]->NotRange.DesignatorIndex              = 0
pp_data->cap[8]->NotRange.Reserved3                    = 0
pp_data->cap[8]->NotRange.DataIndex                    = 8
pp_data->cap[8]->NotRange.Reserved4                    = 8
pp_data->cap[8]->Button.LogicalMin                   = 0
pp_data->cap[8]->Button.LogicalMax                   = 0
pp_data->cap[8]->Units                    = 0
pp_data->cap[8]->UnitsExp                 = 0

pp_data->cap[9]->UsagePage                    = 0xFF01
pp_data->cap[9]->ReportID                     = 0x01
pp_data->cap[9]->BitPosition                  = 2
pp_data->cap[9]->BitSize                      = 1
pp_data->cap[9]->ReportCount                  = 1
pp_data->cap[9]->BytePosition                 = 0x0008
pp_data->cap[9]->BitCount                     = 1
pp_data->cap[9]->BitField                     = 0x02
pp_data->cap[9]->NextBytePosition             = 0x0009
pp_data->cap[9]->LinkCollection               = 0x0001
pp_data->cap[9]->LinkUsagePage                = 0xFF01
pp_data->cap[9]->LinkUsage                    = 0x0001
pp_data->cap[9]->IsMultipleItemsForArray      = 0
pp_data->cap[9]->IsButtonCap                  = 1
pp_data->cap[9]->IsPadding                    = 0
pp_data->cap[9]->IsAbsolute                   = 1
pp_data->cap[9]->IsRange                      = 0
pp_data->cap[9]->IsAlias                      = 0
pp_data->cap[9]->IsStringRange                = 0
pp_data->cap[9]->IsDesignatorRange            = 0
pp_data->cap[9]->Reserved1                    = 0x000000
pp_data->cap[9]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[9]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[9]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[9]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[9]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[9]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[9]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[9]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[9]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[9]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[9]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[9]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[9]->NotRange.Usage                        = 0x0002
pp_data->cap[9]->NotRange.Reserved1                    = 0x0002
pp_data->cap[9]->NotRange.StringIndex                  = 0
pp_data->cap[9]->NotRange.Reserved2                    = 0
pp_data->cap[9]->NotRange.DesignatorIndex              = 0
pp_data->cap[9]->NotRange.Reserved3                    = 0
pp_data->cap[9]->NotRange.DataIndex                    = 9
pp_data->cap[9]->NotRange.Reserved4                    = 9
pp_data->cap[9]->Button.LogicalMin                   = 0
pp_data->cap[9]->Button.LogicalMax                   = 0
pp_data->cap[9]->Units                    = 0
pp_data->cap[9]->UnitsExp                 = 0

pp_data->cap[10]->UsagePage                    = 0xFF01
pp_data->cap[10]->ReportID                     = 0x01
pp_data->cap[10]->BitPosition                  = 1
pp_data->cap[10]->BitSize                      = 1
pp_data->cap[10]->ReportCount                  = 1
pp_data->cap[10]->BytePosition                 = 0x0008
pp_data->cap[10]->BitCount                     = 1
pp_data->cap[10]->BitField                     = 0x02
pp_data->cap[10]->NextBytePosition             = 0x0009
pp_data->cap[10]->LinkCollection               = 0x0001
pp_data->cap[10]->LinkUsagePage                = 0xFF01
pp_data->cap[10]->LinkUsage                    = 0x0001
pp_data->cap[10]->IsMultipleItemsForArray      = 0
pp_data->cap[10]->IsButtonCap                  = 1
pp_data->cap[10]->IsPadding                    = 0
pp_data->cap[10]->IsAbsolute                   = 1
pp_data->cap[10]->IsRange                      = 0
pp_data->cap[10]->IsAlias                      = 0
pp_data->cap[10]->IsStringRange                = 0
pp_data->cap[10]->IsDesignatorRange            = 0
pp_data->cap[10]->Reserved1                    = 0x000000
pp_data->cap[10]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[10]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[10]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[10]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[10]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[10]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[10]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[10]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[10]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[10]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[10]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[10]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[10]->NotRange.Usage                        = 0x0002
pp_data->cap[10]->NotRange.Reserved1                    = 0x0002
pp_data->cap[10]->NotRange.StringIndex                  = 0
pp_data->cap[10]->NotRange.Reserved2                    = 0
pp_data->cap[10]->NotRange.DesignatorIndex              = 0
pp_data->cap[10]->NotRange.Reserved3                    = 0
pp_data->cap[10]->NotRange.DataIndex                    = 10
pp_data->cap[10]->NotRange.Reserved4                    = 10
pp_data->cap[10]->Button.LogicalMin                   = 0
pp_data->cap[10]->Button.LogicalMax                   = 0
pp_data->cap[10]->Units                    = 0
pp_data->cap[10]->UnitsExp                 = 0

pp_data->cap[11]->UsagePage                    = 0xFF01
pp_data->cap[11]->ReportID                     = 0x01
pp_data->cap[11]->BitPosition                  = 0
pp_data->cap[11]->BitSize                      = 1
pp_data->cap[11]->ReportCount                  = 1
pp_data->cap[11]->BytePosition                 = 0x0008
pp_data->cap[11]->BitCount                     = 1
pp_data->cap[11]->BitField                     = 0x02
pp_data->cap[11]->NextBytePosition             = 0x0009
pp_data->cap[11]->LinkCollection               = 0x0001
pp_data->cap[11]->LinkUsagePage                = 0xFF01
pp_data->cap[11]->LinkUsage                    = 0x0001
pp_data->cap[11]->IsMultipleItemsForArray      = 0
pp_data->cap[11]->IsButtonCap                  = 1
pp_data->cap[11]->IsPadding                    = 0
pp_data->cap[11]->IsAbsolute                   = 1
pp_data->cap[11]->IsRange                      = 0
pp_data->cap[11]->IsAlias                      = 0
pp_data->cap[11]->IsStringRange                = 0
pp_data->cap[11]->IsDesignatorRange            = 0
pp_data->cap[11]->Reserved1                    = 0x000000
pp_data->cap[11]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[11]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[11]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[11]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[11]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[11]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[11]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[11]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[11]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[11]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[11]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[11]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[11]->NotRange.Usage                        = 0x0002
pp_data->cap[11]->NotRange.Reserved1                    = 0x0002
pp_data->cap[11]->NotRange.StringIndex                  = 0
pp_data->cap[11]->NotRange.Reserved2                    = 0
pp_data->cap[11]->NotRange.DesignatorIndex              = 0
pp_data->cap[11]->NotRange.Reserved3                    = 0
pp_data->cap[11]->NotRange.DataIndex                    = 11
pp_data->cap[11]->NotRange.Reserved4                    = 11
pp_data->cap[11]->Button.LogicalMin                   = 0
pp_data->cap[11]->Button.LogicalMax                   = 0
pp_data->cap[11]->Units                    = 0
pp_data->cap[11]->UnitsExp                 = 0

pp_data->cap[12]->UsagePage                    = 0xFF01
pp_data->cap[12]->ReportID                     = 0x01
pp_data->cap[12]->BitPosition                  = 7
pp_data->cap[12]->BitSize                      = 1
pp_data->cap[12]->ReportCount                  = 1
pp_data->cap[12]->BytePosition                 = 0x0007
pp_data->cap[12]->BitCount                     = 1
pp_data->cap[12]->BitField                     = 0x02
pp_data->cap[12]->NextBytePosition             = 0x0008
pp_data->cap[12]->LinkCollection               = 0x0001
pp_data->cap[12]->LinkUsagePage                = 0xFF01
pp_data->cap[12]->LinkUsage                    = 0x0001
pp_data->cap[12]->IsMultipleItemsForArray      = 0
pp_data->cap[12]->IsButtonCap                  = 1
pp_data->cap[12]->IsPadding                    = 0
pp_data->cap[12]->IsAbsolute                   = 1
pp_data->cap[12]->IsRange                      = 0
pp_data->cap[12]->IsAlias                      = 0
pp_data->cap[12]->IsStringRange                = 0
pp_data->cap[12]->IsDesignatorRange            = 0
pp_data->cap[12]->Reserved1                    = 0x000000
pp_data->cap[12]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[12]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[12]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[12]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[12]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[12]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[12]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[12]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[12]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[12]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[12]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[12]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[12]->NotRange.Usage                        = 0x0002
pp_data->cap[12]->NotRange.Reserved1                    = 0x0002
pp_data->cap[12]->NotRange.StringIndex                  = 0
pp_data->cap[12]->NotRange.Reserved2                    = 0
pp_data->cap[12]->NotRange.DesignatorIndex              = 0
pp_data->cap[12]->NotRange.Reserved3                    = 0
pp_data->cap[12]->NotRange.DataIndex                    = 12
pp_data->cap[12]->NotRange.Reserved4                    = 12
pp_data->cap[12]->Button.LogicalMin                   = 0
pp_data->cap[12]->Button.LogicalMax                   = 0
pp_data->cap[12]->Units                    = 0
pp_data->cap[12]->UnitsExp                 = 0

pp_data->cap[13]->UsagePage                    = 0xFF01
pp_data->cap[13]->ReportID                     = 0x01
pp_data->cap[13]->BitPosition                  = 6
pp_data->cap[13]->BitSize                      = 1
pp_data->cap[13]->ReportCount                  = 1
pp_data->cap[13]->BytePosition                 = 0x0007
pp_data->cap[13]->BitCount                     = 1
pp_data->cap[13]->BitField                     = 0x02
pp_data->cap[13]->NextBytePosition             = 0x0008
pp_data->cap[13]->LinkCollection               = 0x0001
pp_data->cap[13]->LinkUsagePage                = 0xFF01
pp_data->cap[13]->LinkUsage                    = 0x0001
pp_data->cap[13]->IsMultipleItemsForArray      = 0
pp_data->cap[13]->IsButtonCap                  = 1
pp_data->cap[13]->IsPadding                    = 0
pp_data->cap[13]->IsAbsolute                   = 1
pp_data->cap[13]->IsRange                      = 0
pp_data->cap[13]->IsAlias                      = 0
pp_data->cap[13]->IsStringRange                = 0
pp_data->cap[13]->IsDesignatorRange            = 0
pp_data->cap[13]->Reserved1                    = 0x000000
pp_data->cap[13]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[13]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[13]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[13]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[13]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[13]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[13]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[13]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[13]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[13]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[13]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[13]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[13]->NotRange.Usage                        = 0x0002
pp_data->cap[13]->NotRange.Reserved1                    = 0x0002
pp_data->cap[13]->NotRange.StringIndex                  = 0
pp_data->cap[13]->NotRange.Reserved2                    = 0
pp_data->cap[13]->NotRange.DesignatorIndex              = 0
pp_data->cap[13]->NotRange.Reserved3                    = 0
pp_data->cap[13]->NotRange.DataIndex                    = 13
pp_data->cap[13]->NotRange.Reserved4                    = 13
pp_data->cap[13]->Button.LogicalMin                   = 0
pp_data->cap[13]->Button.LogicalMax                   = 0
pp_data->cap[13]->Units                    = 0
pp_data->cap[13]->UnitsExp                 = 0

pp_data->cap[14]->UsagePage                    = 0xFF01
pp_data->cap[14]->ReportID                     = 0x01
pp_data->cap[14]->BitPosition                  = 5
pp_data->cap[14]->BitSize                      = 1
pp_data->cap[14]->ReportCount                  = 1
pp_data->cap[14]->BytePosition                 = 0x0007
pp_data->cap[14]->BitCount                     = 1
pp_data->cap[14]->BitField                     = 0x02
pp_data->cap[14]->NextBytePosition             = 0x0008
pp_data->cap[14]->LinkCollection               = 0x0001
pp_data->cap[14]->LinkUsagePage                = 0xFF01
pp_data->cap[14]->LinkUsage                    = 0x0001
pp_data->cap[14]->IsMultipleItemsForArray      = 0
pp_data->cap[14]->IsButtonCap                  = 1
pp_data->cap[14]->IsPadding                    = 0
pp_data->cap[14]->IsAbsolute                   = 1
pp_data->cap[14]->IsRange                      = 0
pp_data->cap[14]->IsAlias                      = 0
pp_data->cap[14]->IsStringRange                = 0
pp_data->cap[14]->IsDesignatorRange            = 0
pp_data->cap[14]->Reserved1                    = 0x000000
pp_data->cap[14]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[14]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[14]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[14]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[14]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[14]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[14]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[14]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[14]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[14]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[14]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[14]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[14]->NotRange.Usage                        = 0x0002
pp_data->cap[14]->NotRange.Reserved1                    = 0x0002
pp_data->cap[14]->NotRange.StringIndex                  = 0
pp_data->cap[14]->NotRange.Reserved2                    = 0
pp_data->cap[14]->NotRange.DesignatorIndex              = 0
pp_data->cap[14]->NotRange.Reserved3                    = 0
pp_data->cap[14]->NotRange.DataIndex                    = 14
pp_data->cap[14]->NotRange.Reserved4                    = 14
pp_data->cap[14]->Button.LogicalMin                   = 0
pp_data->cap[14]->Button.LogicalMax                   = 0
pp_data->cap[14]->Units                    = 0
pp_data->cap[14]->UnitsExp                 = 0

pp_data->cap[15]->UsagePage                    = 0xFF01
pp_data->cap[15]->ReportID                     = 0x01
pp_data->cap[15]->BitPosition                  = 4
pp_data->cap[15]->BitSize                      = 1
pp_data->cap[15]->ReportCount                  = 1
pp_data->cap[15]->BytePosition                 = 0x0007
pp_data->cap[15]->BitCount                     = 1
pp_data->cap[15]->BitField                     = 0x02
pp_data->cap[15]->NextBytePosition             = 0x0008
pp_data->cap[15]->LinkCollection               = 0x0001
pp_data->cap[15]->LinkUsagePage                = 0xFF01
pp_data->cap[15]->LinkUsage                    = 0x0001
pp_data->cap[15]->IsMultipleItemsForArray      = 0
pp_data->cap[15]->IsButtonCap                  = 1
pp_data->cap[15]->IsPadding                    = 0
pp_data->cap[15]->IsAbsolute                   = 1
pp_data->cap[15]->IsRange                      = 0
pp_data->cap[15]->IsAlias                      = 0
pp_data->cap[15]->IsStringRange                = 0
pp_data->cap[15]->IsDesignatorRange            = 0
pp_data->cap[15]->Reserved1                    = 0x000000
pp_data->cap[15]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[15]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[15]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[15]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[15]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[15]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[15]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[15]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[15]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[15]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[15]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[15]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[15]->NotRange.Usage                        = 0x0002
pp_data->cap[15]->NotRange.Reserved1                    = 0x0002
pp_data->cap[15]->NotRange.StringIndex                  = 0
pp_data->cap[15]->NotRange.Reserved2                    = 0
pp_data->cap[15]->NotRange.DesignatorIndex              = 0
pp_data->cap[15]->NotRange.Reserved3                    = 0
pp_data->cap[15]->NotRange.DataIndex                    = 15
pp_data->cap[15]->NotRange.Reserved4                    = 15
pp_data->cap[15]->Button.LogicalMin                   = 0
pp_data->cap[15]->Button.LogicalMax                   = 0
pp_data->cap[15]->Units                    = 0
pp_data->cap[15]->UnitsExp                 = 0

pp_data->cap[16]->UsagePage                    = 0xFF01
pp_data->cap[16]->ReportID                     = 0x01
pp_data->cap[16]->BitPosition                  = 3
pp_data->cap[16]->BitSize                      = 1
pp_data->cap[16]->ReportCount                  = 1
pp_data->cap[16]->BytePosition                 = 0x0007
pp_data->cap[16]->BitCount                     = 1
pp_data->cap[16]->BitField                     = 0x02
pp_data->cap[16]->NextBytePosition             = 0x0008
pp_data->cap[16]->LinkCollection               = 0x0001
pp_data->cap[16]->LinkUsagePage                = 0xFF01
pp_data->cap[16]->LinkUsage                    = 0x0001
pp_data->cap[16]->IsMultipleItemsForArray      = 0
pp_data->cap[16]->IsButtonCap                  = 1
pp_data->cap[16]->IsPadding                    = 0
pp_data->cap[16]->IsAbsolute                   = 1
pp_data->cap[16]->IsRange                      = 0
pp_data->cap[16]->IsAlias                      = 0
pp_data->cap[16]->IsStringRange                = 0
pp_data->cap[16]->IsDesignatorRange            = 0
pp_data->cap[16]->Reserved1                    = 0x000000
pp_data->cap[16]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[16]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[16]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[16]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[16]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[16]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[16]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[16]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[16]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[16]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[16]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[16]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[16]->NotRange.Usage                        = 0x0002
pp_data->cap[16]->NotRange.Reserved1                    = 0x0002
pp_data->cap[16]->NotRange.StringIndex                  = 0
pp_data->cap[16]->NotRange.Reserved2                    = 0
pp_data->cap[16]->NotRange.DesignatorIndex              = 0
pp_data->cap[16]->NotRange.Reserved3                    = 0
pp_data->cap[16]->NotRange.DataIndex                    = 16
pp_data->cap[16]->NotRange.Reserved4                    = 16
pp_data->cap[16]->Button.LogicalMin                   = 0
pp_data->cap[16]->Button.LogicalMax                   = 0
pp_data->cap[16]->Units                    = 0
pp_data->cap[16]->UnitsExp                 = 0

pp_data->cap[17]->UsagePage                    = 0xFF01
pp_data->cap[17]->ReportID                     = 0x01
pp_data->cap[17]->BitPosition                  = 2
pp_data->cap[17]->BitSize                      = 1
pp_data->cap[17]->ReportCount                  = 1
pp_data->cap[17]->BytePosition                 = 0x0007
pp_data->cap[17]->BitCount                     = 1
pp_data->cap[17]->BitField                     = 0x02
pp_data->cap[17]->NextBytePosition             = 0x0008
pp_data->cap[17]->LinkCollection               = 0x0001
pp_data->cap[17]->LinkUsagePage                = 0xFF01
pp_data->cap[17]->LinkUsage                    = 0x0001
pp_data->cap[17]->IsMultipleItemsForArray      = 0
pp_data->cap[17]->IsButtonCap                  = 1
pp_data->cap[17]->IsPadding                    = 0
pp_data->cap[17]->IsAbsolute                   = 1
pp_data->cap[17]->IsRange                      = 0
pp_data->cap[17]->IsAlias                      = 0
pp_data->cap[17]->IsStringRange                = 0
pp_data->cap[17]->IsDesignatorRange            = 0
pp_data->cap[17]->Reserved1                    = 0x000000
pp_data->cap[17]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[17]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[17]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[17]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[17]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[17]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[17]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[17]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[17]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[17]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[17]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[17]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[17]->NotRange.Usage                        = 0x0002
pp_data->cap[17]->NotRange.Reserved1                    = 0x0002
pp_data->cap[17]->NotRange.StringIndex                  = 0
pp_data->cap[17]->NotRange.Reserved2                    = 0
pp_data->cap[17]->NotRange.DesignatorIndex              = 0
pp_data->cap[17]->NotRange.Reserved3                    = 0
pp_data->cap[17]->NotRange.DataIndex                    = 17
pp_data->cap[17]->NotRange.Reserved4                    = 17
pp_data->cap[17]->Button.LogicalMin                   = 0
pp_data->cap[17]->Button.LogicalMax                   = 0
pp_data->cap[17]->Units                    = 0
pp_data->cap[17]->UnitsExp                 = 0

pp_data->cap[18]->UsagePage                    = 0xFF01
pp_data->cap[18]->ReportID                     = 0x01
pp_data->cap[18]->BitPosition                  = 1
pp_data->cap[18]->BitSize                      = 1
pp_data->cap[18]->ReportCount                  = 1
pp_data->cap[18]->BytePosition                 = 0x0007
pp_data->cap[18]->BitCount                     = 1
pp_data->cap[18]->BitField                     = 0x02
pp_data->cap[18]->NextBytePosition             = 0x0008
pp_data->cap[18]->LinkCollection               = 0x0001
pp_data->cap[18]->LinkUsagePage                = 0xFF01
pp_data->cap[18]->LinkUsage                    = 0x0001
pp_data->cap[18]->IsMultipleItemsForArray      = 0
pp_data->cap[18]->IsButtonCap                  = 1
pp_data->cap[18]->IsPadding                    = 0
pp_data->cap[18]->IsAbsolute                   = 1
pp_data->cap[18]->IsRange                      = 0
pp_data->cap[18]->IsAlias                      = 0
pp_data->cap[18]->IsStringRange                = 0
pp_data->cap[18]->IsDesignatorRange            = 0
pp_data->cap[18]->Reserved1                    = 0x000000
pp_data->cap[18]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[18]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[18]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[18]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[18]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[18]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[18]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[18]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[18]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[18]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[18]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[18]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[18]->NotRange.Usage                        = 0x0002
pp_data->cap[18]->NotRange.Reserved1                    = 0x0002
pp_data->cap[18]->NotRange.StringIndex                  = 0
pp_data->cap[18]->NotRange.Reserved2                    = 0
pp_data->cap[18]->NotRange.DesignatorIndex              = 0
pp_data->cap[18]->NotRange.Reserved3                    = 0
pp_data->cap[18]->NotRange.DataIndex                    = 18
pp_data->cap[18]->NotRange.Reserved4                    = 18
pp_data->cap[18]->Button.LogicalMin                   = 0
pp_data->cap[18]->Button.LogicalMax                   = 0
pp_data->cap[18]->Units                    = 0
pp_data->cap[18]->UnitsExp                 = 0

pp_data->cap[19]->UsagePage                    = 0xFF01
pp_data->cap[19]->ReportID                     = 0x01
pp_data->cap[19]->BitPosition                  = 0
pp_data->cap[19]->BitSize                      = 1
pp_data->cap[19]->ReportCount                  = 1
pp_data->cap[19]->BytePosition                 = 0x0007
pp_data->cap[19]->BitCount                     = 1
pp_data->cap[19]->BitField                     = 0x02
pp_data->cap[19]->NextBytePosition             = 0x0008
pp_data->cap[19]->LinkCollection               = 0x0001
pp_data->cap[19]->LinkUsagePage                = 0xFF01
pp_data->cap[19]->LinkUsage                    = 0x0001
pp_data->cap[19]->IsMultipleItemsForArray      = 0
pp_data->cap[19]->IsButtonCap                  = 1
pp_data->cap[19]->IsPadding                    = 0
pp_data->cap[19]->IsAbsolute                   = 1
pp_data->cap[19]->IsRange                      = 0
pp_data->cap[19]->IsAlias                      = 0
pp_data->cap[19]->IsStringRange                = 0
pp_data->cap[19]->IsDesignatorRange            = 0
pp_data->cap[19]->Reserved1                    = 0x000000
pp_data->cap[19]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[19]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[19]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[19]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[19]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[19]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[19]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[19]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[19]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[19]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[19]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[19]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[19]->NotRange.Usage                        = 0x0002
pp_data->cap[19]->NotRange.Reserved1                    = 0x0002
pp_data->cap[19]->NotRange.StringIndex                  = 0
pp_data->cap[19]->NotRange.Reserved2                    = 0
pp_data->cap[19]->NotRange.DesignatorIndex              = 0
pp_data->cap[19]->NotRange.Reserved3                    = 0
pp_data->cap[19]->NotRange.DataIndex                    = 19
pp_data->cap[19]->NotRange.Reserved4                    = 19
pp_data->cap[19]->Button.LogicalMin                   = 0
pp_data->cap[19]->Button.LogicalMax                   = 0
pp_data->cap[19]->Units                    = 0
pp_data->cap[19]->UnitsExp                 = 0

pp_data->cap[20]->UsagePage                    = 0xFF01
pp_data->cap[20]->ReportID                     = 0x01
pp_data->cap[20]->BitPosition                  = 7
pp_data->cap[20]->BitSize                      = 1
pp_data->cap[20]->ReportCount                  = 1
pp_data->cap[20]->BytePosition                 = 0x0006
pp_data->cap[20]->BitCount                     = 1
pp_data->cap[20]->BitField                     = 0x02
pp_data->cap[20]->NextBytePosition             = 0x0007
pp_data->cap[20]->LinkCollection               = 0x0001
pp_data->cap[20]->LinkUsagePage                = 0xFF01
pp_data->cap[20]->LinkUsage                    = 0x0001
pp_data->cap[20]->IsMultipleItemsForArray      = 0
pp_data->cap[20]->IsButtonCap                  = 1
pp_data->cap[20]->IsPadding                    = 0
pp_data->cap[20]->IsAbsolute                   = 1
pp_data->cap[20]->IsRange                      = 0
pp_data->cap[20]->IsAlias                      = 0
pp_data->cap[20]->IsStringRange                = 0
pp_data->cap[20]->IsDesignatorRange            = 0
pp_data->cap[20]->Reserved1                    = 0x000000
pp_data->cap[20]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[20]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[20]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[20]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[20]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[20]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[20]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[20]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[20]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[20]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[20]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[20]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[20]->NotRange.Usage                        = 0x0002
pp_data->cap[20]->NotRange.Reserved1                    = 0x0002
pp_data->cap[20]->NotRange.StringIndex                  = 0
pp_data->cap[20]->NotRange.Reserved2                    = 0
pp_data->cap[20]->NotRange.DesignatorIndex              = 0
pp_data->cap[20]->NotRange.Reserved3                    = 0
pp_data->cap[20]->NotRange.DataIndex                    = 20
pp_data->cap[20]->NotRange.Reserved4                    = 20
pp_data->cap[20]->Button.LogicalMin                   = 0
pp_data->cap[20]->Button.LogicalMax                   = 0
pp_data->cap[20]->Units                    = 0
pp_data->cap[20]->UnitsExp                 = 0

pp_data->cap[21]->UsagePage                    = 0xFF01
pp_data->cap[21]->ReportID                     = 0x01
pp_data->cap[21]->BitPosition                  = 6
pp_data->cap[21]->BitSize                      = 1
pp_data->cap[21]->ReportCount                  = 1
pp_data->cap[21]->BytePosition                 = 0x0006
pp_data->cap[21]->BitCount                     = 1
pp_data->cap[21]->BitField                     = 0x02
pp_data->cap[21]->NextBytePosition             = 0x0007
pp_data->cap[21]->LinkCollection               = 0x0001
pp_data->cap[21]->LinkUsagePage                = 0xFF01
pp_data->cap[21]->LinkUsage                    = 0x0001
pp_data->cap[21]->IsMultipleItemsForArray      = 0
pp_data->cap[21]->IsButtonCap                  = 1
pp_data->cap[21]->IsPadding                    = 0
pp_data->cap[21]->IsAbsolute                   = 1
pp_data->cap[21]->IsRange                      = 0
pp_data->cap[21]->IsAlias                      = 0
pp_data->cap[21]->IsStringRange                = 0
pp_data->cap[21]->IsDesignatorRange            = 0
pp_data->cap[21]->Reserved1                    = 0x000000
pp_data->cap[21]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[21]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[21]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[21]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[21]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[21]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[21]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[21]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[21]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[21]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[21]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[21]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[21]->NotRange.Usage                        = 0x0002
pp_data->cap[21]->NotRange.Reserved1                    = 0x0002
pp_data->cap[21]->NotRange.StringIndex                  = 0
pp_data->cap[21]->NotRange.Reserved2                    = 0
pp_data->cap[21]->NotRange.DesignatorIndex              = 0
pp_data->cap[21]->NotRange.Reserved3                    = 0
pp_data->cap[21]->NotRange.DataIndex                    = 21
pp_data->cap[21]->NotRange.Reserved4                    = 21
pp_data->cap[21]->Button.LogicalMin                   = 0
pp_data->cap[21]->Button.LogicalMax                   = 0
pp_data->cap[21]->Units                    = 0
pp_data->cap[21]->UnitsExp                 = 0

pp_data->cap[22]->UsagePage                    = 0xFF01
pp_data->cap[22]->ReportID                     = 0x01
pp_data->cap[22]->BitPosition                  = 5
pp_data->cap[22]->BitSize                      = 1
pp_data->cap[22]->ReportCount                  = 1
pp_data->cap[22]->BytePosition                 = 0x0006
pp_data->cap[22]->BitCount                     = 1
pp_data->cap[22]->BitField                     = 0x02
pp_data->cap[22]->NextBytePosition             = 0x0007
pp_data->cap[22]->LinkCollection               = 0x0001
pp_data->cap[22]->LinkUsagePage                = 0xFF01
pp_data->cap[22]->LinkUsage                    = 0x0001
pp_data->cap[22]->IsMultipleItemsForArray      = 0
pp_data->cap[22]->IsButtonCap                  = 1
pp_data->cap[22]->IsPadding                    = 0
pp_data->cap[22]->IsAbsolute                   = 1
pp_data->cap[22]->IsRange                      = 0
pp_data->cap[22]->IsAlias                      = 0
pp_data->cap[22]->IsStringRange                = 0
pp_data->cap[22]->IsDesignatorRange            = 0
pp_data->cap[22]->Reserved1                    = 0x000000
pp_data->cap[22]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[22]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[22]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[22]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[22]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[22]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[22]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[22]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[22]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[22]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[22]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[22]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[22]->NotRange.Usage                        = 0x0002
pp_data->cap[22]->NotRange.Reserved1                    = 0x0002
pp_data->cap[22]->NotRange.StringIndex                  = 0
pp_data->cap[22]->NotRange.Reserved2                    = 0
pp_data->cap[22]->NotRange.DesignatorIndex              = 0
pp_data->cap[22]->NotRange.Reserved3                    = 0
pp_data->cap[22]->NotRange.DataIndex                    = 22
pp_data->cap[22]->NotRange.Reserved4                    = 22
pp_data->cap[22]->Button.LogicalMin                   = 0
pp_data->cap[22]->Button.LogicalMax                   = 0
pp_data->cap[22]->Units                    = 0
pp_data->cap[22]->UnitsExp                 = 0

pp_data->cap[23]->UsagePage                    = 0xFF01
pp_data->cap[23]->ReportID                     = 0x01
pp_data->cap[23]->BitPosition                  = 4
pp_data->cap[23]->BitSize                      = 1
pp_data->cap[23]->ReportCount                  = 1
pp_data->cap[23]->BytePosition                 = 0x0006
pp_data->cap[23]->BitCount                     = 1
pp_data->cap[23]->BitField                     = 0x02
pp_data->cap[23]->NextBytePosition             = 0x0007
pp_data->cap[23]->LinkCollection               = 0x0001
pp_data->cap[23]->LinkUsagePage                = 0xFF01
pp_data->cap[23]->LinkUsage                    = 0x0001
pp_data->cap[23]->IsMultipleItemsForArray      = 0
pp_data->cap[23]->IsButtonCap                  = 1
pp_data->cap[23]->IsPadding                    = 0
pp_data->cap[23]->IsAbsolute                   = 1
pp_data->cap[23]->IsRange                      = 0
pp_data->cap[23]->IsAlias                      = 0
pp_data->cap[23]->IsStringRange                = 0
pp_data->cap[23]->IsDesignatorRange            = 0
pp_data->cap[23]->Reserved1                    = 0x000000
pp_data->cap[23]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[23]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[23]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[23]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[23]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[23]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[23]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[23]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[23]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[23]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[23]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[23]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[23]->NotRange.Usage                        = 0x0002
pp_data->cap[23]->NotRange.Reserved1                    = 0x0002
pp_data->cap[23]->NotRange.StringIndex                  = 0
pp_data->cap[23]->NotRange.Reserved2                    = 0
pp_data->cap[23]->NotRange.DesignatorIndex              = 0
pp_data->cap[23]->NotRange.Reserved3                    = 0
pp_data->cap[23]->NotRange.DataIndex                    = 23
pp_data->cap[23]->NotRange.Reserved4                    = 23
pp_data->cap[23]->Button.LogicalMin                   = 0
pp_data->cap[23]->Button.LogicalMax                   = 0
pp_data->cap[23]->Units                    = 0
pp_data->cap[23]->UnitsExp                 = 0

pp_data->cap[24]->UsagePage                    = 0xFF01
pp_data->cap[24]->ReportID                     = 0x01
pp_data->cap[24]->BitPosition                  = 3
pp_data->cap[24]->BitSize                      = 1
pp_data->cap[24]->ReportCount                  = 1
pp_data->cap[24]->BytePosition                 = 0x0006
pp_data->cap[24]->BitCount                     = 1
pp_data->cap[24]->BitField                     = 0x02
pp_data->cap[24]->NextBytePosition             = 0x0007
pp_data->cap[24]->LinkCollection               = 0x0001
pp_data->cap[24]->LinkUsagePage                = 0xFF01
pp_data->cap[24]->LinkUsage                    = 0x0001
pp_data->cap[24]->IsMultipleItemsForArray      = 0
pp_data->cap[24]->IsButtonCap                  = 1
pp_data->cap[24]->IsPadding                    = 0
pp_data->cap[24]->IsAbsolute                   = 1
pp_data->cap[24]->IsRange                      = 0
pp_data->cap[24]->IsAlias                      = 0
pp_data->cap[24]->IsStringRange                = 0
pp_data->cap[24]->IsDesignatorRange            = 0
pp_data->cap[24]->Reserved1                    = 0x000000
pp_data->cap[24]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[24]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[24]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[24]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[24]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[24]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[24]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[24]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[24]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[24]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[24]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[24]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[24]->NotRange.Usage                        = 0x0002
pp_data->cap[24]->NotRange.Reserved1                    = 0x0002
pp_data->cap[24]->NotRange.StringIndex                  = 0
pp_data->cap[24]->NotRange.Reserved2                    = 0
pp_data->cap[24]->NotRange.DesignatorIndex              = 0
pp_data->cap[24]->NotRange.Reserved3                    = 0
pp_data->cap[24]->NotRange.DataIndex                    = 24
pp_data->cap[24]->NotRange.Reserved4                    = 24
pp_data->cap[24]->Button.LogicalMin                   = 0
pp_data->cap[24]->Button.LogicalMax                   = 0
pp_data->cap[24]->Units                    = 0
pp_data->cap[24]->UnitsExp                 = 0

pp_data->cap[25]->UsagePage                    = 0xFF01
pp_data->cap[25]->ReportID                     = 0x01
pp_data->cap[25]->BitPosition                  = 2
pp_data->cap[25]->BitSize                      = 1
pp_data->cap[25]->ReportCount                  = 1
pp_data->cap[25]->BytePosition                 = 0x0006
pp_data->cap[25]->BitCount                     = 1
pp_data->cap[25]->BitField                     = 0x02
pp_data->cap[25]->NextBytePosition             = 0x0007
pp_data->cap[25]->LinkCollection               = 0x0001
pp_data->cap[25]->LinkUsagePage                = 0xFF01
pp_data->cap[25]->LinkUsage                    = 0x0001
pp_data->cap[25]->IsMultipleItemsForArray      = 0
pp_data->cap[25]->IsButtonCap                  = 1
pp_data->cap[25]->IsPadding                    = 0
pp_data->cap[25]->IsAbsolute                   = 1
pp_data->cap[25]->IsRange                      = 0
pp_data->cap[25]->IsAlias                      = 0
pp_data->cap[25]->IsStringRange                = 0
pp_data->cap[25]->IsDesignatorRange            = 0
pp_data->cap[25]->Reserved1                    = 0x000000
pp_data->cap[25]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[25]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[25]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[25]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[25]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[25]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[25]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[25]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[25]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[25]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[25]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[25]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[25]->NotRange.Usage                        = 0x0002
pp_data->cap[25]->NotRange.Reserved1                    = 0x0002
pp_data->cap[25]->NotRange.StringIndex                  = 0
pp_data->cap[25]->NotRange.Reserved2                    = 0
pp_data->cap[25]->NotRange.DesignatorIndex              = 0
pp_data->cap[25]->NotRange.Reserved3                    = 0
pp_data->cap[25]->NotRange.DataIndex                    = 25
pp_data->cap[25]->NotRange.Reserved4                    = 25
pp_data->cap[25]->Button.LogicalMin                   = 0
pp_data->cap[25]->Button.LogicalMax                   = 0
pp_data->cap[25]->Units                    = 0
pp_data->cap[25]->UnitsExp                 = 0

pp_data->cap[26]->UsagePage                    = 0xFF01
pp_data->cap[26]->ReportID                     = 0x01
pp_data->cap[26]->BitPosition                  = 1
pp_data->cap[26]->BitSize                      = 1
pp_data->cap[26]->ReportCount                  = 1
pp_data->cap[26]->BytePosition                 = 0x0006
pp_data->cap[26]->BitCount                     = 1
pp_data->cap[26]->BitField                     = 0x02
pp_data->cap[26]->NextBytePosition             = 0x0007
pp_data->cap[26]->LinkCollection               = 0x0001
pp_data->cap[26]->LinkUsagePage                = 0xFF01
pp_data->cap[26]->LinkUsage                    = 0x0001
pp_data->cap[26]->IsMultipleItemsForArray      = 0
pp_data->cap[26]->IsButtonCap                  = 1
pp_data->cap[26]->IsPadding                    = 0
pp_data->cap[26]->IsAbsolute                   = 1
pp_data->cap[26]->IsRange                      = 0
pp_data->cap[26]->IsAlias                      = 0
pp_data->cap[26]->IsStringRange                = 0
pp_data->cap[26]->IsDesignatorRange            = 0
pp_data->cap[26]->Reserved1                    = 0x000000
pp_data->cap[26]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[26]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[26]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[26]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[26]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[26]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[26]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[26]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[26]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[26]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[26]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[26]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[26]->NotRange.Usage                        = 0x0002
pp_data->cap[26]->NotRange.Reserved1                    = 0x0002
pp_data->cap[26]->NotRange.StringIndex                  = 0
pp_data->cap[26]->NotRange.Reserved2                    = 0
pp_data->cap[26]->NotRange.DesignatorIndex              = 0
pp_data->cap[26]->NotRange.Reserved3                    = 0
pp_data->cap[26]->NotRange.DataIndex                    = 26
pp_data->cap[26]->NotRange.Reserved4                    = 26
pp_data->cap[26]->Button.LogicalMin                   = 0
pp_data->cap[26]->Button.LogicalMax                   = 0
pp_data->cap[26]->Units                    = 0
pp_data->cap[26]->UnitsExp                 = 0

pp_data->cap[27]->UsagePage                    = 0xFF01
pp_data->cap[27]->ReportID                     = 0x01
pp_data->cap[27]->BitPosition                  = 0
pp_data->cap[27]->BitSize                      = 1
pp_data->cap[27]->ReportCount                  = 1
pp_data->cap[27]->BytePosition                 = 0x0006
pp_data->cap[27]->BitCount                     = 1
pp_data->cap[27]->BitField                     = 0x02
pp_data->cap[27]->NextBytePosition             = 0x0007
pp_data->cap[27]->LinkCollection               = 0x0001
pp_data->cap[27]->LinkUsagePage                = 0xFF01
pp_data->cap[27]->LinkUsage                    = 0x0001
pp_data->cap[27]->IsMultipleItemsForArray      = 0
pp_data->cap[27]->IsButtonCap                  = 1
pp_data->cap[27]->IsPadding                    = 0
pp_data->cap[27]->IsAbsolute                   = 1
pp_data->cap[27]->IsRange                      = 0
pp_data->cap[27]->IsAlias                      = 0
pp_data->cap[27]->IsStringRange                = 0
pp_data->cap[27]->IsDesignatorRange            = 0
pp_data->cap[27]->Reserved1                    = 0x000000
pp_data->cap[27]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[27]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[27]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[27]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[27]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[27]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[27]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[27]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[27]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[27]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[27]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[27]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[27]->NotRange.Usage                        = 0x0002
pp_data->cap[27]->NotRange.Reserved1                    = 0x0002
pp_data->cap[27]->NotRange.StringIndex                  = 0
pp_data->cap[27]->NotRange.Reserved2                    = 0
pp_data->cap[27]->NotRange.DesignatorIndex              = 0
pp_data->cap[27]->NotRange.Reserved3                    = 0
pp_data->cap[27]->NotRange.DataIndex                    = 27
pp_data->cap[27]->NotRange.Reserved4                    = 27
pp_data->cap[27]->Button.LogicalMin                   = 0
pp_data->cap[27]->Button.LogicalMax                   = 0
pp_data->cap[27]->Units                    = 0
pp_data->cap[27]->UnitsExp                 = 0

pp_data->cap[28]->UsagePage                    = 0xFF01
pp_data->cap[28]->ReportID                     = 0x01
pp_data->cap[28]->BitPosition                  = 7
pp_data->cap[28]->BitSize                      = 1
pp_data->cap[28]->ReportCount                  = 1
pp_data->cap[28]->BytePosition                 = 0x0005
pp_data->cap[28]->BitCount                     = 1
pp_data->cap[28]->BitField                     = 0x02
pp_data->cap[28]->NextBytePosition             = 0x0006
pp_data->cap[28]->LinkCollection               = 0x0001
pp_data->cap[28]->LinkUsagePage                = 0xFF01
pp_data->cap[28]->LinkUsage                    = 0x0001
pp_data->cap[28]->IsMultipleItemsForArray      = 0
pp_data->cap[28]->IsButtonCap                  = 1
pp_data->cap[28]->IsPadding                    = 0
pp_data->cap[28]->IsAbsolute                   = 1
pp_data->cap[28]->IsRange                      = 0
pp_data->cap[28]->IsAlias                      = 0
pp_data->cap[28]->IsStringRange                = 0
pp_data->cap[28]->IsDesignatorRange            = 0
pp_data->cap[28]->Reserved1                    = 0x000000
pp_data->cap[28]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[28]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[28]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[28]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[28]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[28]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[28]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[28]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[28]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[28]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[28]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[28]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[28]->NotRange.Usage                        = 0x0002
pp_data->cap[28]->NotRange.Reserved1                    = 0x0002
pp_data->cap[28]->NotRange.StringIndex                  = 0
pp_data->cap[28]->NotRange.Reserved2                    = 0
pp_data->cap[28]->NotRange.DesignatorIndex              = 0
pp_data->cap[28]->NotRange.Reserved3                    = 0
pp_data->cap[28]->NotRange.DataIndex                    = 28
pp_data->cap[28]->NotRange.Reserved4                    = 28
pp_data->cap[28]->Button.LogicalMin                   = 0
pp_data->cap[28]->Button.LogicalMax                   = 0
pp_data->cap[28]->Units                    = 0
pp_data->cap[28]->UnitsExp                 = 0

pp_data->cap[29]->UsagePage                    = 0xFF01
pp_data->cap[29]->ReportID                     = 0x01
pp_data->cap[29]->BitPosition                  = 6
pp_data->cap[29]->BitSize                      = 1
pp_data->cap[29]->ReportCount                  = 1
pp_data->cap[29]->BytePosition                 = 0x0005
pp_data->cap[29]->BitCount                     = 1
pp_data->cap[29]->BitField                     = 0x02
pp_data->cap[29]->NextBytePosition             = 0x0006
pp_data->cap[29]->LinkCollection               = 0x0001
pp_data->cap[29]->LinkUsagePage                = 0xFF01
pp_data->cap[29]->LinkUsage                    = 0x0001
pp_data->cap[29]->IsMultipleItemsForArray      = 0
pp_data->cap[29]->IsButtonCap                  = 1
pp_data->cap[29]->IsPadding                    = 0
pp_data->cap[29]->IsAbsolute                   = 1
pp_data->cap[29]->IsRange                      = 0
pp_data->cap[29]->IsAlias                      = 0
pp_data->cap[29]->IsStringRange                = 0
pp_data->cap[29]->IsDesignatorRange            = 0
pp_data->cap[29]->Reserved1                    = 0x000000
pp_data->cap[29]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[29]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[29]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[29]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[29]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[29]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[29]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[29]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[29]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[29]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[29]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[29]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[29]->NotRange.Usage                        = 0x0002
pp_data->cap[29]->NotRange.Reserved1                    = 0x0002
pp_data->cap[29]->NotRange.StringIndex                  = 0
pp_data->cap[29]->NotRange.Reserved2                    = 0
pp_data->cap[29]->NotRange.DesignatorIndex              = 0
pp_data->cap[29]->NotRange.Reserved3                    = 0
pp_data->cap[29]->NotRange.DataIndex                    = 29
pp_data->cap[29]->NotRange.Reserved4                    = 29
pp_data->cap[29]->Button.LogicalMin                   = 0
pp_data->cap[29]->Button.LogicalMax                   = 0
pp_data->cap[29]->Units                    = 0
pp_data->cap[29]->UnitsExp                 = 0

pp_data->cap[30]->UsagePage                    = 0xFF01
pp_data->cap[30]->ReportID                     = 0x01
pp_data->cap[30]->BitPosition                  = 5
pp_data->cap[30]->BitSize                      = 1
pp_data->cap[30]->ReportCount                  = 1
pp_data->cap[30]->BytePosition                 = 0x0005
pp_data->cap[30]->BitCount                     = 1
pp_data->cap[30]->BitField                     = 0x02
pp_data->cap[30]->NextBytePosition             = 0x0006
pp_data->cap[30]->LinkCollection               = 0x0001
pp_data->cap[30]->LinkUsagePage                = 0xFF01
pp_data->cap[30]->LinkUsage                    = 0x0001
pp_data->cap[30]->IsMultipleItemsForArray      = 0
pp_data->cap[30]->IsButtonCap                  = 1
pp_data->cap[30]->IsPadding                    = 0
pp_data->cap[30]->IsAbsolute                   = 1
pp_data->cap[30]->IsRange                      = 0
pp_data->cap[30]->IsAlias                      = 0
pp_data->cap[30]->IsStringRange                = 0
pp_data->cap[30]->IsDesignatorRange            = 0
pp_data->cap[30]->Reserved1                    = 0x000000
pp_data->cap[30]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[30]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[30]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[30]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[30]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[30]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[30]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[30]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[30]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[30]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[30]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[30]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[30]->NotRange.Usage                        = 0x0002
pp_data->cap[30]->NotRange.Reserved1                    = 0x0002
pp_data->cap[30]->NotRange.StringIndex                  = 0
pp_data->cap[30]->NotRange.Reserved2                    = 0
pp_data->cap[30]->NotRange.DesignatorIndex              = 0
pp_data->cap[30]->NotRange.Reserved3                    = 0
pp_data->cap[30]->NotRange.DataIndex                    = 30
pp_data->cap[30]->NotRange.Reserved4                    = 30
pp_data->cap[30]->Button.LogicalMin                   = 0
pp_data->cap[30]->Button.LogicalMax                   = 0
pp_data->cap[30]->Units                    = 0
pp_data->cap[30]->UnitsExp                 = 0

pp_data->cap[31]->UsagePage                    = 0xFF01
pp_data->cap[31]->ReportID                     = 0x01
pp_data->cap[31]->BitPosition                  = 4
pp_data->cap[31]->BitSize                      = 1
pp_data->cap[31]->ReportCount                  = 1
pp_data->cap[31]->BytePosition                 = 0x0005
pp_data->cap[31]->BitCount                     = 1
pp_data->cap[31]->BitField                     = 0x02
pp_data->cap[31]->NextBytePosition             = 0x0006
pp_data->cap[31]->LinkCollection               = 0x0001
pp_data->cap[31]->LinkUsagePage                = 0xFF01
pp_data->cap[31]->LinkUsage                    = 0x0001
pp_data->cap[31]->IsMultipleItemsForArray      = 0
pp_data->cap[31]->IsButtonCap                  = 1
pp_data->cap[31]->IsPadding                    = 0
pp_data->cap[31]->IsAbsolute                   = 1
pp_data->cap[31]->IsRange                      = 0
pp_data->cap[31]->IsAlias                      = 0
pp_data->cap[31]->IsStringRange                = 0
pp_data->cap[31]->IsDesignatorRange            = 0
pp_data->cap[31]->Reserved1                    = 0x000000
pp_data->cap[31]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[31]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[31]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[31]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[31]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[31]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[31]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[31]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[31]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[31]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[31]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[31]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[31]->NotRange.Usage                        = 0x0002
pp_data->cap[31]->NotRange.Reserved1                    = 0x0002
pp_data->cap[31]->NotRange.StringIndex                  = 0
pp_data->cap[31]->NotRange.Reserved2                    = 0
pp_data->cap[31]->NotRange.DesignatorIndex              = 0
pp_data->cap[31]->NotRange.Reserved3                    = 0
pp_data->cap[31]->NotRange.DataIndex                    = 31
pp_data->cap[31]->NotRange.Reserved4                    = 31
pp_data->cap[31]->Button.LogicalMin                   = 0
pp_data->cap[31]->Button.LogicalMax                   = 0
pp_data->cap[31]->Units                    = 0
pp_data->cap[31]->UnitsExp                 = 0

pp_data->cap[32]->UsagePage                    = 0xFF01
pp_data->cap[32]->ReportID                     = 0x01
pp_data->cap[32]->BitPosition                  = 3
pp_data->cap[32]->BitSize                      = 1
pp_data->cap[32]->ReportCount                  = 1
pp_data->cap[32]->BytePosition                 = 0x0005
pp_data->cap[32]->BitCount                     = 1
pp_data->cap[32]->BitField                     = 0x02
pp_data->cap[32]->NextBytePosition             = 0x0006
pp_data->cap[32]->LinkCollection               = 0x0001
pp_data->cap[32]->LinkUsagePage                = 0xFF01
pp_data->cap[32]->LinkUsage                    = 0x0001
pp_data->cap[32]->IsMultipleItemsForArray      = 0
pp_data->cap[32]->IsButtonCap                  = 1
pp_data->cap[32]->IsPadding                    = 0
pp_data->cap[32]->IsAbsolute                   = 1
pp_data->cap[32]->IsRange                      = 0
pp_data->cap[32]->IsAlias                      = 0
pp_data->cap[32]->IsStringRange                = 0
pp_data->cap[32]->IsDesignatorRange            = 0
pp_data->cap[32]->Reserved1                    = 0x000000
pp_data->cap[32]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[32]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[32]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[32]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[32]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[32]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[32]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[32]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[32]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[32]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[32]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[32]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[32]->NotRange.Usage                        = 0x0002
pp_data->cap[32]->NotRange.Reserved1                    = 0x0002
pp_data->cap[32]->NotRange.StringIndex                  = 0
pp_data->cap[32]->NotRange.Reserved2                    = 0
pp_data->cap[32]->NotRange.DesignatorIndex              = 0
pp_data->cap[32]->NotRange.Reserved3                    = 0
pp_data->cap[32]->NotRange.DataIndex                    = 32
pp_data->cap[32]->NotRange.Reserved4                    = 32
pp_data->cap[32]->Button.LogicalMin                   = 0
pp_data->cap[32]->Button.LogicalMax                   = 0
pp_data->cap[32]->Units                    = 0
pp_data->cap[32]->UnitsExp                 = 0

pp_data->cap[33]->UsagePage                    = 0xFF01
pp_data->cap[33]->ReportID                     = 0x01
pp_data->cap[33]->BitPosition                  = 2
pp_data->cap[33]->BitSize                      = 1
pp_data->cap[33]->ReportCount                  = 1
pp_data->cap[33]->BytePosition                 = 0x0005
pp_data->cap[33]->BitCount                     = 1
pp_data->cap[33]->BitField                     = 0x02
pp_data->cap[33]->NextBytePosition             = 0x0006
pp_data->cap[33]->LinkCollection               = 0x0001
pp_data->cap[33]->LinkUsagePage                = 0xFF01
pp_data->cap[33]->LinkUsage                    = 0x0001
pp_data->cap[33]->IsMultipleItemsForArray      = 0
pp_data->cap[33]->IsButtonCap                  = 1
pp_data->cap[33]->IsPadding                    = 0
pp_data->cap[33]->IsAbsolute                   = 1
pp_data->cap[33]->IsRange                      = 0
pp_data->cap[33]->IsAlias                      = 0
pp_data->cap[33]->IsStringRange                = 0
pp_data->cap[33]->IsDesignatorRange            = 0
pp_data->cap[33]->Reserved1                    = 0x000000
pp_data->cap[33]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[33]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[33]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[33]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[33]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[33]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[33]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[33]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[33]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[33]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[33]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[33]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[33]->NotRange.Usage                        = 0x0002
pp_data->cap[33]->NotRange.Reserved1                    = 0x0002
pp_data->cap[33]->NotRange.StringIndex                  = 0
pp_data->cap[33]->NotRange.Reserved2                    = 0
pp_data->cap[33]->NotRange.DesignatorIndex              = 0
pp_data->cap[33]->NotRange.Reserved3                    = 0
pp_data->cap[33]->NotRange.DataIndex                    = 33
pp_data->cap[33]->NotRange.Reserved4                    = 33
pp_data->cap[33]->Button.LogicalMin                   = 0
pp_data->cap[33]->Button.LogicalMax                   = 0
pp_data->cap[33]->Units                    = 0
pp_data->cap[33]->UnitsExp                 = 0

pp_data->cap[34]->UsagePage                    = 0xFF01
pp_data->cap[34]->ReportID                     = 0x01
pp_data->cap[34]->BitPosition                  = 1
pp_data->cap[34]->BitSize                      = 1
pp_data->cap[34]->ReportCount                  = 1
pp_data->cap[34]->BytePosition                 = 0x0005
pp_data->cap[34]->BitCount                     = 1
pp_data->cap[34]->BitField                     = 0x02
pp_data->cap[34]->NextBytePosition             = 0x0006
pp_data->cap[34]->LinkCollection               = 0x0001
pp_data->cap[34]->LinkUsagePage                = 0xFF01
pp_data->cap[34]->LinkUsage                    = 0x0001
pp_data->cap[34]->IsMultipleItemsForArray      = 0
pp_data->cap[34]->IsButtonCap                  = 1
pp_data->cap[34]->IsPadding                    = 0
pp_data->cap[34]->IsAbsolute                   = 1
pp_data->cap[34]->IsRange                      = 0
pp_data->cap[34]->IsAlias                      = 0
pp_data->cap[34]->IsStringRange                = 0
pp_data->cap[34]->IsDesignatorRange            = 0
pp_data->cap[34]->Reserved1                    = 0x000000
pp_data->cap[34]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[34]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[34]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[34]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[34]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[34]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[34]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[34]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[34]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[34]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[34]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[34]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[34]->NotRange.Usage                        = 0x0002
pp_data->cap[34]->NotRange.Reserved1                    = 0x0002
pp_data->cap[34]->NotRange.StringIndex                  = 0
pp_data->cap[34]->NotRange.Reserved2                    = 0
pp_data->cap[34]->NotRange.DesignatorIndex              = 0
pp_data->cap[34]->NotRange.Reserved3                    = 0
pp_data->cap[34]->NotRange.DataIndex                    = 34
pp_data->cap[34]->NotRange.Reserved4                    = 34
pp_data->cap[34]->Button.LogicalMin                   = 0
pp_data->cap[34]->Button.LogicalMax                   = 0
pp_data->cap[34]->Units                    = 0
pp_data->cap[34]->UnitsExp                 = 0

pp_data->cap[35]->UsagePage                    = 0xFF01
pp_data->cap[35]->ReportID                     = 0x01
pp_data->cap[35]->BitPosition                  = 0
pp_data->cap[35]->BitSize                      = 1
pp_data->cap[35]->ReportCount                  = 1
pp_data->cap[35]->BytePosition                 = 0x0005
pp_data->cap[35]->BitCount                     = 1
pp_data->cap[35]->BitField                     = 0x02
pp_data->cap[35]->NextBytePosition             = 0x0006
pp_data->cap[35]->LinkCollection               = 0x0001
pp_data->cap[35]->LinkUsagePage                = 0xFF01
pp_data->cap[35]->LinkUsage                    = 0x0001
pp_data->cap[35]->IsMultipleItemsForArray      = 0
pp_data->cap[35]->IsButtonCap                  = 1
pp_data->cap[35]->IsPadding                    = 0
pp_data->cap[35]->IsAbsolute                   = 1
pp_data->cap[35]->IsRange                      = 0
pp_data->cap[35]->IsAlias                      = 0
pp_data->cap[35]->IsStringRange                = 0
pp_data->cap[35]->IsDesignatorRange            = 0
pp_data->cap[35]->Reserved1                    = 0x000000
pp_data->cap[35]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[35]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[35]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[35]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[35]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[35]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[35]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[35]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[35]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[35]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[35]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[35]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[35]->NotRange.Usage                        = 0x0002
pp_data->cap[35]->NotRange.Reserved1                    = 0x0002
pp_data->cap[35]->NotRange.StringIndex                  = 0
pp_data->cap[35]->NotRange.Reserved2                    = 0
pp_data->cap[35]->NotRange.DesignatorIndex              = 0
pp_data->cap[35]->NotRange.Reserved3                    = 0
pp_data->cap[35]->NotRange.DataIndex                    = 35
pp_data->cap[35]->NotRange.Reserved4                    = 35
pp_data->cap[35]->Button.LogicalMin                   = 0
pp_data->cap[35]->Button.LogicalMax                   = 0
pp_data->cap[35]->Units                    = 0
pp_data->cap[35]->UnitsExp                 = 0

pp_data->cap[36]->UsagePage                    = 0xFF01
pp_data->cap[36]->ReportID                     = 0x01
pp_data->cap[36]->BitPosition                  = 7
pp_data->cap[36]->BitSize                      = 1
pp_data->cap[36]->ReportCount                  = 1
pp_data->cap[36]->BytePosition                 = 0x0004
pp_data->cap[36]->BitCount                     = 1
pp_data->cap[36]->BitField                     = 0x02
pp_data->cap[36]->NextBytePosition             = 0x0005
pp_data->cap[36]->LinkCollection               = 0x0001
pp_data->cap[36]->LinkUsagePage                = 0xFF01
pp_data->cap[36]->LinkUsage                    = 0x0001
pp_data->cap[36]->IsMultipleItemsForArray      = 0
pp_data->cap[36]->IsButtonCap                  = 1
pp_data->cap[36]->IsPadding                    = 0
pp_data->cap[36]->IsAbsolute                   = 1
pp_data->cap[36]->IsRange                      = 0
pp_data->cap[36]->IsAlias                      = 0
pp_data->cap[36]->IsStringRange                = 0
pp_data->cap[36]->IsDesignatorRange            = 0
pp_data->cap[36]->Reserved1                    = 0x000000
pp_data->cap[36]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[36]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[36]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[36]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[36]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[36]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[36]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[36]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[36]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[36]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[36]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[36]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[36]->NotRange.Usage                        = 0x0002
pp_data->cap[36]->NotRange.Reserved1                    = 0x0002
pp_data->cap[36]->NotRange.StringIndex                  = 0
pp_data->cap[36]->NotRange.Reserved2                    = 0
pp_data->cap[36]->NotRange.DesignatorIndex              = 0
pp_data->cap[36]->NotRange.Reserved3                    = 0
pp_data->cap[36]->NotRange.DataIndex                    = 36
pp_data->cap[36]->NotRange.Reserved4                    = 36
pp_data->cap[36]->Button.LogicalMin                   = 0
pp_data->cap[36]->Button.LogicalMax                   = 0
pp_data->cap[36]->Units                    = 0
pp_data->cap[36]->UnitsExp                 = 0

pp_data->cap[37]->UsagePage                    = 0xFF01
pp_data->cap[37]->ReportID                     = 0x01
pp_data->cap[37]->BitPosition                  = 6
pp_data->cap[37]->BitSize                      = 1
pp_data->cap[37]->ReportCount                  = 1
pp_data->cap[37]->BytePosition                 = 0x0004
pp_data->cap[37]->BitCount                     = 1
pp_data->cap[37]->BitField                     = 0x02
pp_data->cap[37]->NextBytePosition             = 0x0005
pp_data->cap[37]->LinkCollection               = 0x0001
pp_data->cap[37]->LinkUsagePage                = 0xFF01
pp_data->cap[37]->LinkUsage                    = 0x0001
pp_data->cap[37]->IsMultipleItemsForArray      = 0
pp_data->cap[37]->IsButtonCap                  = 1
pp_data->cap[37]->IsPadding                    = 0
pp_data->cap[37]->IsAbsolute                   = 1
pp_data->cap[37]->IsRange                      = 0
pp_data->cap[37]->IsAlias                      = 0
pp_data->cap[37]->IsStringRange                = 0
pp_data->cap[37]->IsDesignatorRange            = 0
pp_data->cap[37]->Reserved1                    = 0x000000
pp_data->cap[37]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[37]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[37]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[37]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[37]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[37]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[37]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[37]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[37]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[37]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[37]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[37]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[37]->NotRange.Usage                        = 0x0002
pp_data->cap[37]->NotRange.Reserved1                    = 0x0002
pp_data->cap[37]->NotRange.StringIndex                  = 0
pp_data->cap[37]->NotRange.Reserved2                    = 0
pp_data->cap[37]->NotRange.DesignatorIndex              = 0
pp_data->cap[37]->NotRange.Reserved3                    = 0
pp_data->cap[37]->NotRange.DataIndex                    = 37
pp_data->cap[37]->NotRange.Reserved4                    = 37
pp_data->cap[37]->Button.LogicalMin                   = 0
pp_data->cap[37]->Button.LogicalMax                   = 0
pp_data->cap[37]->Units                    = 0
pp_data->cap[37]->UnitsExp                 = 0

pp_data->cap[38]->UsagePage                    = 0xFF01
pp_data->cap[38]->ReportID                     = 0x01
pp_data->cap[38]->BitPosition                  = 5
pp_data->cap[38]->BitSize                      = 1
pp_data->cap[38]->ReportCount                  = 1
pp_data->cap[38]->BytePosition                 = 0x0004
pp_data->cap[38]->BitCount                     = 1
pp_data->cap[38]->BitField                     = 0x02
pp_data->cap[38]->NextBytePosition             = 0x0005
pp_data->cap[38]->LinkCollection               = 0x0001
pp_data->cap[38]->LinkUsagePage                = 0xFF01
pp_data->cap[38]->LinkUsage                    = 0x0001
pp_data->cap[38]->IsMultipleItemsForArray      = 0
pp_data->cap[38]->IsButtonCap                  = 1
pp_data->cap[38]->IsPadding                    = 0
pp_data->cap[38]->IsAbsolute                   = 1
pp_data->cap[38]->IsRange                      = 0
pp_data->cap[38]->IsAlias                      = 0
pp_data->cap[38]->IsStringRange                = 0
pp_data->cap[38]->IsDesignatorRange            = 0
pp_data->cap[38]->Reserved1                    = 0x000000
pp_data->cap[38]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[38]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[38]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[38]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[38]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[38]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[38]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[38]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[38]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[38]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[38]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[38]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[38]->NotRange.Usage                        = 0x0002
pp_data->cap[38]->NotRange.Reserved1                    = 0x0002
pp_data->cap[38]->NotRange.StringIndex                  = 0
pp_data->cap[38]->NotRange.Reserved2                    = 0
pp_data->cap[38]->NotRange.DesignatorIndex              = 0
pp_data->cap[38]->NotRange.Reserved3                    = 0
pp_data->cap[38]->NotRange.DataIndex                    = 38
pp_data->cap[38]->NotRange.Reserved4                    = 38
pp_data->cap[38]->Button.LogicalMin                   = 0
pp_data->cap[38]->Button.LogicalMax                   = 0
pp_data->cap[38]->Units                    = 0
pp_data->cap[38]->UnitsExp                 = 0

pp_data->cap[39]->UsagePage                    = 0xFF01
pp_data->cap[39]->ReportID                     = 0x01
pp_data->cap[39]->BitPosition                  = 4
pp_data->cap[39]->BitSize                      = 1
pp_data->cap[39]->ReportCount                  = 1
pp_data->cap[39]->BytePosition                 = 0x0004
pp_data->cap[39]->BitCount                     = 1
pp_data->cap[39]->BitField                     = 0x02
pp_data->cap[39]->NextBytePosition             = 0x0005
pp_data->cap[39]->LinkCollection               = 0x0001
pp_data->cap[39]->LinkUsagePage                = 0xFF01
pp_data->cap[39]->LinkUsage                    = 0x0001
pp_data->cap[39]->IsMultipleItemsForArray      = 0
pp_data->cap[39]->IsButtonCap                  = 1
pp_data->cap[39]->IsPadding                    = 0
pp_data->cap[39]->IsAbsolute                   = 1
pp_data->cap[39]->IsRange                      = 0
pp_data->cap[39]->IsAlias                      = 0
pp_data->cap[39]->IsStringRange                = 0
pp_data->cap[39]->IsDesignatorRange            = 0
pp_data->cap[39]->Reserved1                    = 0x000000
pp_data->cap[39]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[39]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[39]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[39]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[39]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[39]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[39]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[39]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[39]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[39]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[39]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[39]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[39]->NotRange.Usage                        = 0x0002
pp_data->cap[39]->NotRange.Reserved1                    = 0x0002
pp_data->cap[39]->NotRange.StringIndex                  = 0
pp_data->cap[39]->NotRange.Reserved2                    = 0
pp_data->cap[39]->NotRange.DesignatorIndex              = 0
pp_data->cap[39]->NotRange.Reserved3                    = 0
pp_data->cap[39]->NotRange.DataIndex                    = 39
pp_data->cap[39]->NotRange.Reserved4                    = 39
pp_data->cap[39]->Button.LogicalMin                   = 0
pp_data->cap[39]->Button.LogicalMax                   = 0
pp_data->cap[39]->Units                    = 0
pp_data->cap[39]->UnitsExp                 = 0

pp_data->cap[40]->UsagePage                    = 0xFF01
pp_data->cap[40]->ReportID                     = 0x01
pp_data->cap[40]->BitPosition                  = 3
pp_data->cap[40]->BitSize                      = 1
pp_data->cap[40]->ReportCount                  = 1
pp_data->cap[40]->BytePosition                 = 0x0004
pp_data->cap[40]->BitCount                     = 1
pp_data->cap[40]->BitField                     = 0x02
pp_data->cap[40]->NextBytePosition             = 0x0005
pp_data->cap[40]->LinkCollection               = 0x0001
pp_data->cap[40]->LinkUsagePage                = 0xFF01
pp_data->cap[40]->LinkUsage                    = 0x0001
pp_data->cap[40]->IsMultipleItemsForArray      = 0
pp_data->cap[40]->IsButtonCap                  = 1
pp_data->cap[40]->IsPadding                    = 0
pp_data->cap[40]->IsAbsolute                   = 1
pp_data->cap[40]->IsRange                      = 0
pp_data->cap[40]->IsAlias                      = 0
pp_data->cap[40]->IsStringRange                = 0
pp_data->cap[40]->IsDesignatorRange            = 0
pp_data->cap[40]->Reserved1                    = 0x000000
pp_data->cap[40]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[40]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[40]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[40]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[40]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[40]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[40]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[40]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[40]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[40]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[40]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[40]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[40]->NotRange.Usage                        = 0x0002
pp_data->cap[40]->NotRange.Reserved1                    = 0x0002
pp_data->cap[40]->NotRange.StringIndex                  = 0
pp_data->cap[40]->NotRange.Reserved2                    = 0
pp_data->cap[40]->NotRange.DesignatorIndex              = 0
pp_data->cap[40]->NotRange.Reserved3                    = 0
pp_data->cap[40]->NotRange.DataIndex                    = 40
pp_data->cap[40]->NotRange.Reserved4                    = 40
pp_data->cap[40]->Button.LogicalMin                   = 0
pp_data->cap[40]->Button.LogicalMax                   = 0
pp_data->cap[40]->Units                    = 0
pp_data->cap[40]->UnitsExp                 = 0

pp_data->cap[41]->UsagePage                    = 0xFF01
pp_data->cap[41]->ReportID                     = 0x01
pp_data->cap[41]->BitPosition                  = 2
pp_data->cap[41]->BitSize                      = 1
pp_data->cap[41]->ReportCount                  = 1
pp_data->cap[41]->BytePosition                 = 0x0004
pp_data->cap[41]->BitCount                     = 1
pp_data->cap[41]->BitField                     = 0x02
pp_data->cap[41]->NextBytePosition             = 0x0005
pp_data->cap[41]->LinkCollection               = 0x0001
pp_data->cap[41]->LinkUsagePage                = 0xFF01
pp_data->cap[41]->LinkUsage                    = 0x0001
pp_data->cap[41]->IsMultipleItemsForArray      = 0
pp_data->cap[41]->IsButtonCap                  = 1
pp_data->cap[41]->IsPadding                    = 0
pp_data->cap[41]->IsAbsolute                   = 1
pp_data->cap[41]->IsRange                      = 0
pp_data->cap[41]->IsAlias                      = 0
pp_data->cap[41]->IsStringRange                = 0
pp_data->cap[41]->IsDesignatorRange            = 0
pp_data->cap[41]->Reserved1                    = 0x000000
pp_data->cap[41]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[41]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[41]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[41]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[41]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[41]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[41]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[41]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[41]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[41]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[41]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[41]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[41]->NotRange.Usage                        = 0x0002
pp_data->cap[41]->NotRange.Reserved1                    = 0x0002
pp_data->cap[41]->NotRange.StringIndex                  = 0
pp_data->cap[41]->NotRange.Reserved2                    = 0
pp_data->cap[41]->NotRange.DesignatorIndex              = 0
pp_data->cap[41]->NotRange.Reserved3                    = 0
pp_data->cap[41]->NotRange.DataIndex                    = 41
pp_data->cap[41]->NotRange.Reserved4                    = 41
pp_data->cap[41]->Button.LogicalMin                   = 0
pp_data->cap[41]->Button.LogicalMax                   = 0
pp_data->cap[41]->Units                    = 0
pp_data->cap[41]->UnitsExp                 = 0

pp_data->cap[42]->UsagePage                    = 0xFF01
pp_data->cap[42]->ReportID                     = 0x01
pp_data->cap[42]->BitPosition                  = 1
pp_data->cap[42]->BitSize                      = 1
pp_data->cap[42]->ReportCount                  = 1
pp_data->cap[42]->BytePosition                 = 0x0004
pp_data->cap[42]->BitCount                     = 1
pp_data->cap[42]->BitField                     = 0x02
pp_data->cap[42]->NextBytePosition             = 0x0005
pp_data->cap[42]->LinkCollection               = 0x0001
pp_data->cap[42]->LinkUsagePage                = 0xFF01
pp_data->cap[42]->LinkUsage                    = 0x0001
pp_data->cap[42]->IsMultipleItemsForArray      = 0
pp_data->cap[42]->IsButtonCap                  = 1
pp_data->cap[42]->IsPadding                    = 0
pp_data->cap[42]->IsAbsolute                   = 1
pp_data->cap[42]->IsRange                      = 0
pp_data->cap[42]->IsAlias                      = 0
pp_data->cap[42]->IsStringRange                = 0
pp_data->cap[42]->IsDesignatorRange            = 0
pp_data->cap[42]->Reserved1                    = 0x000000
pp_data->cap[42]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[42]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[42]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[42]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[42]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[42]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[42]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[42]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[42]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[42]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[42]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[42]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[42]->NotRange.Usage                        = 0x0002
pp_data->cap[42]->NotRange.Reserved1                    = 0x0002
pp_data->cap[42]->NotRange.StringIndex                  = 0
pp_data->cap[42]->NotRange.Reserved2                    = 0
pp_data->cap[42]->NotRange.DesignatorIndex              = 0
pp_data->cap[42]->NotRange.Reserved3                    = 0
pp_data->cap[42]->NotRange.DataIndex                    = 42
pp_data->cap[42]->NotRange.Reserved4                    = 42
pp_data->cap[42]->Button.LogicalMin                   = 0
pp_data->cap[42]->Button.LogicalMax                   = 0
pp_data->cap[42]->Units                    = 0
pp_data->cap[42]->UnitsExp                 = 0

pp_data->cap[43]->UsagePage                    = 0xFF01
pp_data->cap[43]->ReportID                     = 0x01
pp_data->cap[43]->BitPosition                  = 0
pp_data->cap[43]->BitSize                      = 1
pp_data->cap[43]->ReportCount                  = 1
pp_data->cap[43]->BytePosition                 = 0x0004
pp_data->cap[43]->BitCount                     = 1
pp_data->cap[43]->BitField                     = 0x02
pp_data->cap[43]->NextBytePosition             = 0x0005
pp_data->cap[43]->LinkCollection               = 0x0001
pp_data->cap[43]->LinkUsagePage                = 0xFF01
pp_data->cap[43]->LinkUsage                    = 0x0001
pp_data->cap[43]->IsMultipleItemsForArray      = 0
pp_data->cap[43]->IsButtonCap                  = 1
pp_data->cap[43]->IsPadding                    = 0
pp_data->cap[43]->IsAbsolute                   = 1
pp_data->cap[43]->IsRange                      = 0
pp_data->cap[43]->IsAlias                      = 0
pp_data->cap[43]->IsStringRange                = 0
pp_data->cap[43]->IsDesignatorRange            = 0
pp_data->cap[43]->Reserved1                    = 0x000000
pp_data->cap[43]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[43]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[43]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[43]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[43]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[43]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[43]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[43]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[43]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[43]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[43]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[43]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[43]->NotRange.Usage                        = 0x0002
pp_data->cap[43]->NotRange.Reserved1                    = 0x0002
pp_data->cap[43]->NotRange.StringIndex                  = 0
pp_data->cap[43]->NotRange.Reserved2                    = 0
pp_data->cap[43]->NotRange.DesignatorIndex              = 0
pp_data->cap[43]->NotRange.Reserved3                    = 0
pp_data->cap[43]->NotRange.DataIndex                    = 43
pp_data->cap[43]->NotRange.Reserved4                    = 43
pp_data->cap[43]->Button.LogicalMin                   = 0
pp_data->cap[43]->Button.LogicalMax                   = 0
pp_data->cap[43]->Units                    = 0
pp_data->cap[43]->UnitsExp                 = 0

pp_data->cap[44]->UsagePage                    = 0xFF01
pp_data->cap[44]->ReportID                     = 0x01
pp_data->cap[44]->BitPosition                  = 7
pp_data->cap[44]->BitSize                      = 1
pp_data->cap[44]->ReportCount                  = 1
pp_data->cap[44]->BytePosition                 = 0x0003
pp_data->cap[44]->BitCount                     = 1
pp_data->cap[44]->BitField                     = 0x02
pp_data->cap[44]->NextBytePosition             = 0x0004
pp_data->cap[44]->LinkCollection               = 0x0001
pp_data->cap[44]->LinkUsagePage                = 0xFF01
pp_data->cap[44]->LinkUsage                    = 0x0001
pp_data->cap[44]->IsMultipleItemsForArray      = 0
pp_data->cap[44]->IsButtonCap                  = 1
pp_data->cap[44]->IsPadding                    = 0
pp_data->cap[44]->IsAbsolute                   = 1
pp_data->cap[44]->IsRange                      = 0
pp_data->cap[44]->IsAlias                      = 0
pp_data->cap[44]->IsStringRange                = 0
pp_data->cap[44]->IsDesignatorRange            = 0
pp_data->cap[44]->Reserved1                    = 0x000000
pp_data->cap[44]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[44]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[44]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[44]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[44]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[44]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[44]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[44]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[44]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[44]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[44]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[44]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[44]->NotRange.Usage                        = 0x0002
pp_data->cap[44]->NotRange.Reserved1                    = 0x0002
pp_data->cap[44]->NotRange.StringIndex                  = 0
pp_data->cap[44]->NotRange.Reserved2                    = 0
pp_data->cap[44]->NotRange.DesignatorIndex              = 0
pp_data->cap[44]->NotRange.Reserved3                    = 0
pp_data->cap[44]->NotRange.DataIndex                    = 44
pp_data->cap[44]->NotRange.Reserved4                    = 44
pp_data->cap[44]->Button.LogicalMin                   = 0
pp_data->cap[44]->Button.LogicalMax                   = 0
pp_data->cap[44]->Units                    = 0
pp_data->cap[44]->UnitsExp                 = 0

pp_data->cap[45]->UsagePage                    = 0xFF01
pp_data->cap[45]->ReportID                     = 0x01
pp_data->cap[45]->BitPosition                  = 6
pp_data->cap[45]->BitSize                      = 1
pp_data->cap[45]->ReportCount                  = 1
pp_data->cap[45]->BytePosition                 = 0x0003
pp_data->cap[45]->BitCount                     = 1
pp_data->cap[45]->BitField                     = 0x02
pp_data->cap[45]->NextBytePosition             = 0x0004
pp_data->cap[45]->LinkCollection               = 0x0001
pp_data->cap[45]->LinkUsagePage                = 0xFF01
pp_data->cap[45]->LinkUsage                    = 0x0001
pp_data->cap[45]->IsMultipleItemsForArray      = 0
pp_data->cap[45]->IsButtonCap                  = 1
pp_data->cap[45]->IsPadding                    = 0
pp_data->cap[45]->IsAbsolute                   = 1
pp_data->cap[45]->IsRange                      = 0
pp_data->cap[45]->IsAlias                      = 0
pp_data->cap[45]->IsStringRange                = 0
pp_data->cap[45]->IsDesignatorRange            = 0
pp_data->cap[45]->Reserved1                    = 0x000000
pp_data->cap[45]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[45]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[45]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[45]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[45]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[45]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[45]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[45]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[45]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[45]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[45]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[45]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[45]->NotRange.Usage                        = 0x0002
pp_data->cap[45]->NotRange.Reserved1                    = 0x0002
pp_data->cap[45]->NotRange.StringIndex                  = 0
pp_data->cap[45]->NotRange.Reserved2                    = 0
pp_data->cap[45]->NotRange.DesignatorIndex              = 0
pp_data->cap[45]->NotRange.Reserved3                    = 0
pp_data->cap[45]->NotRange.DataIndex                    = 45
pp_data->cap[45]->NotRange.Reserved4                    = 45
pp_data->cap[45]->Button.LogicalMin                   = 0
pp_data->cap[45]->Button.LogicalMax                   = 0
pp_data->cap[45]->Units                    = 0
pp_data->cap[45]->UnitsExp                 = 0

pp_data->cap[46]->UsagePage                    = 0xFF01
pp_data->cap[46]->ReportID                     = 0x01
pp_data->cap[46]->BitPosition                  = 5
pp_data->cap[46]->BitSize                      = 1
pp_data->cap[46]->ReportCount                  = 1
pp_data->cap[46]->BytePosition                 = 0x0003
pp_data->cap[46]->BitCount                     = 1
pp_data->cap[46]->BitField                     = 0x02
pp_data->cap[46]->NextBytePosition             = 0x0004
pp_data->cap[46]->LinkCollection               = 0x0001
pp_data->cap[46]->LinkUsagePage                = 0xFF01
pp_data->cap[46]->LinkUsage                    = 0x0001
pp_data->cap[46]->IsMultipleItemsForArray      = 0
pp_data->cap[46]->IsButtonCap                  = 1
pp_data->cap[46]->IsPadding                    = 0
pp_data->cap[46]->IsAbsolute                   = 1
pp_data->cap[46]->IsRange                      = 0
pp_data->cap[46]->IsAlias                      = 0
pp_data->cap[46]->IsStringRange                = 0
pp_data->cap[46]->IsDesignatorRange            = 0
pp_data->cap[46]->Reserved1                    = 0x000000
pp_data->cap[46]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[46]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[46]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[46]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[46]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[46]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[46]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[46]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[46]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[46]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[46]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[46]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[46]->NotRange.Usage                        = 0x0002
pp_data->cap[46]->NotRange.Reserved1                    = 0x0002
pp_data->cap[46]->NotRange.StringIndex                  = 0
pp_data->cap[46]->NotRange.Reserved2                    = 0
pp_data->cap[46]->NotRange.DesignatorIndex              = 0
pp_data->cap[46]->NotRange.Reserved3                    = 0
pp_data->cap[46]->NotRange.DataIndex                    = 46
pp_data->cap[46]->NotRange.Reserved4                    = 46
pp_data->cap[46]->Button.LogicalMin                   = 0
pp_data->cap[46]->Button.LogicalMax                   = 0
pp_data->cap[46]->Units                    = 0
pp_data->cap[46]->UnitsExp                 = 0

pp_data->cap[47]->UsagePage                    = 0xFF01
pp_data->cap[47]->ReportID                     = 0x01
pp_data->cap[47]->BitPosition                  = 4
pp_data->cap[47]->BitSize                      = 1
pp_data->cap[47]->ReportCount                  = 1
pp_data->cap[47]->BytePosition                 = 0x0003
pp_data->cap[47]->BitCount                     = 1
pp_data->cap[47]->BitField                     = 0x02
pp_data->cap[47]->NextBytePosition             = 0x0004
pp_data->cap[47]->LinkCollection               = 0x0001
pp_data->cap[47]->LinkUsagePage                = 0xFF01
pp_data->cap[47]->LinkUsage                    = 0x0001
pp_data->cap[47]->IsMultipleItemsForArray      = 0
pp_data->cap[47]->IsButtonCap                  = 1
pp_data->cap[47]->IsPadding                    = 0
pp_data->cap[47]->IsAbsolute                   = 1
pp_data->cap[47]->IsRange                      = 0
pp_data->cap[47]->IsAlias                      = 0
pp_data->cap[47]->IsStringRange                = 0
pp_data->cap[47]->IsDesignatorRange            = 0
pp_data->cap[47]->Reserved1                    = 0x000000
pp_data->cap[47]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[47]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[47]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[47]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[47]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[47]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[47]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[47]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[47]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[47]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[47]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[47]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[47]->NotRange.Usage                        = 0x0002
pp_data->cap[47]->NotRange.Reserved1                    = 0x0002
pp_data->cap[47]->NotRange.StringIndex                  = 0
pp_data->cap[47]->NotRange.Reserved2                    = 0
pp_data->cap[47]->NotRange.DesignatorIndex              = 0
pp_data->cap[47]->NotRange.Reserved3                    = 0
pp_data->cap[47]->NotRange.DataIndex                    = 47
pp_data->cap[47]->NotRange.Reserved4                    = 47
pp_data->cap[47]->Button.LogicalMin                   = 0
pp_data->cap[47]->Button.LogicalMax                   = 0
pp_data->cap[47]->Units                    = 0
pp_data->cap[47]->UnitsExp                 = 0

pp_data->cap[48]->UsagePage                    = 0xFF01
pp_data->cap[48]->ReportID                     = 0x01
pp_data->cap[48]->BitPosition                  = 3
pp_data->cap[48]->BitSize                      = 1
pp_data->cap[48]->ReportCount                  = 1
pp_data->cap[48]->BytePosition                 = 0x0003
pp_data->cap[48]->BitCount                     = 1
pp_data->cap[48]->BitField                     = 0x02
pp_data->cap[48]->NextBytePosition             = 0x0004
pp_data->cap[48]->LinkCollection               = 0x0001
pp_data->cap[48]->LinkUsagePage                = 0xFF01
pp_data->cap[48]->LinkUsage                    = 0x0001
pp_data->cap[48]->IsMultipleItemsForArray      = 0
pp_data->cap[48]->IsButtonCap                  = 1
pp_data->cap[48]->IsPadding                    = 0
pp_data->cap[48]->IsAbsolute                   = 1
pp_data->cap[48]->IsRange                      = 0
pp_data->cap[48]->IsAlias                      = 0
pp_data->cap[48]->IsStringRange                = 0
pp_data->cap[48]->IsDesignatorRange            = 0
pp_data->cap[48]->Reserved1                    = 0x000000
pp_data->cap[48]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[48]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[48]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[48]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[48]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[48]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[48]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[48]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[48]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[48]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[48]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[48]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[48]->NotRange.Usage                        = 0x0002
pp_data->cap[48]->NotRange.Reserved1                    = 0x0002
pp_data->cap[48]->NotRange.StringIndex                  = 0
pp_data->cap[48]->NotRange.Reserved2                    = 0
pp_data->cap[48]->NotRange.DesignatorIndex              = 0
pp_data->cap[48]->NotRange.Reserved3                    = 0
pp_data->cap[48]->NotRange.DataIndex                    = 48
pp_data->cap[48]->NotRange.Reserved4                    = 48
pp_data->cap[48]->Button.LogicalMin                   = 0
pp_data->cap[48]->Button.LogicalMax                   = 0
pp_data->cap[48]->Units                    = 0
pp_data->cap[48]->UnitsExp                 = 0

pp_data->cap[49]->UsagePage                    = 0xFF01
pp_data->cap[49]->ReportID                     = 0x01
pp_data->cap[49]->BitPosition                  = 2
pp_data->cap[49]->BitSize                      = 1
pp_data->cap[49]->ReportCount                  = 1
pp_data->cap[49]->BytePosition                 = 0x0003
pp_data->cap[49]->BitCount                     = 1
pp_data->cap[49]->BitField                     = 0x02
pp_data->cap[49]->NextBytePosition             = 0x0004
pp_data->cap[49]->LinkCollection               = 0x0001
pp_data->cap[49]->LinkUsagePage                = 0xFF01
pp_data->cap[49]->LinkUsage                    = 0x0001
pp_data->cap[49]->IsMultipleItemsForArray      = 0
pp_data->cap[49]->IsButtonCap                  = 1
pp_data->cap[49]->IsPadding                    = 0
pp_data->cap[49]->IsAbsolute                   = 1
pp_data->cap[49]->IsRange                      = 0
pp_data->cap[49]->IsAlias                      = 0
pp_data->cap[49]->IsStringRange                = 0
pp_data->cap[49]->IsDesignatorRange            = 0
pp_data->cap[49]->Reserved1                    = 0x000000
pp_data->cap[49]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[49]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[49]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[49]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[49]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[49]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[49]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[49]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[49]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[49]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[49]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[49]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[49]->NotRange.Usage                        = 0x0002
pp_data->cap[49]->NotRange.Reserved1                    = 0x0002
pp_data->cap[49]->NotRange.StringIndex                  = 0
pp_data->cap[49]->NotRange.Reserved2                    = 0
pp_data->cap[49]->NotRange.DesignatorIndex              = 0
pp_data->cap[49]->NotRange.Reserved3                    = 0
pp_data->cap[49]->NotRange.DataIndex                    = 49
pp_data->cap[49]->NotRange.Reserved4                    = 49
pp_data->cap[49]->Button.LogicalMin                   = 0
pp_data->cap[49]->Button.LogicalMax                   = 0
pp_data->cap[49]->Units                    = 0
pp_data->cap[49]->UnitsExp                 = 0

pp_data->cap[50]->UsagePage                    = 0xFF01
pp_data->cap[50]->ReportID                     = 0x01
pp_data->cap[50]->BitPosition                  = 1
pp_data->cap[50]->BitSize                      = 1
pp_data->cap[50]->ReportCount                  = 1
pp_data->cap[50]->BytePosition                 = 0x0003
pp_data->cap[50]->BitCount                     = 1
pp_data->cap[50]->BitField                     = 0x02
pp_data->cap[50]->NextBytePosition             = 0x0004
pp_data->cap[50]->LinkCollection               = 0x0001
pp_data->cap[50]->LinkUsagePage                = 0xFF01
pp_data->cap[50]->LinkUsage                    = 0x0001
pp_data->cap[50]->IsMultipleItemsForArray      = 0
pp_data->cap[50]->IsButtonCap                  = 1
pp_data->cap[50]->IsPadding                    = 0
pp_data->cap[50]->IsAbsolute                   = 1
pp_data->cap[50]->IsRange                      = 0
pp_data->cap[50]->IsAlias                      = 0
pp_data->cap[50]->IsStringRange                = 0
pp_data->cap[50]->IsDesignatorRange            = 0
pp_data->cap[50]->Reserved1                    = 0x000000
pp_data->cap[50]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[50]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[50]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[50]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[50]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[50]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[50]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[50]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[50]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[50]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[50]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[50]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[50]->NotRange.Usage                        = 0x0002
pp_data->cap[50]->NotRange.Reserved1                    = 0x0002
pp_data->cap[50]->NotRange.StringIndex                  = 0
pp_data->cap[50]->NotRange.Reserved2                    = 0
pp_data->cap[50]->NotRange.DesignatorIndex              = 0
pp_data->cap[50]->NotRange.Reserved3                    = 0
pp_data->cap[50]->NotRange.DataIndex                    = 50
pp_data->cap[50]->NotRange.Reserved4                    = 50
pp_data->cap[50]->Button.LogicalMin                   = 0
pp_data->cap[50]->Button.LogicalMax                   = 0
pp_data->cap[50]->Units                    = 0
pp_data->cap[50]->UnitsExp                 = 0

pp_data->cap[51]->UsagePage                    = 0xFF01
pp_data->cap[51]->ReportID                     = 0x01
pp_data->cap[51]->BitPosition                  = 0
pp_data->cap[51]->BitSize                      = 1
pp_data->cap[51]->ReportCount                  = 1
pp_data->cap[51]->BytePosition                 = 0x0003
pp_data->cap[51]->BitCount                     = 1
pp_data->cap[51]->BitField                     = 0x02
pp_data->cap[51]->NextBytePosition             = 0x0004
pp_data->cap[51]->LinkCollection               = 0x0001
pp_data->cap[51]->LinkUsagePage                = 0xFF01
pp_data->cap[51]->LinkUsage                    = 0x0001
pp_data->cap[51]->IsMultipleItemsForArray      = 0
pp_data->cap[51]->IsButtonCap                  = 1
pp_data->cap[51]->IsPadding                    = 0
pp_data->cap[51]->IsAbsolute                   = 1
pp_data->cap[51]->IsRange                      = 0
pp_data->cap[51]->IsAlias                      = 0
pp_data->cap[51]->IsStringRange                = 0
pp_data->cap[51]->IsDesignatorRange            = 0
pp_data->cap[51]->Reserved1                    = 0x000000
pp_data->cap[51]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[51]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[51]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[51]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[51]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[51]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[51]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[51]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[51]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[51]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[51]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[51]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[51]->NotRange.Usage                        = 0x0002
pp_data->cap[51]->NotRange.Reserved1                    = 0x0002
pp_data->cap[51]->NotRange.StringIndex                  = 0
pp_data->cap[51]->NotRange.Reserved2                    = 0
pp_data->cap[51]->NotRange.DesignatorIndex              = 0
pp_data->cap[51]->NotRange.Reserved3                    = 0
pp_data->cap[51]->NotRange.DataIndex                    = 51
pp_data->cap[51]->NotRange.Reserved4                    = 51
pp_data->cap[51]->Button.LogicalMin                   = 0
pp_data->cap[51]->Button.LogicalMax                   = 0
pp_data->cap[51]->Units                    = 0
pp_data->cap[51]->UnitsExp                 = 0

pp_data->cap[52]->UsagePage                    = 0xFF01
pp_data->cap[52]->ReportID                     = 0x01
pp_data->cap[52]->BitPosition                  = 7
pp_data->cap[52]->BitSize                      = 1
pp_data->cap[52]->ReportCount                  = 1
pp_data->cap[52]->BytePosition                 = 0x0009
pp_data->cap[52]->BitCount                     = 1
pp_data->cap[52]->BitField                     = 0x02
pp_data->cap[52]->NextBytePosition             = 0x000A
pp_data->cap[52]->LinkCollection               = 0x0001
pp_data->cap[52]->LinkUsagePage                = 0xFF01
pp_data->cap[52]->LinkUsage                    = 0x0001
pp_data->cap[52]->IsMultipleItemsForArray      = 0
pp_data->cap[52]->IsButtonCap                  = 1
pp_data->cap[52]->IsPadding                    = 0
pp_data->cap[52]->IsAbsolute                   = 1
pp_data->cap[52]->IsRange                      = 0
pp_data->cap[52]->IsAlias                      = 0
pp_data->cap[52]->IsStringRange                = 0
pp_data->cap[52]->IsDesignatorRange            = 0
pp_data->cap[52]->Reserved1                    = 0x000000
pp_data->cap[52]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[52]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[52]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[52]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[52]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[52]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[52]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[52]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[52]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[52]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[52]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[52]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[52]->NotRange.Usage                        = 0x000B
pp_data->cap[52]->NotRange.Reserved1                    = 0x000B
pp_data->cap[52]->NotRange.StringIndex                  = 0
pp_data->cap[52]->NotRange.Reserved2                    = 0
pp_data->cap[52]->NotRange.DesignatorIndex              = 0
pp_data->cap[52]->NotRange.Reserved3                    = 0
pp_data->cap[52]->NotRange.DataIndex                    = 52
pp_data->cap[52]->NotRange.Reserved4                    = 52
pp_data->cap[52]->Button.LogicalMin                   = 0
pp_data->cap[52]->Button.LogicalMax                   = 0
pp_data->cap[52]->Units                    = 0
pp_data->cap[52]->UnitsExp                 = 0

pp_data->cap[53]->UsagePage                    = 0xFF01
pp_data->cap[53]->ReportID                     = 0x01
pp_data->cap[53]->BitPosition                  = 6
pp_data->cap[53]->BitSize                      = 1
pp_data->cap[53]->ReportCount                  = 1
pp_data->cap[53]->BytePosition                 = 0x0009
pp_data->cap[53]->BitCount                     = 1
pp_data->cap[53]->BitField                     = 0x02
pp_data->cap[53]->NextBytePosition             = 0x000A
pp_data->cap[53]->LinkCollection               = 0x0001
pp_data->cap[53]->LinkUsagePage                = 0xFF01
pp_data->cap[53]->LinkUsage                    = 0x0001
pp_data->cap[53]->IsMultipleItemsForArray      = 0
pp_data->cap[53]->IsButtonCap                  = 1
pp_data->cap[53]->IsPadding                    = 0
pp_data->cap[53]->IsAbsolute                   = 1
pp_data->cap[53]->IsRange                      = 0
pp_data->cap[53]->IsAlias                      = 0
pp_data->cap[53]->IsStringRange                = 0
pp_data->cap[53]->IsDesignatorRange            = 0
pp_data->cap[53]->Reserved1                    = 0x000000
pp_data->cap[53]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[53]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[53]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[53]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[53]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[53]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[53]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[53]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[53]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[53]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[53]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[53]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[53]->NotRange.Usage                        = 0x000B
pp_data->cap[53]->NotRange.Reserved1                    = 0x000B
pp_data->cap[53]->NotRange.StringIndex                  = 0
pp_data->cap[53]->NotRange.Reserved2                    = 0
pp_data->cap[53]->NotRange.DesignatorIndex              = 0
pp_data->cap[53]->NotRange.Reserved3                    = 0
pp_data->cap[53]->NotRange.DataIndex                    = 53
pp_data->cap[53]->NotRange.Reserved4                    = 53
pp_data->cap[53]->Button.LogicalMin                   = 0
pp_data->cap[53]->Button.LogicalMax                   = 0
pp_data->cap[53]->Units                    = 0
pp_data->cap[53]->UnitsExp                 = 0

pp_data->cap[54]->UsagePage                    = 0xFF01
pp_data->cap[54]->ReportID                     = 0x01
pp_data->cap[54]->BitPosition                  = 5
pp_data->cap[54]->BitSize                      = 1
pp_data->cap[54]->ReportCount                  = 1
pp_data->cap[54]->BytePosition                 = 0x0009
pp_data->cap[54]->BitCount                     = 1
pp_data->cap[54]->BitField                     = 0x02
pp_data->cap[54]->NextBytePosition             = 0x000A
pp_data->cap[54]->LinkCollection               = 0x0001
pp_data->cap[54]->LinkUsagePage                = 0xFF01
pp_data->cap[54]->LinkUsage                    = 0x0001
pp_data->cap[54]->IsMultipleItemsForArray      = 0
pp_data->cap[54]->IsButtonCap                  = 1
pp_data->cap[54]->IsPadding                    = 0
pp_data->cap[54]->IsAbsolute                   = 1
pp_data->cap[54]->IsRange                      = 0
pp_data->cap[54]->IsAlias                      = 0
pp_data->cap[54]->IsStringRange                = 0
pp_data->cap[54]->IsDesignatorRange            = 0
pp_data->cap[54]->Reserved1                    = 0x000000
pp_data->cap[54]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[54]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[54]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[54]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[54]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[54]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[54]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[54]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[54]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[54]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[54]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[54]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[54]->NotRange.Usage                        = 0x000B
pp_data->cap[54]->NotRange.Reserved1                    = 0x000B
pp_data->cap[54]->NotRange.StringIndex                  = 0
pp_data->cap[54]->NotRange.Reserved2                    = 0
pp_data->cap[54]->NotRange.DesignatorIndex              = 0
pp_data->cap[54]->NotRange.Reserved3                    = 0
pp_data->cap[54]->NotRange.DataIndex                    = 54
pp_data->cap[54]->NotRange.Reserved4                    = 54
pp_data->cap[54]->Button.LogicalMin                   = 0
pp_data->cap[54]->Button.LogicalMax                   = 0
pp_data->cap[54]->Units                    = 0
pp_data->cap[54]->UnitsExp                 = 0

pp_data->cap[55]->UsagePage                    = 0xFF01
pp_data->cap[55]->ReportID                     = 0x01
pp_data->cap[55]->BitPosition                  = 4
pp_data->cap[55]->BitSize                      = 1
pp_data->cap[55]->ReportCount                  = 1
pp_data->cap[55]->BytePosition                 = 0x0009
pp_data->cap[55]->BitCount                     = 1
pp_data->cap[55]->BitField                     = 0x02
pp_data->cap[55]->NextBytePosition             = 0x000A
pp_data->cap[55]->LinkCollection               = 0x0001
pp_data->cap[55]->LinkUsagePage                = 0xFF01
pp_data->cap[55]->LinkUsage                    = 0x0001
pp_data->cap[55]->IsMultipleItemsForArray      = 0
pp_data->cap[55]->IsButtonCap                  = 1
pp_data->cap[55]->IsPadding                    = 0
pp_data->cap[55]->IsAbsolute                   = 1
pp_data->cap[55]->IsRange                      = 0
pp_data->cap[55]->IsAlias                      = 0
pp_data->cap[55]->IsStringRange                = 0
pp_data->cap[55]->IsDesignatorRange            = 0
pp_data->cap[55]->Reserved1                    = 0x000000
pp_data->cap[55]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[55]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[55]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[55]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[55]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[55]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[55]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[55]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[55]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[55]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[55]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[55]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[55]->NotRange.Usage                        = 0x000B
pp_data->cap[55]->NotRange.Reserved1                    = 0x000B
pp_data->cap[55]->NotRange.StringIndex                  = 0
pp_data->cap[55]->NotRange.Reserved2                    = 0
pp_data->cap[55]->NotRange.DesignatorIndex              = 0
pp_data->cap[55]->NotRange.Reserved3                    = 0
pp_data->cap[55]->NotRange.DataIndex                    = 55
pp_data->cap[55]->NotRange.Reserved4                    = 55
pp_data->cap[55]->Button.LogicalMin                   = 0
pp_data->cap[55]->Button.LogicalMax                   = 0
pp_data->cap[55]->Units                    = 0
pp_data->cap[55]->UnitsExp                 = 0

pp_data->cap[56]->UsagePage                    = 0xFF01
pp_data->cap[56]->ReportID                     = 0x01
pp_data->cap[56]->BitPosition                  = 3
pp_data->cap[56]->BitSize                      = 1
pp_data->cap[56]->ReportCount                  = 1
pp_data->cap[56]->BytePosition                 = 0x0009
pp_data->cap[56]->BitCount                     = 1
pp_data->cap[56]->BitField                     = 0x02
pp_data->cap[56]->NextBytePosition             = 0x000A
pp_data->cap[56]->LinkCollection               = 0x0001
pp_data->cap[56]->LinkUsagePage                = 0xFF01
pp_data->cap[56]->LinkUsage                    = 0x0001
pp_data->cap[56]->IsMultipleItemsForArray      = 0
pp_data->cap[56]->IsButtonCap                  = 1
pp_data->cap[56]->IsPadding                    = 0
pp_data->cap[56]->IsAbsolute                   = 1
pp_data->cap[56]->IsRange                      = 0
pp_data->cap[56]->IsAlias                      = 0
pp_data->cap[56]->IsStringRange                = 0
pp_data->cap[56]->IsDesignatorRange            = 0
pp_data->cap[56]->Reserved1                    = 0x000000
pp_data->cap[56]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[56]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[56]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[56]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[56]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[56]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[56]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[56]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[56]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[56]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[56]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[56]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[56]->NotRange.Usage                        = 0x000B
pp_data->cap[56]->NotRange.Reserved1                    = 0x000B
pp_data->cap[56]->NotRange.StringIndex                  = 0
pp_data->cap[56]->NotRange.Reserved2                    = 0
pp_data->cap[56]->NotRange.DesignatorIndex              = 0
pp_data->cap[56]->NotRange.Reserved3                    = 0
pp_data->cap[56]->NotRange.DataIndex                    = 56
pp_data->cap[56]->NotRange.Reserved4                    = 56
pp_data->cap[56]->Button.LogicalMin                   = 0
pp_data->cap[56]->Button.LogicalMax                   = 0
pp_data->cap[56]->Units                    = 0
pp_data->cap[56]->UnitsExp                 = 0

pp_data->cap[57]->UsagePage                    = 0xFF01
pp_data->cap[57]->ReportID                     = 0x01
pp_data->cap[57]->BitPosition                  = 2
pp_data->cap[57]->BitSize                      = 1
pp_data->cap[57]->ReportCount                  = 1
pp_data->cap[57]->BytePosition                 = 0x0009
pp_data->cap[57]->BitCount                     = 1
pp_data->cap[57]->BitField                     = 0x02
pp_data->cap[57]->NextBytePosition             = 0x000A
pp_data->cap[57]->LinkCollection               = 0x0001
pp_data->cap[57]->LinkUsagePage                = 0xFF01
pp_data->cap[57]->LinkUsage                    = 0x0001
pp_data->cap[57]->IsMultipleItemsForArray      = 0
pp_data->cap[57]->IsButtonCap                  = 1
pp_data->cap[57]->IsPadding                    = 0
pp_data->cap[57]->IsAbsolute                   = 1
pp_data->cap[57]->IsRange                      = 0
pp_data->cap[57]->IsAlias                      = 0
pp_data->cap[57]->IsStringRange                = 0
pp_data->cap[57]->IsDesignatorRange            = 0
pp_data->cap[57]->Reserved1                    = 0x000000
pp_data->cap[57]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[57]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[57]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[57]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[57]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[57]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[57]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[57]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[57]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[57]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[57]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[57]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[57]->NotRange.Usage                        = 0x000B
pp_data->cap[57]->NotRange.Reserved1                    = 0x000B
pp_data->cap[57]->NotRange.StringIndex                  = 0
pp_data->cap[57]->NotRange.Reserved2                    = 0
pp_data->cap[57]->NotRange.DesignatorIndex              = 0
pp_data->cap[57]->NotRange.Reserved3                    = 0
pp_data->cap[57]->NotRange.DataIndex                    = 57
pp_data->cap[57]->NotRange.Reserved4                    = 57
pp_data->cap[57]->Button.LogicalMin                   = 0
pp_data->cap[57]->Button.LogicalMax                   = 0
pp_data->cap[57]->Units                    = 0
pp_data->cap[57]->UnitsExp                 = 0

pp_data->cap[58]->UsagePage                    = 0xFF01
pp_data->cap[58]->ReportID                     = 0x01
pp_data->cap[58]->BitPosition                  = 1
pp_data->cap[58]->BitSize                      = 1
pp_data->cap[58]->ReportCount                  = 1
pp_data->cap[58]->BytePosition                 = 0x0009
pp_data->cap[58]->BitCount                     = 1
pp_data->cap[58]->BitField                     = 0x02
pp_data->cap[58]->NextBytePosition             = 0x000A
pp_data->cap[58]->LinkCollection               = 0x0001
pp_data->cap[58]->LinkUsagePage                = 0xFF01
pp_data->cap[58]->LinkUsage                    = 0x0001
pp_data->cap[58]->IsMultipleItemsForArray      = 0
pp_data->cap[58]->IsButtonCap                  = 1
pp_data->cap[58]->IsPadding                    = 0
pp_data->cap[58]->IsAbsolute                   = 1
pp_data->cap[58]->IsRange                      = 0
pp_data->cap[58]->IsAlias                      = 0
pp_data->cap[58]->IsStringRange                = 0
pp_data->cap[58]->IsDesignatorRange            = 0
pp_data->cap[58]->Reserved1                    = 0x000000
pp_data->cap[58]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[58]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[58]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[58]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[58]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[58]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[58]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[58]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[58]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[58]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[58]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[58]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[58]->NotRange.Usage                        = 0x000B
pp_data->cap[58]->NotRange.Reserved1                    = 0x000B
pp_data->cap[58]->NotRange.StringIndex                  = 0
pp_data->cap[58]->NotRange.Reserved2                    = 0
pp_data->cap[58]->NotRange.DesignatorIndex              = 0
pp_data->cap[58]->NotRange.Reserved3                    = 0
pp_data->cap[58]->NotRange.DataIndex                    = 58
pp_data->cap[58]->NotRange.Reserved4                    = 58
pp_data->cap[58]->Button.LogicalMin                   = 0
pp_data->cap[58]->Button.LogicalMax                   = 0
pp_data->cap[58]->Units                    = 0
pp_data->cap[58]->UnitsExp                 = 0

pp_data->cap[59]->UsagePage                    = 0xFF01
pp_data->cap[59]->ReportID                     = 0x01
pp_data->cap[59]->BitPosition                  = 0
pp_data->cap[59]->BitSize                      = 1
pp_data->cap[59]->ReportCount                  = 1
pp_data->cap[59]->BytePosition                 = 0x0009
pp_data->cap[59]->BitCount                     = 1
pp_data->cap[59]->BitField                     = 0x02
pp_data->cap[59]->NextBytePosition             = 0x000A
pp_data->cap[59]->LinkCollection               = 0x0001
pp_data->cap[59]->LinkUsagePage                = 0xFF01
pp_data->cap[59]->LinkUsage                    = 0x0001
pp_data->cap[59]->IsMultipleItemsForArray      = 0
pp_data->cap[59]->IsButtonCap                  = 1
pp_data->cap[59]->IsPadding                    = 0
pp_data->cap[59]->IsAbsolute                   = 1
pp_data->cap[59]->IsRange                      = 0
pp_data->cap[59]->IsAlias                      = 0
pp_data->cap[59]->IsStringRange                = 0
pp_data->cap[59]->IsDesignatorRange            = 0
pp_data->cap[59]->Reserved1                    = 0x000000
pp_data->cap[59]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[59]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[59]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[59]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[59]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[59]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[59]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[59]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[59]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[59]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[59]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[59]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[59]->NotRange.Usage                        = 0x000B
pp_data->cap[59]->NotRange.Reserved1                    = 0x000B
pp_data->cap[59]->NotRange.StringIndex                  = 0
pp_data->cap[59]->NotRange.Reserved2                    = 0
pp_data->cap[59]->NotRange.DesignatorIndex              = 0
pp_data->cap[59]->NotRange.Reserved3                    = 0
pp_data->cap[59]->NotRange.DataIndex                    = 59
pp_data->cap[59]->NotRange.Reserved4                    = 59
pp_data->cap[59]->Button.LogicalMin                   = 0
pp_data->cap[59]->Button.LogicalMax                   = 0
pp_data->cap[59]->Units                    = 0
pp_data->cap[59]->UnitsExp                 = 0

pp_data->cap[60]->UsagePage                    = 0xFF01
pp_data->cap[60]->ReportID                     = 0x02
pp_data->cap[60]->BitPosition                  = 0
pp_data->cap[60]->BitSize                      = 16
pp_data->cap[60]->ReportCount                  = 1
pp_data->cap[60]->BytePosition                 = 0x0033
pp_data->cap[60]->BitCount                     = 16
pp_data->cap[60]->BitField                     = 0x02
pp_data->cap[60]->NextBytePosition             = 0x0035
pp_data->cap[60]->LinkCollection               = 0x0002
pp_data->cap[60]->LinkUsagePage                = 0xFF01
pp_data->cap[60]->LinkUsage                    = 0x0002
pp_data->cap[60]->IsMultipleItemsForArray      = 0
pp_data->cap[60]->IsButtonCap                  = 0
pp_data->cap[60]->IsPadding                    = 0
pp_data->cap[60]->IsAbsolute                   = 1
pp_data->cap[60]->IsRange                      = 0
pp_data->cap[60]->IsAlias                      = 0
pp_data->cap[60]->IsStringRange                = 0
pp_data->cap[60]->IsDesignatorRange            = 0
pp_data->cap[60]->Reserved1                    = 0x000000
pp_data->cap[60]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[60]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[60]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[60]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[60]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[60]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[60]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[60]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[60]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[60]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[60]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[60]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[60]->NotRange.Usage                        = 0x0004
pp_data->cap[60]->NotRange.Reserved1                    = 0x0004
pp_data->cap[60]->NotRange.StringIndex                  = 0
pp_data->cap[60]->NotRange.Reserved2                    = 0
pp_data->cap[60]->NotRange.DesignatorIndex              = 0
pp_data->cap[60]->NotRange.Reserved3                    = 0
pp_data->cap[60]->NotRange.DataIndex                    = 60
pp_data->cap[60]->NotRange.Reserved4                    = 60
pp_data->cap[60]->NotButton.HasNull                   = 0
pp_data->cap[60]->NotButton.Reserved4                 = 0x000000
pp_data->cap[60]->NotButton.LogicalMin                = 0
pp_data->cap[60]->NotButton.LogicalMax                = 4095
pp_data->cap[60]->NotButton.PhysicalMin               = 0
pp_data->cap[60]->NotButton.PhysicalMax               = 0
pp_data->cap[60]->Units                    = 0
pp_data->cap[60]->UnitsExp                 = 0

pp_data->cap[61]->UsagePage                    = 0xFF01
pp_data->cap[61]->ReportID                     = 0x02
pp_data->cap[61]->BitPosition                  = 0
pp_data->cap[61]->BitSize                      = 16
pp_data->cap[61]->ReportCount                  = 1
pp_data->cap[61]->BytePosition                 = 0x0031
pp_data->cap[61]->BitCount                     = 16
pp_data->cap[61]->BitField                     = 0x02
pp_data->cap[61]->NextBytePosition             = 0x0033
pp_data->cap[61]->LinkCollection               = 0x0002
pp_data->cap[61]->LinkUsagePage                = 0xFF01
pp_data->cap[61]->LinkUsage                    = 0x0002
pp_data->cap[61]->IsMultipleItemsForArray      = 0
pp_data->cap[61]->IsButtonCap                  = 0
pp_data->cap[61]->IsPadding                    = 0
pp_data->cap[61]->IsAbsolute                   = 1
pp_data->cap[61]->IsRange                      = 0
pp_data->cap[61]->IsAlias                      = 0
pp_data->cap[61]->IsStringRange                = 0
pp_data->cap[61]->IsDesignatorRange            = 0
pp_data->cap[61]->Reserved1                    = 0x000000
pp_data->cap[61]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[61]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[61]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[61]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[61]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[61]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[61]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[61]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[61]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[61]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[61]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[61]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[61]->NotRange.Usage                        = 0x0004
pp_data->cap[61]->NotRange.Reserved1                    = 0x0004
pp_data->cap[61]->NotRange.StringIndex                  = 0
pp_data->cap[61]->NotRange.Reserved2                    = 0
pp_data->cap[61]->NotRange.DesignatorIndex              = 0
pp_data->cap[61]->NotRange.Reserved3                    = 0
pp_data->cap[61]->NotRange.DataIndex                    = 61
pp_data->cap[61]->NotRange.Reserved4                    = 61
pp_data->cap[61]->NotButton.HasNull                   = 0
pp_data->cap[61]->NotButton.Reserved4                 = 0x000000
pp_data->cap[61]->NotButton.LogicalMin                = 0
pp_data->cap[61]->NotButton.LogicalMax                = 4095
pp_data->cap[61]->NotButton.PhysicalMin               = 0
pp_data->cap[61]->NotButton.PhysicalMax               = 0
pp_data->cap[61]->Units                    = 0
pp_data->cap[61]->UnitsExp                 = 0

pp_data->cap[62]->UsagePage                    = 0xFF01
pp_data->cap[62]->ReportID                     = 0x02
pp_data->cap[62]->BitPosition                  = 0
pp_data->cap[62]->BitSize                      = 16
pp_data->cap[62]->ReportCount                  = 1
pp_data->cap[62]->BytePosition                 = 0x002F
pp_data->cap[62]->BitCount                     = 16
pp_data->cap[62]->BitField                     = 0x02
pp_data->cap[62]->NextBytePosition             = 0x0031
pp_data->cap[62]->LinkCollection               = 0x0002
pp_data->cap[62]->LinkUsagePage                = 0xFF01
pp_data->cap[62]->LinkUsage                    = 0x0002
pp_data->cap[62]->IsMultipleItemsForArray      = 0
pp_data->cap[62]->IsButtonCap                  = 0
pp_data->cap[62]->IsPadding                    = 0
pp_data->cap[62]->IsAbsolute                   = 1
pp_data->cap[62]->IsRange                      = 0
pp_data->cap[62]->IsAlias                      = 0
pp_data->cap[62]->IsStringRange                = 0
pp_data->cap[62]->IsDesignatorRange            = 0
pp_data->cap[62]->Reserved1                    = 0x000000
pp_data->cap[62]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[62]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[62]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[62]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[62]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[62]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[62]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[62]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[62]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[62]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[62]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[62]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[62]->NotRange.Usage                        = 0x0004
pp_data->cap[62]->NotRange.Reserved1                    = 0x0004
pp_data->cap[62]->NotRange.StringIndex                  = 0
pp_data->cap[62]->NotRange.Reserved2                    = 0
pp_data->cap[62]->NotRange.DesignatorIndex              = 0
pp_data->cap[62]->NotRange.Reserved3                    = 0
pp_data->cap[62]->NotRange.DataIndex                    = 62
pp_data->cap[62]->NotRange.Reserved4                    = 62
pp_data->cap[62]->NotButton.HasNull                   = 0
pp_data->cap[62]->NotButton.Reserved4                 = 0x000000
pp_data->cap[62]->NotButton.LogicalMin                = 0
pp_data->cap[62]->NotButton.LogicalMax                = 4095
pp_data->cap[62]->NotButton.PhysicalMin               = 0
pp_data->cap[62]->NotButton.PhysicalMax               = 0
pp_data->cap[62]->Units                    = 0
pp_data->cap[62]->UnitsExp                 = 0

pp_data->cap[63]->UsagePage                    = 0xFF01
pp_data->cap[63]->ReportID                     = 0x02
pp_data->cap[63]->BitPosition                  = 0
pp_data->cap[63]->BitSize                      = 16
pp_data->cap[63]->ReportCount                  = 1
pp_data->cap[63]->BytePosition                 = 0x002D
pp_data->cap[63]->BitCount                     = 16
pp_data->cap[63]->BitField                     = 0x02
pp_data->cap[63]->NextBytePosition             = 0x002F
pp_data->cap[63]->LinkCollection               = 0x0002
pp_data->cap[63]->LinkUsagePage                = 0xFF01
pp_data->cap[63]->LinkUsage                    = 0x0002
pp_data->cap[63]->IsMultipleItemsForArray      = 0
pp_data->cap[63]->IsButtonCap                  = 0
pp_data->cap[63]->IsPadding                    = 0
pp_data->cap[63]->IsAbsolute                   = 1
pp_data->cap[63]->IsRange                      = 0
pp_data->cap[63]->IsAlias                      = 0
pp_data->cap[63]->IsStringRange                = 0
pp_data->cap[63]->IsDesignatorRange            = 0
pp_data->cap[63]->Reserved1                    = 0x000000
pp_data->cap[63]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[63]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[63]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[63]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[63]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[63]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[63]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[63]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[63]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[63]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[63]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[63]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[63]->NotRange.Usage                        = 0x0004
pp_data->cap[63]->NotRange.Reserved1                    = 0x0004
pp_data->cap[63]->NotRange.StringIndex                  = 0
pp_data->cap[63]->NotRange.Reserved2                    = 0
pp_data->cap[63]->NotRange.DesignatorIndex              = 0
pp_data->cap[63]->NotRange.Reserved3                    = 0
pp_data->cap[63]->NotRange.DataIndex                    = 63
pp_data->cap[63]->NotRange.Reserved4                    = 63
pp_data->cap[63]->NotButton.HasNull                   = 0
pp_data->cap[63]->NotButton.Reserved4                 = 0x000000
pp_data->cap[63]->NotButton.LogicalMin                = 0
pp_data->cap[63]->NotButton.LogicalMax                = 4095
pp_data->cap[63]->NotButton.PhysicalMin               = 0
pp_data->cap[63]->NotButton.PhysicalMax               = 0
pp_data->cap[63]->Units                    = 0
pp_data->cap[63]->UnitsExp                 = 0

pp_data->cap[64]->UsagePage                    = 0xFF01
pp_data->cap[64]->ReportID                     = 0x02
pp_data->cap[64]->BitPosition                  = 0
pp_data->cap[64]->BitSize                      = 16
pp_data->cap[64]->ReportCount                  = 1
pp_data->cap[64]->BytePosition                 = 0x002B
pp_data->cap[64]->BitCount                     = 16
pp_data->cap[64]->BitField                     = 0x02
pp_data->cap[64]->NextBytePosition             = 0x002D
pp_data->cap[64]->LinkCollection               = 0x0002
pp_data->cap[64]->LinkUsagePage                = 0xFF01
pp_data->cap[64]->LinkUsage                    = 0x0002
pp_data->cap[64]->IsMultipleItemsForArray      = 0
pp_data->cap[64]->IsButtonCap                  = 0
pp_data->cap[64]->IsPadding                    = 0
pp_data->cap[64]->IsAbsolute                   = 1
pp_data->cap[64]->IsRange                      = 0
pp_data->cap[64]->IsAlias                      = 0
pp_data->cap[64]->IsStringRange                = 0
pp_data->cap[64]->IsDesignatorRange            = 0
pp_data->cap[64]->Reserved1                    = 0x000000
pp_data->cap[64]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[64]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[64]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[64]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[64]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[64]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[64]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[64]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[64]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[64]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[64]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[64]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[64]->NotRange.Usage                        = 0x0004
pp_data->cap[64]->NotRange.Reserved1                    = 0x0004
pp_data->cap[64]->NotRange.StringIndex                  = 0
pp_data->cap[64]->NotRange.Reserved2                    = 0
pp_data->cap[64]->NotRange.DesignatorIndex              = 0
pp_data->cap[64]->NotRange.Reserved3                    = 0
pp_data->cap[64]->NotRange.DataIndex                    = 64
pp_data->cap[64]->NotRange.Reserved4                    = 64
pp_data->cap[64]->NotButton.HasNull                   = 0
pp_data->cap[64]->NotButton.Reserved4                 = 0x000000
pp_data->cap[64]->NotButton.LogicalMin                = 0
pp_data->cap[64]->NotButton.LogicalMax                = 4095
pp_data->cap[64]->NotButton.PhysicalMin               = 0
pp_data->cap[64]->NotButton.PhysicalMax               = 0
pp_data->cap[64]->Units                    = 0
pp_data->cap[64]->UnitsExp                 = 0

pp_data->cap[65]->UsagePage                    = 0xFF01
pp_data->cap[65]->ReportID                     = 0x02
pp_data->cap[65]->BitPosition                  = 0
pp_data->cap[65]->BitSize                      = 16
pp_data->cap[65]->ReportCount                  = 1
pp_data->cap[65]->BytePosition                 = 0x0029
pp_data->cap[65]->BitCount                     = 16
pp_data->cap[65]->BitField                     = 0x02
pp_data->cap[65]->NextBytePosition             = 0x002B
pp_data->cap[65]->LinkCollection               = 0x0002
pp_data->cap[65]->LinkUsagePage                = 0xFF01
pp_data->cap[65]->LinkUsage                    = 0x0002
pp_data->cap[65]->IsMultipleItemsForArray      = 0
pp_data->cap[65]->IsButtonCap                  = 0
pp_data->cap[65]->IsPadding                    = 0
pp_data->cap[65]->IsAbsolute                   = 1
pp_data->cap[65]->IsRange                      = 0
pp_data->cap[65]->IsAlias                      = 0
pp_data->cap[65]->IsStringRange                = 0
pp_data->cap[65]->IsDesignatorRange            = 0
pp_data->cap[65]->Reserved1                    = 0x000000
pp_data->cap[65]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[65]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[65]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[65]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[65]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[65]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[65]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[65]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[65]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[65]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[65]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[65]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[65]->NotRange.Usage                        = 0x0004
pp_data->cap[65]->NotRange.Reserved1                    = 0x0004
pp_data->cap[65]->NotRange.StringIndex                  = 0
pp_data->cap[65]->NotRange.Reserved2                    = 0
pp_data->cap[65]->NotRange.DesignatorIndex              = 0
pp_data->cap[65]->NotRange.Reserved3                    = 0
pp_data->cap[65]->NotRange.DataIndex                    = 65
pp_data->cap[65]->NotRange.Reserved4                    = 65
pp_data->cap[65]->NotButton.HasNull                   = 0
pp_data->cap[65]->NotButton.Reserved4                 = 0x000000
pp_data->cap[65]->NotButton.LogicalMin                = 0
pp_data->cap[65]->NotButton.LogicalMax                = 4095
pp_data->cap[65]->NotButton.PhysicalMin               = 0
pp_data->cap[65]->NotButton.PhysicalMax               = 0
pp_data->cap[65]->Units                    = 0
pp_data->cap[65]->UnitsExp                 = 0

pp_data->cap[66]->UsagePage                    = 0xFF01
pp_data->cap[66]->ReportID                     = 0x02
pp_data->cap[66]->BitPosition                  = 0
pp_data->cap[66]->BitSize                      = 16
pp_data->cap[66]->ReportCount                  = 1
pp_data->cap[66]->BytePosition                 = 0x0027
pp_data->cap[66]->BitCount                     = 16
pp_data->cap[66]->BitField                     = 0x02
pp_data->cap[66]->NextBytePosition             = 0x0029
pp_data->cap[66]->LinkCollection               = 0x0002
pp_data->cap[66]->LinkUsagePage                = 0xFF01
pp_data->cap[66]->LinkUsage                    = 0x0002
pp_data->cap[66]->IsMultipleItemsForArray      = 0
pp_data->cap[66]->IsButtonCap                  = 0
pp_data->cap[66]->IsPadding                    = 0
pp_data->cap[66]->IsAbsolute                   = 1
pp_data->cap[66]->IsRange                      = 0
pp_data->cap[66]->IsAlias                      = 0
pp_data->cap[66]->IsStringRange                = 0
pp_data->cap[66]->IsDesignatorRange            = 0
pp_data->cap[66]->Reserved1                    = 0x000000
pp_data->cap[66]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[66]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[66]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[66]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[66]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[66]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[66]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[66]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[66]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[66]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[66]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[66]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[66]->NotRange.Usage                        = 0x0004
pp_data->cap[66]->NotRange.Reserved1                    = 0x0004
pp_data->cap[66]->NotRange.StringIndex                  = 0
pp_data->cap[66]->NotRange.Reserved2                    = 0
pp_data->cap[66]->NotRange.DesignatorIndex              = 0
pp_data->cap[66]->NotRange.Reserved3                    = 0
pp_data->cap[66]->NotRange.DataIndex                    = 66
pp_data->cap[66]->NotRange.Reserved4                    = 66
pp_data->cap[66]->NotButton.HasNull                   = 0
pp_data->cap[66]->NotButton.Reserved4                 = 0x000000
pp_data->cap[66]->NotButton.LogicalMin                = 0
pp_data->cap[66]->NotButton.LogicalMax                = 4095
pp_data->cap[66]->NotButton.PhysicalMin               = 0
pp_data->cap[66]->NotButton.PhysicalMax               = 0
pp_data->cap[66]->Units                    = 0
pp_data->cap[66]->UnitsExp                 = 0

pp_data->cap[67]->UsagePage                    = 0xFF01
pp_data->cap[67]->ReportID                     = 0x02
pp_data->cap[67]->BitPosition                  = 0
pp_data->cap[67]->BitSize                      = 16
pp_data->cap[67]->ReportCount                  = 1
pp_data->cap[67]->BytePosition                 = 0x0025
pp_data->cap[67]->BitCount                     = 16
pp_data->cap[67]->BitField                     = 0x02
pp_data->cap[67]->NextBytePosition             = 0x0027
pp_data->cap[67]->LinkCollection               = 0x0002
pp_data->cap[67]->LinkUsagePage                = 0xFF01
pp_data->cap[67]->LinkUsage                    = 0x0002
pp_data->cap[67]->IsMultipleItemsForArray      = 0
pp_data->cap[67]->IsButtonCap                  = 0
pp_data->cap[67]->IsPadding                    = 0
pp_data->cap[67]->IsAbsolute                   = 1
pp_data->cap[67]->IsRange                      = 0
pp_data->cap[67]->IsAlias                      = 0
pp_data->cap[67]->IsStringRange                = 0
pp_data->cap[67]->IsDesignatorRange            = 0
pp_data->cap[67]->Reserved1                    = 0x000000
pp_data->cap[67]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[67]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[67]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[67]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[67]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[67]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[67]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[67]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[67]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[67]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[67]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[67]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[67]->NotRange.Usage                        = 0x0004
pp_data->cap[67]->NotRange.Reserved1                    = 0x0004
pp_data->cap[67]->NotRange.StringIndex                  = 0
pp_data->cap[67]->NotRange.Reserved2                    = 0
pp_data->cap[67]->NotRange.DesignatorIndex              = 0
pp_data->cap[67]->NotRange.Reserved3                    = 0
pp_data->cap[67]->NotRange.DataIndex                    = 67
pp_data->cap[67]->NotRange.Reserved4                    = 67
pp_data->cap[67]->NotButton.HasNull                   = 0
pp_data->cap[67]->NotButton.Reserved4                 = 0x000000
pp_data->cap[67]->NotButton.LogicalMin                = 0
pp_data->cap[67]->NotButton.LogicalMax                = 4095
pp_data->cap[67]->NotButton.PhysicalMin               = 0
pp_data->cap[67]->NotButton.PhysicalMax               = 0
pp_data->cap[67]->Units                    = 0
pp_data->cap[67]->UnitsExp                 = 0

pp_data->cap[68]->UsagePage                    = 0xFF01
pp_data->cap[68]->ReportID                     = 0x02
pp_data->cap[68]->BitPosition                  = 0
pp_data->cap[68]->BitSize                      = 16
pp_data->cap[68]->ReportCount                  = 1
pp_data->cap[68]->BytePosition                 = 0x0023
pp_data->cap[68]->BitCount                     = 16
pp_data->cap[68]->BitField                     = 0x02
pp_data->cap[68]->NextBytePosition             = 0x0025
pp_data->cap[68]->LinkCollection               = 0x0002
pp_data->cap[68]->LinkUsagePage                = 0xFF01
pp_data->cap[68]->LinkUsage                    = 0x0002
pp_data->cap[68]->IsMultipleItemsForArray      = 0
pp_data->cap[68]->IsButtonCap                  = 0
pp_data->cap[68]->IsPadding                    = 0
pp_data->cap[68]->IsAbsolute                   = 1
pp_data->cap[68]->IsRange                      = 0
pp_data->cap[68]->IsAlias                      = 0
pp_data->cap[68]->IsStringRange                = 0
pp_data->cap[68]->IsDesignatorRange            = 0
pp_data->cap[68]->Reserved1                    = 0x000000
pp_data->cap[68]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[68]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[68]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[68]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[68]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[68]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[68]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[68]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[68]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[68]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[68]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[68]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[68]->NotRange.Usage                        = 0x0004
pp_data->cap[68]->NotRange.Reserved1                    = 0x0004
pp_data->cap[68]->NotRange.StringIndex                  = 0
pp_data->cap[68]->NotRange.Reserved2                    = 0
pp_data->cap[68]->NotRange.DesignatorIndex              = 0
pp_data->cap[68]->NotRange.Reserved3                    = 0
pp_data->cap[68]->NotRange.DataIndex                    = 68
pp_data->cap[68]->NotRange.Reserved4                    = 68
pp_data->cap[68]->NotButton.HasNull                   = 0
pp_data->cap[68]->NotButton.Reserved4                 = 0x000000
pp_data->cap[68]->NotButton.LogicalMin                = 0
pp_data->cap[68]->NotButton.LogicalMax                = 4095
pp_data->cap[68]->NotButton.PhysicalMin               = 0
pp_data->cap[68]->NotButton.PhysicalMax               = 0
pp_data->cap[68]->Units                    = 0
pp_data->cap[68]->UnitsExp                 = 0

pp_data->cap[69]->UsagePage                    = 0xFF01
pp_data->cap[69]->ReportID                     = 0x02
pp_data->cap[69]->BitPosition                  = 0
pp_data->cap[69]->BitSize                      = 16
pp_data->cap[69]->ReportCount                  = 1
pp_data->cap[69]->BytePosition                 = 0x0021
pp_data->cap[69]->BitCount                     = 16
pp_data->cap[69]->BitField                     = 0x02
pp_data->cap[69]->NextBytePosition             = 0x0023
pp_data->cap[69]->LinkCollection               = 0x0002
pp_data->cap[69]->LinkUsagePage                = 0xFF01
pp_data->cap[69]->LinkUsage                    = 0x0002
pp_data->cap[69]->IsMultipleItemsForArray      = 0
pp_data->cap[69]->IsButtonCap                  = 0
pp_data->cap[69]->IsPadding                    = 0
pp_data->cap[69]->IsAbsolute                   = 1
pp_data->cap[69]->IsRange                      = 0
pp_data->cap[69]->IsAlias                      = 0
pp_data->cap[69]->IsStringRange                = 0
pp_data->cap[69]->IsDesignatorRange            = 0
pp_data->cap[69]->Reserved1                    = 0x000000
pp_data->cap[69]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[69]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[69]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[69]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[69]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[69]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[69]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[69]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[69]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[69]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[69]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[69]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[69]->NotRange.Usage                        = 0x0004
pp_data->cap[69]->NotRange.Reserved1                    = 0x0004
pp_data->cap[69]->NotRange.StringIndex                  = 0
pp_data->cap[69]->NotRange.Reserved2                    = 0
pp_data->cap[69]->NotRange.DesignatorIndex              = 0
pp_data->cap[69]->NotRange.Reserved3                    = 0
pp_data->cap[69]->NotRange.DataIndex                    = 69
pp_data->cap[69]->NotRange.Reserved4                    = 69
pp_data->cap[69]->NotButton.HasNull                   = 0
pp_data->cap[69]->NotButton.Reserved4                 = 0x000000
pp_data->cap[69]->NotButton.LogicalMin                = 0
pp_data->cap[69]->NotButton.LogicalMax                = 4095
pp_data->cap[69]->NotButton.PhysicalMin               = 0
pp_data->cap[69]->NotButton.PhysicalMax               = 0
pp_data->cap[69]->Units                    = 0
pp_data->cap[69]->UnitsExp                 = 0

pp_data->cap[70]->UsagePage                    = 0xFF01
pp_data->cap[70]->ReportID                     = 0x02
pp_data->cap[70]->BitPosition                  = 0
pp_data->cap[70]->BitSize                      = 16
pp_data->cap[70]->ReportCount                  = 1
pp_data->cap[70]->BytePosition                 = 0x001F
pp_data->cap[70]->BitCount                     = 16
pp_data->cap[70]->BitField                     = 0x02
pp_data->cap[70]->NextBytePosition             = 0x0021
pp_data->cap[70]->LinkCollection               = 0x0002
pp_data->cap[70]->LinkUsagePage                = 0xFF01
pp_data->cap[70]->LinkUsage                    = 0x0002
pp_data->cap[70]->IsMultipleItemsForArray      = 0
pp_data->cap[70]->IsButtonCap                  = 0
pp_data->cap[70]->IsPadding                    = 0
pp_data->cap[70]->IsAbsolute                   = 1
pp_data->cap[70]->IsRange                      = 0
pp_data->cap[70]->IsAlias                      = 0
pp_data->cap[70]->IsStringRange                = 0
pp_data->cap[70]->IsDesignatorRange            = 0
pp_data->cap[70]->Reserved1                    = 0x000000
pp_data->cap[70]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[70]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[70]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[70]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[70]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[70]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[70]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[70]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[70]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[70]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[70]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[70]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[70]->NotRange.Usage                        = 0x0004
pp_data->cap[70]->NotRange.Reserved1                    = 0x0004
pp_data->cap[70]->NotRange.StringIndex                  = 0
pp_data->cap[70]->NotRange.Reserved2                    = 0
pp_data->cap[70]->NotRange.DesignatorIndex              = 0
pp_data->cap[70]->NotRange.Reserved3                    = 0
pp_data->cap[70]->NotRange.DataIndex                    = 70
pp_data->cap[70]->NotRange.Reserved4                    = 70
pp_data->cap[70]->NotButton.HasNull                   = 0
pp_data->cap[70]->NotButton.Reserved4                 = 0x000000
pp_data->cap[70]->NotButton.LogicalMin                = 0
pp_data->cap[70]->NotButton.LogicalMax                = 4095
pp_data->cap[70]->NotButton.PhysicalMin               = 0
pp_data->cap[70]->NotButton.PhysicalMax               = 0
pp_data->cap[70]->Units                    = 0
pp_data->cap[70]->UnitsExp                 = 0

pp_data->cap[71]->UsagePage                    = 0xFF01
pp_data->cap[71]->ReportID                     = 0x02
pp_data->cap[71]->BitPosition                  = 0
pp_data->cap[71]->BitSize                      = 16
pp_data->cap[71]->ReportCount                  = 1
pp_data->cap[71]->BytePosition                 = 0x001D
pp_data->cap[71]->BitCount                     = 16
pp_data->cap[71]->BitField                     = 0x02
pp_data->cap[71]->NextBytePosition             = 0x001F
pp_data->cap[71]->LinkCollection               = 0x0002
pp_data->cap[71]->LinkUsagePage                = 0xFF01
pp_data->cap[71]->LinkUsage                    = 0x0002
pp_data->cap[71]->IsMultipleItemsForArray      = 0
pp_data->cap[71]->IsButtonCap                  = 0
pp_data->cap[71]->IsPadding                    = 0
pp_data->cap[71]->IsAbsolute                   = 1
pp_data->cap[71]->IsRange                      = 0
pp_data->cap[71]->IsAlias                      = 0
pp_data->cap[71]->IsStringRange                = 0
pp_data->cap[71]->IsDesignatorRange            = 0
pp_data->cap[71]->Reserved1                    = 0x000000
pp_data->cap[71]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[71]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[71]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[71]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[71]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[71]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[71]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[71]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[71]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[71]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[71]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[71]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[71]->NotRange.Usage                        = 0x0004
pp_data->cap[71]->NotRange.Reserved1                    = 0x0004
pp_data->cap[71]->NotRange.StringIndex                  = 0
pp_data->cap[71]->NotRange.Reserved2                    = 0
pp_data->cap[71]->NotRange.DesignatorIndex              = 0
pp_data->cap[71]->NotRange.Reserved3                    = 0
pp_data->cap[71]->NotRange.DataIndex                    = 71
pp_data->cap[71]->NotRange.Reserved4                    = 71
pp_data->cap[71]->NotButton.HasNull                   = 0
pp_data->cap[71]->NotButton.Reserved4                 = 0x000000
pp_data->cap[71]->NotButton.LogicalMin                = 0
pp_data->cap[71]->NotButton.LogicalMax                = 4095
pp_data->cap[71]->NotButton.PhysicalMin               = 0
pp_data->cap[71]->NotButton.PhysicalMax               = 0
pp_data->cap[71]->Units                    = 0
pp_data->cap[71]->UnitsExp                 = 0

pp_data->cap[72]->UsagePage                    = 0xFF01
pp_data->cap[72]->ReportID                     = 0x02
pp_data->cap[72]->BitPosition                  = 0
pp_data->cap[72]->BitSize                      = 16
pp_data->cap[72]->ReportCount                  = 1
pp_data->cap[72]->BytePosition                 = 0x001B
pp_data->cap[72]->BitCount                     = 16
pp_data->cap[72]->BitField                     = 0x02
pp_data->cap[72]->NextBytePosition             = 0x001D
pp_data->cap[72]->LinkCollection               = 0x0002
pp_data->cap[72]->LinkUsagePage                = 0xFF01
pp_data->cap[72]->LinkUsage                    = 0x0002
pp_data->cap[72]->IsMultipleItemsForArray      = 0
pp_data->cap[72]->IsButtonCap                  = 0
pp_data->cap[72]->IsPadding                    = 0
pp_data->cap[72]->IsAbsolute                   = 1
pp_data->cap[72]->IsRange                      = 0
pp_data->cap[72]->IsAlias                      = 0
pp_data->cap[72]->IsStringRange                = 0
pp_data->cap[72]->IsDesignatorRange            = 0
pp_data->cap[72]->Reserved1                    = 0x000000
pp_data->cap[72]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[72]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[72]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[72]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[72]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[72]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[72]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[72]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[72]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[72]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[72]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[72]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[72]->NotRange.Usage                        = 0x0004
pp_data->cap[72]->NotRange.Reserved1                    = 0x0004
pp_data->cap[72]->NotRange.StringIndex                  = 0
pp_data->cap[72]->NotRange.Reserved2                    = 0
pp_data->cap[72]->NotRange.DesignatorIndex              = 0
pp_data->cap[72]->NotRange.Reserved3                    = 0
pp_data->cap[72]->NotRange.DataIndex                    = 72
pp_data->cap[72]->NotRange.Reserved4                    = 72
pp_data->cap[72]->NotButton.HasNull                   = 0
pp_data->cap[72]->NotButton.Reserved4                 = 0x000000
pp_data->cap[72]->NotButton.LogicalMin                = 0
pp_data->cap[72]->NotButton.LogicalMax                = 4095
pp_data->cap[72]->NotButton.PhysicalMin               = 0
pp_data->cap[72]->NotButton.PhysicalMax               = 0
pp_data->cap[72]->Units                    = 0
pp_data->cap[72]->UnitsExp                 = 0

pp_data->cap[73]->UsagePage                    = 0xFF01
pp_data->cap[73]->ReportID                     = 0x02
pp_data->cap[73]->BitPosition                  = 0
pp_data->cap[73]->BitSize                      = 16
pp_data->cap[73]->ReportCount                  = 1
pp_data->cap[73]->BytePosition                 = 0x0019
pp_data->cap[73]->BitCount                     = 16
pp_data->cap[73]->BitField                     = 0x02
pp_data->cap[73]->NextBytePosition             = 0x001B
pp_data->cap[73]->LinkCollection               = 0x0002
pp_data->cap[73]->LinkUsagePage                = 0xFF01
pp_data->cap[73]->LinkUsage                    = 0x0002
pp_data->cap[73]->IsMultipleItemsForArray      = 0
pp_data->cap[73]->IsButtonCap                  = 0
pp_data->cap[73]->IsPadding                    = 0
pp_data->cap[73]->IsAbsolute                   = 1
pp_data->cap[73]->IsRange                      = 0
pp_data->cap[73]->IsAlias                      = 0
pp_data->cap[73]->IsStringRange                = 0
pp_data->cap[73]->IsDesignatorRange            = 0
pp_data->cap[73]->Reserved1                    = 0x000000
pp_data->cap[73]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[73]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[73]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[73]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[73]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[73]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[73]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[73]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[73]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[73]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[73]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[73]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[73]->NotRange.Usage                        = 0x0004
pp_data->cap[73]->NotRange.Reserved1                    = 0x0004
pp_data->cap[73]->NotRange.StringIndex                  = 0
pp_data->cap[73]->NotRange.Reserved2                    = 0
pp_data->cap[73]->NotRange.DesignatorIndex              = 0
pp_data->cap[73]->NotRange.Reserved3                    = 0
pp_data->cap[73]->NotRange.DataIndex                    = 73
pp_data->cap[73]->NotRange.Reserved4                    = 73
pp_data->cap[73]->NotButton.HasNull                   = 0
pp_data->cap[73]->NotButton.Reserved4                 = 0x000000
pp_data->cap[73]->NotButton.LogicalMin                = 0
pp_data->cap[73]->NotButton.LogicalMax                = 4095
pp_data->cap[73]->NotButton.PhysicalMin               = 0
pp_data->cap[73]->NotButton.PhysicalMax               = 0
pp_data->cap[73]->Units                    = 0
pp_data->cap[73]->UnitsExp                 = 0

pp_data->cap[74]->UsagePage                    = 0xFF01
pp_data->cap[74]->ReportID                     = 0x02
pp_data->cap[74]->BitPosition                  = 0
pp_data->cap[74]->BitSize                      = 16
pp_data->cap[74]->ReportCount                  = 1
pp_data->cap[74]->BytePosition                 = 0x0017
pp_data->cap[74]->BitCount                     = 16
pp_data->cap[74]->BitField                     = 0x02
pp_data->cap[74]->NextBytePosition             = 0x0019
pp_data->cap[74]->LinkCollection               = 0x0002
pp_data->cap[74]->LinkUsagePage                = 0xFF01
pp_data->cap[74]->LinkUsage                    = 0x0002
pp_data->cap[74]->IsMultipleItemsForArray      = 0
pp_data->cap[74]->IsButtonCap                  = 0
pp_data->cap[74]->IsPadding                    = 0
pp_data->cap[74]->IsAbsolute                   = 1
pp_data->cap[74]->IsRange                      = 0
pp_data->cap[74]->IsAlias                      = 0
pp_data->cap[74]->IsStringRange                = 0
pp_data->cap[74]->IsDesignatorRange            = 0
pp_data->cap[74]->Reserved1                    = 0x000000
pp_data->cap[74]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[74]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[74]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[74]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[74]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[74]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[74]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[74]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[74]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[74]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[74]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[74]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[74]->NotRange.Usage                        = 0x0004
pp_data->cap[74]->NotRange.Reserved1                    = 0x0004
pp_data->cap[74]->NotRange.StringIndex                  = 0
pp_data->cap[74]->NotRange.Reserved2                    = 0
pp_data->cap[74]->NotRange.DesignatorIndex              = 0
pp_data->cap[74]->NotRange.Reserved3                    = 0
pp_data->cap[74]->NotRange.DataIndex                    = 74
pp_data->cap[74]->NotRange.Reserved4                    = 74
pp_data->cap[74]->NotButton.HasNull                   = 0
pp_data->cap[74]->NotButton.Reserved4                 = 0x000000
pp_data->cap[74]->NotButton.LogicalMin                = 0
pp_data->cap[74]->NotButton.LogicalMax                = 4095
pp_data->cap[74]->NotButton.PhysicalMin               = 0
pp_data->cap[74]->NotButton.PhysicalMax               = 0
pp_data->cap[74]->Units                    = 0
pp_data->cap[74]->UnitsExp                 = 0

pp_data->cap[75]->UsagePage                    = 0xFF01
pp_data->cap[75]->ReportID                     = 0x02
pp_data->cap[75]->BitPosition                  = 0
pp_data->cap[75]->BitSize                      = 16
pp_data->cap[75]->ReportCount                  = 1
pp_data->cap[75]->BytePosition                 = 0x0015
pp_data->cap[75]->BitCount                     = 16
pp_data->cap[75]->BitField                     = 0x02
pp_data->cap[75]->NextBytePosition             = 0x0017
pp_data->cap[75]->LinkCollection               = 0x0002
pp_data->cap[75]->LinkUsagePage                = 0xFF01
pp_data->cap[75]->LinkUsage                    = 0x0002
pp_data->cap[75]->IsMultipleItemsForArray      = 0
pp_data->cap[75]->IsButtonCap                  = 0
pp_data->cap[75]->IsPadding                    = 0
pp_data->cap[75]->IsAbsolute                   = 1
pp_data->cap[75]->IsRange                      = 0
pp_data->cap[75]->IsAlias                      = 0
pp_data->cap[75]->IsStringRange                = 0
pp_data->cap[75]->IsDesignatorRange            = 0
pp_data->cap[75]->Reserved1                    = 0x000000
pp_data->cap[75]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[75]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[75]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[75]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[75]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[75]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[75]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[75]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[75]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[75]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[75]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[75]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[75]->NotRange.Usage                        = 0x0004
pp_data->cap[75]->NotRange.Reserved1                    = 0x0004
pp_data->cap[75]->NotRange.StringIndex                  = 0
pp_data->cap[75]->NotRange.Reserved2                    = 0
pp_data->cap[75]->NotRange.DesignatorIndex              = 0
pp_data->cap[75]->NotRange.Reserved3                    = 0
pp_data->cap[75]->NotRange.DataIndex                    = 75
pp_data->cap[75]->NotRange.Reserved4                    = 75
pp_data->cap[75]->NotButton.HasNull                   = 0
pp_data->cap[75]->NotButton.Reserved4                 = 0x000000
pp_data->cap[75]->NotButton.LogicalMin                = 0
pp_data->cap[75]->NotButton.LogicalMax                = 4095
pp_data->cap[75]->NotButton.PhysicalMin               = 0
pp_data->cap[75]->NotButton.PhysicalMax               = 0
pp_data->cap[75]->Units                    = 0
pp_data->cap[75]->UnitsExp                 = 0

pp_data->cap[76]->UsagePage                    = 0xFF01
pp_data->cap[76]->ReportID                     = 0x02
pp_data->cap[76]->BitPosition                  = 0
pp_data->cap[76]->BitSize                      = 16
pp_data->cap[76]->ReportCount                  = 1
pp_data->cap[76]->BytePosition                 = 0x0013
pp_data->cap[76]->BitCount                     = 16
pp_data->cap[76]->BitField                     = 0x02
pp_data->cap[76]->NextBytePosition             = 0x0015
pp_data->cap[76]->LinkCollection               = 0x0002
pp_data->cap[76]->LinkUsagePage                = 0xFF01
pp_data->cap[76]->LinkUsage                    = 0x0002
pp_data->cap[76]->IsMultipleItemsForArray      = 0
pp_data->cap[76]->IsButtonCap                  = 0
pp_data->cap[76]->IsPadding                    = 0
pp_data->cap[76]->IsAbsolute                   = 1
pp_data->cap[76]->IsRange                      = 0
pp_data->cap[76]->IsAlias                      = 0
pp_data->cap[76]->IsStringRange                = 0
pp_data->cap[76]->IsDesignatorRange            = 0
pp_data->cap[76]->Reserved1                    = 0x000000
pp_data->cap[76]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[76]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[76]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[76]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[76]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[76]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[76]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[76]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[76]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[76]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[76]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[76]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[76]->NotRange.Usage                        = 0x0004
pp_data->cap[76]->NotRange.Reserved1                    = 0x0004
pp_data->cap[76]->NotRange.StringIndex                  = 0
pp_data->cap[76]->NotRange.Reserved2                    = 0
pp_data->cap[76]->NotRange.DesignatorIndex              = 0
pp_data->cap[76]->NotRange.Reserved3                    = 0
pp_data->cap[76]->NotRange.DataIndex                    = 76
pp_data->cap[76]->NotRange.Reserved4                    = 76
pp_data->cap[76]->NotButton.HasNull                   = 0
pp_data->cap[76]->NotButton.Reserved4                 = 0x000000
pp_data->cap[76]->NotButton.LogicalMin                = 0
pp_data->cap[76]->NotButton.LogicalMax                = 4095
pp_data->cap[76]->NotButton.PhysicalMin               = 0
pp_data->cap[76]->NotButton.PhysicalMax               = 0
pp_data->cap[76]->Units                    = 0
pp_data->cap[76]->UnitsExp                 = 0

pp_data->cap[77]->UsagePage                    = 0xFF01
pp_data->cap[77]->ReportID                     = 0x02
pp_data->cap[77]->BitPosition                  = 0
pp_data->cap[77]->BitSize                      = 16
pp_data->cap[77]->ReportCount                  = 1
pp_data->cap[77]->BytePosition                 = 0x0011
pp_data->cap[77]->BitCount                     = 16
pp_data->cap[77]->BitField                     = 0x02
pp_data->cap[77]->NextBytePosition             = 0x0013
pp_data->cap[77]->LinkCollection               = 0x0002
pp_data->cap[77]->LinkUsagePage                = 0xFF01
pp_data->cap[77]->LinkUsage                    = 0x0002
pp_data->cap[77]->IsMultipleItemsForArray      = 0
pp_data->cap[77]->IsButtonCap                  = 0
pp_data->cap[77]->IsPadding                    = 0
pp_data->cap[77]->IsAbsolute                   = 1
pp_data->cap[77]->IsRange                      = 0
pp_data->cap[77]->IsAlias                      = 0
pp_data->cap[77]->IsStringRange                = 0
pp_data->cap[77]->IsDesignatorRange            = 0
pp_data->cap[77]->Reserved1                    = 0x000000
pp_data->cap[77]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[77]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[77]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[77]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[77]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[77]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[77]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[77]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[77]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[77]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[77]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[77]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[77]->NotRange.Usage                        = 0x0004
pp_data->cap[77]->NotRange.Reserved1                    = 0x0004
pp_data->cap[77]->NotRange.StringIndex                  = 0
pp_data->cap[77]->NotRange.Reserved2                    = 0
pp_data->cap[77]->NotRange.DesignatorIndex              = 0
pp_data->cap[77]->NotRange.Reserved3                    = 0
pp_data->cap[77]->NotRange.DataIndex                    = 77
pp_data->cap[77]->NotRange.Reserved4                    = 77
pp_data->cap[77]->NotButton.HasNull                   = 0
pp_data->cap[77]->NotButton.Reserved4                 = 0x000000
pp_data->cap[77]->NotButton.LogicalMin                = 0
pp_data->cap[77]->NotButton.LogicalMax                = 4095
pp_data->cap[77]->NotButton.PhysicalMin               = 0
pp_data->cap[77]->NotButton.PhysicalMax               = 0
pp_data->cap[77]->Units                    = 0
pp_data->cap[77]->UnitsExp                 = 0

pp_data->cap[78]->UsagePage                    = 0xFF01
pp_data->cap[78]->ReportID                     = 0x02
pp_data->cap[78]->BitPosition                  = 0
pp_data->cap[78]->BitSize                      = 16
pp_data->cap[78]->ReportCount                  = 1
pp_data->cap[78]->BytePosition                 = 0x000F
pp_data->cap[78]->BitCount                     = 16
pp_data->cap[78]->BitField                     = 0x02
pp_data->cap[78]->NextBytePosition             = 0x0011
pp_data->cap[78]->LinkCollection               = 0x0002
pp_data->cap[78]->LinkUsagePage                = 0xFF01
pp_data->cap[78]->LinkUsage                    = 0x0002
pp_data->cap[78]->IsMultipleItemsForArray      = 0
pp_data->cap[78]->IsButtonCap                  = 0
pp_data->cap[78]->IsPadding                    = 0
pp_data->cap[78]->IsAbsolute                   = 1
pp_data->cap[78]->IsRange                      = 0
pp_data->cap[78]->IsAlias                      = 0
pp_data->cap[78]->IsStringRange                = 0
pp_data->cap[78]->IsDesignatorRange            = 0
pp_data->cap[78]->Reserved1                    = 0x000000
pp_data->cap[78]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[78]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[78]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[78]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[78]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[78]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[78]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[78]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[78]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[78]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[78]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[78]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[78]->NotRange.Usage                        = 0x0004
pp_data->cap[78]->NotRange.Reserved1                    = 0x0004
pp_data->cap[78]->NotRange.StringIndex                  = 0
pp_data->cap[78]->NotRange.Reserved2                    = 0
pp_data->cap[78]->NotRange.DesignatorIndex              = 0
pp_data->cap[78]->NotRange.Reserved3                    = 0
pp_data->cap[78]->NotRange.DataIndex                    = 78
pp_data->cap[78]->NotRange.Reserved4                    = 78
pp_data->cap[78]->NotButton.HasNull                   = 0
pp_data->cap[78]->NotButton.Reserved4                 = 0x000000
pp_data->cap[78]->NotButton.LogicalMin                = 0
pp_data->cap[78]->NotButton.LogicalMax                = 4095
pp_data->cap[78]->NotButton.PhysicalMin               = 0
pp_data->cap[78]->NotButton.PhysicalMax               = 0
pp_data->cap[78]->Units                    = 0
pp_data->cap[78]->UnitsExp                 = 0

pp_data->cap[79]->UsagePage                    = 0xFF01
pp_data->cap[79]->ReportID                     = 0x02
pp_data->cap[79]->BitPosition                  = 0
pp_data->cap[79]->BitSize                      = 16
pp_data->cap[79]->ReportCount                  = 1
pp_data->cap[79]->BytePosition                 = 0x000D
pp_data->cap[79]->BitCount                     = 16
pp_data->cap[79]->BitField                     = 0x02
pp_data->cap[79]->NextBytePosition             = 0x000F
pp_data->cap[79]->LinkCollection               = 0x0002
pp_data->cap[79]->LinkUsagePage                = 0xFF01
pp_data->cap[79]->LinkUsage                    = 0x0002
pp_data->cap[79]->IsMultipleItemsForArray      = 0
pp_data->cap[79]->IsButtonCap                  = 0
pp_data->cap[79]->IsPadding                    = 0
pp_data->cap[79]->IsAbsolute                   = 1
pp_data->cap[79]->IsRange                      = 0
pp_data->cap[79]->IsAlias                      = 0
pp_data->cap[79]->IsStringRange                = 0
pp_data->cap[79]->IsDesignatorRange            = 0
pp_data->cap[79]->Reserved1                    = 0x000000
pp_data->cap[79]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[79]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[79]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[79]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[79]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[79]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[79]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[79]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[79]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[79]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[79]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[79]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[79]->NotRange.Usage                        = 0x0004
pp_data->cap[79]->NotRange.Reserved1                    = 0x0004
pp_data->cap[79]->NotRange.StringIndex                  = 0
pp_data->cap[79]->NotRange.Reserved2                    = 0
pp_data->cap[79]->NotRange.DesignatorIndex              = 0
pp_data->cap[79]->NotRange.Reserved3                    = 0
pp_data->cap[79]->NotRange.DataIndex                    = 79
pp_data->cap[79]->NotRange.Reserved4                    = 79
pp_data->cap[79]->NotButton.HasNull                   = 0
pp_data->cap[79]->NotButton.Reserved4                 = 0x000000
pp_data->cap[79]->NotButton.LogicalMin                = 0
pp_data->cap[79]->NotButton.LogicalMax                = 4095
pp_data->cap[79]->NotButton.PhysicalMin               = 0
pp_data->cap[79]->NotButton.PhysicalMax               = 0
pp_data->cap[79]->Units                    = 0
pp_data->cap[79]->UnitsExp                 = 0

pp_data->cap[80]->UsagePage                    = 0xFF01
pp_data->cap[80]->ReportID                     = 0x02
pp_data->cap[80]->BitPosition                  = 0
pp_data->cap[80]->BitSize                      = 16
pp_data->cap[80]->ReportCount                  = 1
pp_data->cap[80]->BytePosition                 = 0x000B
pp_data->cap[80]->BitCount                     = 16
pp_data->cap[80]->BitField                     = 0x02
pp_data->cap[80]->NextBytePosition             = 0x000D
pp_data->cap[80]->LinkCollection               = 0x0002
pp_data->cap[80]->LinkUsagePage                = 0xFF01
pp_data->cap[80]->LinkUsage                    = 0x0002
pp_data->cap[80]->IsMultipleItemsForArray      = 0
pp_data->cap[80]->IsButtonCap                  = 0
pp_data->cap[80]->IsPadding                    = 0
pp_data->cap[80]->IsAbsolute                   = 1
pp_data->cap[80]->IsRange                      = 0
pp_data->cap[80]->IsAlias                      = 0
pp_data->cap[80]->IsStringRange                = 0
pp_data->cap[80]->IsDesignatorRange            = 0
pp_data->cap[80]->Reserved1                    = 0x000000
pp_data->cap[80]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[80]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[80]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[80]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[80]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[80]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[80]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[80]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[80]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[80]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[80]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[80]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[80]->NotRange.Usage                        = 0x0004
pp_data->cap[80]->NotRange.Reserved1                    = 0x0004
pp_data->cap[80]->NotRange.StringIndex                  = 0
pp_data->cap[80]->NotRange.Reserved2                    = 0
pp_data->cap[80]->NotRange.DesignatorIndex              = 0
pp_data->cap[80]->NotRange.Reserved3                    = 0
pp_data->cap[80]->NotRange.DataIndex                    = 80
pp_data->cap[80]->NotRange.Reserved4                    = 80
pp_data->cap[80]->NotButton.HasNull                   = 0
pp_data->cap[80]->NotButton.Reserved4                 = 0x000000
pp_data->cap[80]->NotButton.LogicalMin                = 0
pp_data->cap[80]->NotButton.LogicalMax                = 4095
pp_data->cap[80]->NotButton.PhysicalMin               = 0
pp_data->cap[80]->NotButton.PhysicalMax               = 0
pp_data->cap[80]->Units                    = 0
pp_data->cap[80]->UnitsExp                 = 0

pp_data->cap[81]->UsagePage                    = 0xFF01
pp_data->cap[81]->ReportID                     = 0x02
pp_data->cap[81]->BitPosition                  = 0
pp_data->cap[81]->BitSize                      = 16
pp_data->cap[81]->ReportCount                  = 1
pp_data->cap[81]->BytePosition                 = 0x0009
pp_data->cap[81]->BitCount                     = 16
pp_data->cap[81]->BitField                     = 0x02
pp_data->cap[81]->NextBytePosition             = 0x000B
pp_data->cap[81]->LinkCollection               = 0x0002
pp_data->cap[81]->LinkUsagePage                = 0xFF01
pp_data->cap[81]->LinkUsage                    = 0x0002
pp_data->cap[81]->IsMultipleItemsForArray      = 0
pp_data->cap[81]->IsButtonCap                  = 0
pp_data->cap[81]->IsPadding                    = 0
pp_data->cap[81]->IsAbsolute                   = 1
pp_data->cap[81]->IsRange                      = 0
pp_data->cap[81]->IsAlias                      = 0
pp_data->cap[81]->IsStringRange                = 0
pp_data->cap[81]->IsDesignatorRange            = 0
pp_data->cap[81]->Reserved1                    = 0x000000
pp_data->cap[81]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[81]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[81]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[81]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[81]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[81]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[81]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[81]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[81]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[81]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[81]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[81]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[81]->NotRange.Usage                        = 0x0004
pp_data->cap[81]->NotRange.Reserved1                    = 0x0004
pp_data->cap[81]->NotRange.StringIndex                  = 0
pp_data->cap[81]->NotRange.Reserved2                    = 0
pp_data->cap[81]->NotRange.DesignatorIndex              = 0
pp_data->cap[81]->NotRange.Reserved3                    = 0
pp_data->cap[81]->NotRange.DataIndex                    = 81
pp_data->cap[81]->NotRange.Reserved4                    = 81
pp_data->cap[81]->NotButton.HasNull                   = 0
pp_data->cap[81]->NotButton.Reserved4                 = 0x000000
pp_data->cap[81]->NotButton.LogicalMin                = 0
pp_data->cap[81]->NotButton.LogicalMax                = 4095
pp_data->cap[81]->NotButton.PhysicalMin               = 0
pp_data->cap[81]->NotButton.PhysicalMax               = 0
pp_data->cap[81]->Units                    = 0
pp_data->cap[81]->UnitsExp                 = 0

pp_data->cap[82]->UsagePage                    = 0xFF01
pp_data->cap[82]->ReportID                     = 0x02
pp_data->cap[82]->BitPosition                  = 0
pp_data->cap[82]->BitSize                      = 16
pp_data->cap[82]->ReportCount                  = 1
pp_data->cap[82]->BytePosition                 = 0x0007
pp_data->cap[82]->BitCount                     = 16
pp_data->cap[82]->BitField                     = 0x02
pp_data->cap[82]->NextBytePosition             = 0x0009
pp_data->cap[82]->LinkCollection               = 0x0002
pp_data->cap[82]->LinkUsagePage                = 0xFF01
pp_data->cap[82]->LinkUsage                    = 0x0002
pp_data->cap[82]->IsMultipleItemsForArray      = 0
pp_data->cap[82]->IsButtonCap                  = 0
pp_data->cap[82]->IsPadding                    = 0
pp_data->cap[82]->IsAbsolute                   = 1
pp_data->cap[82]->IsRange                      = 0
pp_data->cap[82]->IsAlias                      = 0
pp_data->cap[82]->IsStringRange                = 0
pp_data->cap[82]->IsDesignatorRange            = 0
pp_data->cap[82]->Reserved1                    = 0x000000
pp_data->cap[82]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[82]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[82]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[82]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[82]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[82]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[82]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[82]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[82]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[82]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[82]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[82]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[82]->NotRange.Usage                        = 0x0004
pp_data->cap[82]->NotRange.Reserved1                    = 0x0004
pp_data->cap[82]->NotRange.StringIndex                  = 0
pp_data->cap[82]->NotRange.Reserved2                    = 0
pp_data->cap[82]->NotRange.DesignatorIndex              = 0
pp_data->cap[82]->NotRange.Reserved3                    = 0
pp_data->cap[82]->NotRange.DataIndex                    = 82
pp_data->cap[82]->NotRange.Reserved4                    = 82
pp_data->cap[82]->NotButton.HasNull                   = 0
pp_data->cap[82]->NotButton.Reserved4                 = 0x000000
pp_data->cap[82]->NotButton.LogicalMin                = 0
pp_data->cap[82]->NotButton.LogicalMax                = 4095
pp_data->cap[82]->NotButton.PhysicalMin               = 0
pp_data->cap[82]->NotButton.PhysicalMax               = 0
pp_data->cap[82]->Units                    = 0
pp_data->cap[82]->UnitsExp                 = 0

pp_data->cap[83]->UsagePage                    = 0xFF01
pp_data->cap[83]->ReportID                     = 0x02
pp_data->cap[83]->BitPosition                  = 0
pp_data->cap[83]->BitSize                      = 16
pp_data->cap[83]->ReportCount                  = 1
pp_data->cap[83]->BytePosition                 = 0x0005
pp_data->cap[83]->BitCount                     = 16
pp_data->cap[83]->BitField                     = 0x02
pp_data->cap[83]->NextBytePosition             = 0x0007
pp_data->cap[83]->LinkCollection               = 0x0002
pp_data->cap[83]->LinkUsagePage                = 0xFF01
pp_data->cap[83]->LinkUsage                    = 0x0002
pp_data->cap[83]->IsMultipleItemsForArray      = 0
pp_data->cap[83]->IsButtonCap                  = 0
pp_data->cap[83]->IsPadding                    = 0
pp_data->cap[83]->IsAbsolute                   = 1
pp_data->cap[83]->IsRange                      = 0
pp_data->cap[83]->IsAlias                      = 0
pp_data->cap[83]->IsStringRange                = 0
pp_data->cap[83]->IsDesignatorRange            = 0
pp_data->cap[83]->Reserved1                    = 0x000000
pp_data->cap[83]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[83]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[83]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[83]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[83]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[83]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[83]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[83]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[83]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[83]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[83]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[83]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[83]->NotRange.Usage                        = 0x0004
pp_data->cap[83]->NotRange.Reserved1                    = 0x0004
pp_data->cap[83]->NotRange.StringIndex                  = 0
pp_data->cap[83]->NotRange.Reserved2                    = 0
pp_data->cap[83]->NotRange.DesignatorIndex              = 0
pp_data->cap[83]->NotRange.Reserved3                    = 0
pp_data->cap[83]->NotRange.DataIndex                    = 83
pp_data->cap[83]->NotRange.Reserved4                    = 83
pp_data->cap[83]->NotButton.HasNull                   = 0
pp_data->cap[83]->NotButton.Reserved4                 = 0x000000
pp_data->cap[83]->NotButton.LogicalMin                = 0
pp_data->cap[83]->NotButton.LogicalMax                = 4095
pp_data->cap[83]->NotButton.PhysicalMin               = 0
pp_data->cap[83]->NotButton.PhysicalMax               = 0
pp_data->cap[83]->Units                    = 0
pp_data->cap[83]->UnitsExp                 = 0

pp_data->cap[84]->UsagePage                    = 0xFF01
pp_data->cap[84]->ReportID                     = 0x02
pp_data->cap[84]->BitPosition                  = 0
pp_data->cap[84]->BitSize                      = 16
pp_data->cap[84]->ReportCount                  = 1
pp_data->cap[84]->BytePosition                 = 0x0003
pp_data->cap[84]->BitCount                     = 16
pp_data->cap[84]->BitField                     = 0x02
pp_data->cap[84]->NextBytePosition             = 0x0005
pp_data->cap[84]->LinkCollection               = 0x0002
pp_data->cap[84]->LinkUsagePage                = 0xFF01
pp_data->cap[84]->LinkUsage                    = 0x0002
pp_data->cap[84]->IsMultipleItemsForArray      = 0
pp_data->cap[84]->IsButtonCap                  = 0
pp_data->cap[84]->IsPadding                    = 0
pp_data->cap[84]->IsAbsolute                   = 1
pp_data->cap[84]->IsRange                      = 0
pp_data->cap[84]->IsAlias                      = 0
pp_data->cap[84]->IsStringRange                = 0
pp_data->cap[84]->IsDesignatorRange            = 0
pp_data->cap[84]->Reserved1                    = 0x000000
pp_data->cap[84]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[84]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[84]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[84]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[84]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[84]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[84]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[84]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[84]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[84]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[84]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[84]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[84]->NotRange.Usage                        = 0x0004
pp_data->cap[84]->NotRange.Reserved1                    = 0x0004
pp_data->cap[84]->NotRange.StringIndex                  = 0
pp_data->cap[84]->NotRange.Reserved2                    = 0
pp_data->cap[84]->NotRange.DesignatorIndex              = 0
pp_data->cap[84]->NotRange.Reserved3                    = 0
pp_data->cap[84]->NotRange.DataIndex                    = 84
pp_data->cap[84]->NotRange.Reserved4                    = 84
pp_data->cap[84]->NotButton.HasNull                   = 0
pp_data->cap[84]->NotButton.Reserved4                 = 0x000000
pp_data->cap[84]->NotButton.LogicalMin                = 0
pp_data->cap[84]->NotButton.LogicalMax                = 4095
pp_data->cap[84]->NotButton.PhysicalMin               = 0
pp_data->cap[84]->NotButton.PhysicalMax               = 0
pp_data->cap[84]->Units                    = 0
pp_data->cap[84]->UnitsExp                 = 0

pp_data->cap[85]->UsagePage                    = 0xFF01
pp_data->cap[85]->ReportID                     = 0x02
pp_data->cap[85]->BitPosition                  = 0
pp_data->cap[85]->BitSize                      = 16
pp_data->cap[85]->ReportCount                  = 1
pp_data->cap[85]->BytePosition                 = 0x0001
pp_data->cap[85]->BitCount                     = 16
pp_data->cap[85]->BitField                     = 0x02
pp_data->cap[85]->NextBytePosition             = 0x0003
pp_data->cap[85]->LinkCollection               = 0x0002
pp_data->cap[85]->LinkUsagePage                = 0xFF01
pp_data->cap[85]->LinkUsage                    = 0x0002
pp_data->cap[85]->IsMultipleItemsForArray      = 0
pp_data->cap[85]->IsButtonCap                  = 0
pp_data->cap[85]->IsPadding                    = 0
pp_data->cap[85]->IsAbsolute                   = 1
pp_data->cap[85]->IsRange                      = 0
pp_data->cap[85]->IsAlias                      = 0
pp_data->cap[85]->IsStringRange                = 0
pp_data->cap[85]->IsDesignatorRange            = 0
pp_data->cap[85]->Reserved1                    = 0x000000
pp_data->cap[85]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[85]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[85]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[85]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[85]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[85]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[85]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[85]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[85]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[85]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[85]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[85]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[85]->NotRange.Usage                        = 0x0004
pp_data->cap[85]->NotRange.Reserved1                    = 0x0004
pp_data->cap[85]->NotRange.StringIndex                  = 0
pp_data->cap[85]->NotRange.Reserved2                    = 0
pp_data->cap[85]->NotRange.DesignatorIndex              = 0
pp_data->cap[85]->NotRange.Reserved3                    = 0
pp_data->cap[85]->NotRange.DataIndex                    = 85
pp_data->cap[85]->NotRange.Reserved4                    = 85
pp_data->cap[85]->NotButton.HasNull                   = 0
pp_data->cap[85]->NotButton.Reserved4                 = 0x000000
pp_data->cap[85]->NotButton.LogicalMin                = 0
pp_data->cap[85]->NotButton.LogicalMax                = 4095
pp_data->cap[85]->NotButton.PhysicalMin               = 0
pp_data->cap[85]->NotButton.PhysicalMax               = 0
pp_data->cap[85]->Units                    = 0
pp_data->cap[85]->UnitsExp                 = 0

# Output hid_pp_cap struct:
pp_data->cap[87]->UsagePage                    = 0xFF01
pp_data->cap[87]->ReportID                     = 0x80
pp_data->cap[87]->BitPosition                  = 0
pp_data->cap[87]->BitSize                      = 8
pp_data->cap[87]->ReportCount                  = 1
pp_data->cap[87]->BytePosition                 = 0x005E
pp_data->cap[87]->BitCount                     = 8
pp_data->cap[87]->BitField                     = 0x02
pp_data->cap[87]->NextBytePosition             = 0x005F
pp_data->cap[87]->LinkCollection               = 0x0003
pp_data->cap[87]->LinkUsagePage                = 0xFF01
pp_data->cap[87]->LinkUsage                    = 0x0080
pp_data->cap[87]->IsMultipleItemsForArray      = 0
pp_data->cap[87]->IsButtonCap                  = 0
pp_data->cap[87]->IsPadding                    = 0
pp_data->cap[87]->IsAbsolute                   = 1
pp_data->cap[87]->IsRange                      = 0
pp_data->cap[87]->IsAlias                      = 0
pp_data->cap[87]->IsStringRange                = 0
pp_data->cap[87]->IsDesignatorRange            = 0
pp_data->cap[87]->Reserved1                    = 0x000000
pp_data->cap[87]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[87]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[87]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[87]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[87]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[87]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[87]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[87]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[87]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[87]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[87]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[87]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[87]->NotRange.Usage                        = 0x0081
pp_data->cap[87]->NotRange.Reserved1                    = 0x0081
pp_data->cap[87]->NotRange.StringIndex                  = 0
pp_data->cap[87]->NotRange.Reserved2                    = 0
pp_data->cap[87]->NotRange.DesignatorIndex              = 0
pp_data->cap[87]->NotRange.Reserved3                    = 0
pp_data->cap[87]->NotRange.DataIndex                    = 0
pp_data->cap[87]->NotRange.Reserved4                    = 0
pp_data->cap[87]->NotButton.HasNull                   = 0
pp_data->cap[87]->NotButton.Reserved4                 = 0x000000
pp_data->cap[87]->NotButton.LogicalMin                = 0
pp_data->cap[87]->NotButton.LogicalMax                = 127
pp_data->cap[87]->NotButton.PhysicalMin               = 0
pp_data->cap[87]->NotButton.PhysicalMax               = 0
pp_data->cap[87]->Units                    = 0
pp_data->cap[87]->UnitsExp                 = 0

pp_data->cap[88]->UsagePage                    = 0xFF01
pp_data->cap[88]->ReportID                     = 0x80
pp_data->cap[88]->BitPosition                  = 0
pp_data->cap[88]->BitSize                      = 8
pp_data->cap[88]->ReportCount                  = 1
pp_data->cap[88]->BytePosition                 = 0x005D
pp_data->cap[88]->BitCount                     = 8
pp_data->cap[88]->BitField                     = 0x02
pp_data->cap[88]->NextBytePosition             = 0x005E
pp_data->cap[88]->LinkCollection               = 0x0003
pp_data->cap[88]->LinkUsagePage                = 0xFF01
pp_data->cap[88]->LinkUsage                    = 0x0080
pp_data->cap[88]->IsMultipleItemsForArray      = 0
pp_data->cap[88]->IsButtonCap                  = 0
pp_data->cap[88]->IsPadding                    = 0
pp_data->cap[88]->IsAbsolute                   = 1
pp_data->cap[88]->IsRange                      = 0
pp_data->cap[88]->IsAlias                      = 0
pp_data->cap[88]->IsStringRange                = 0
pp_data->cap[88]->IsDesignatorRange            = 0
pp_data->cap[88]->Reserved1                    = 0x000000
pp_data->cap[88]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[88]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[88]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[88]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[88]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[88]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[88]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[88]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[88]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[88]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[88]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[88]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[88]->NotRange.Usage                        = 0x0081
pp_data->cap[88]->NotRange.Reserved1                    = 0x0081
pp_data->cap[88]->NotRange.StringIndex                  = 0
pp_data->cap[88]->NotRange.Reserved2                    = 0
pp_data->cap[88]->NotRange.DesignatorIndex              = 0
pp_data->cap[88]->NotRange.Reserved3                    = 0
pp_data->cap[88]->NotRange.DataIndex                    = 1
pp_data->cap[88]->NotRange.Reserved4                    = 1
pp_data->cap[88]->NotButton.HasNull                   = 0
pp_data->cap[88]->NotButton.Reserved4                 = 0x000000
pp_data->cap[88]->NotButton.LogicalMin                = 0
pp_data->cap[88]->NotButton.LogicalMax                = 127
pp_data->cap[88]->NotButton.PhysicalMin               = 0
pp_data->cap[88]->NotButton.PhysicalMax               = 0
pp_data->cap[88]->Units                    = 0
pp_data->cap[88]->UnitsExp                 = 0

pp_data->cap[89]->UsagePage                    = 0xFF01
pp_data->cap[89]->ReportID                     = 0x80
pp_data->cap[89]->BitPosition                  = 0
pp_data->cap[89]->BitSize                      = 8
pp_data->cap[89]->ReportCount                  = 1
pp_data->cap[89]->BytePosition                 = 0x005C
pp_data->cap[89]->BitCount                     = 8
pp_data->cap[89]->BitField                     = 0x02
pp_data->cap[89]->NextBytePosition             = 0x005D
pp_data->cap[89]->LinkCollection               = 0x0003
pp_data->cap[89]->LinkUsagePage                = 0xFF01
pp_data->cap[89]->LinkUsage                    = 0x0080
pp_data->cap[89]->IsMultipleItemsForArray      = 0
pp_data->cap[89]->IsButtonCap                  = 0
pp_data->cap[89]->IsPadding                    = 0
pp_data->cap[89]->IsAbsolute                   = 1
pp_data->cap[89]->IsRange                      = 0
pp_data->cap[89]->IsAlias                      = 0
pp_data->cap[89]->IsStringRange                = 0
pp_data->cap[89]->IsDesignatorRange            = 0
pp_data->cap[89]->Reserved1                    = 0x000000
pp_data->cap[89]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[89]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[89]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[89]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[89]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[89]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[89]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[89]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[89]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[89]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[89]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[89]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[89]->NotRange.Usage                        = 0x0081
pp_data->cap[89]->NotRange.Reserved1                    = 0x0081
pp_data->cap[89]->NotRange.StringIndex                  = 0
pp_data->cap[89]->NotRange.Reserved2                    = 0
pp_data->cap[89]->NotRange.DesignatorIndex              = 0
pp_data->cap[89]->NotRange.Reserved3                    = 0
pp_data->cap[89]->NotRange.DataIndex                    = 2
pp_data->cap[89]->NotRange.Reserved4                    = 2
pp_data->cap[89]->NotButton.HasNull                   = 0
pp_data->cap[89]->NotButton.Reserved4                 = 0x000000
pp_data->cap[89]->NotButton.LogicalMin                = 0
pp_data->cap[89]->NotButton.LogicalMax                = 127
pp_data->cap[89]->NotButton.PhysicalMin               = 0
pp_data->cap[89]->NotButton.PhysicalMax               = 0
pp_data->cap[89]->Units                    = 0
pp_data->cap[89]->UnitsExp                 = 0

pp_data->cap[90]->UsagePage                    = 0xFF01
pp_data->cap[90]->ReportID                     = 0x80
pp_data->cap[90]->BitPosition                  = 0
pp_data->cap[90]->BitSize                      = 8
pp_data->cap[90]->ReportCount                  = 1
pp_data->cap[90]->BytePosition                 = 0x005B
pp_data->cap[90]->BitCount                     = 8
pp_data->cap[90]->BitField                     = 0x02
pp_data->cap[90]->NextBytePosition             = 0x005C
pp_data->cap[90]->LinkCollection               = 0x0003
pp_data->cap[90]->LinkUsagePage                = 0xFF01
pp_data->cap[90]->LinkUsage                    = 0x0080
pp_data->cap[90]->IsMultipleItemsForArray      = 0
pp_data->cap[90]->IsButtonCap                  = 0
pp_data->cap[90]->IsPadding                    = 0
pp_data->cap[90]->IsAbsolute                   = 1
pp_data->cap[90]->IsRange                      = 0
pp_data->cap[90]->IsAlias                      = 0
pp_data->cap[90]->IsStringRange                = 0
pp_data->cap[90]->IsDesignatorRange            = 0
pp_data->cap[90]->Reserved1                    = 0x000000
pp_data->cap[90]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[90]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[90]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[90]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[90]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[90]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[90]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[90]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[90]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[90]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[90]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[90]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[90]->NotRange.Usage                        = 0x0081
pp_data->cap[90]->NotRange.Reserved1                    = 0x0081
pp_data->cap[90]->NotRange.StringIndex                  = 0
pp_data->cap[90]->NotRange.Reserved2                    = 0
pp_data->cap[90]->NotRange.DesignatorIndex              = 0
pp_data->cap[90]->NotRange.Reserved3                    = 0
pp_data->cap[90]->NotRange.DataIndex                    = 3
pp_data->cap[90]->NotRange.Reserved4                    = 3
pp_data->cap[90]->NotButton.HasNull                   = 0
pp_data->cap[90]->NotButton.Reserved4                 = 0x000000
pp_data->cap[90]->NotButton.LogicalMin                = 0
pp_data->cap[90]->NotButton.LogicalMax                = 127
pp_data->cap[90]->NotButton.PhysicalMin               = 0
pp_data->cap[90]->NotButton.PhysicalMax               = 0
pp_data->cap[90]->Units                    = 0
pp_data->cap[90]->UnitsExp                 = 0

pp_data->cap[91]->UsagePage                    = 0xFF01
pp_data->cap[91]->ReportID                     = 0x80
pp_data->cap[91]->BitPosition                  = 0
pp_data->cap[91]->BitSize                      = 8
pp_data->cap[91]->ReportCount                  = 1
pp_data->cap[91]->BytePosition                 = 0x005A
pp_data->cap[91]->BitCount                     = 8
pp_data->cap[91]->BitField                     = 0x02
pp_data->cap[91]->NextBytePosition             = 0x005B
pp_data->cap[91]->LinkCollection               = 0x0003
pp_data->cap[91]->LinkUsagePage                = 0xFF01
pp_data->cap[91]->LinkUsage                    = 0x0080
pp_data->cap[91]->IsMultipleItemsForArray      = 0
pp_data->cap[91]->IsButtonCap                  = 0
pp_data->cap[91]->IsPadding                    = 0
pp_data->cap[91]->IsAbsolute                   = 1
pp_data->cap[91]->IsRange                      = 0
pp_data->cap[91]->IsAlias                      = 0
pp_data->cap[91]->IsStringRange                = 0
pp_data->cap[91]->IsDesignatorRange            = 0
pp_data->cap[91]->Reserved1                    = 0x000000
pp_data->cap[91]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[91]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[91]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[91]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[91]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[91]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[91]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[91]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[91]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[91]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[91]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[91]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[91]->NotRange.Usage                        = 0x0081
pp_data->cap[91]->NotRange.Reserved1                    = 0x0081
pp_data->cap[91]->NotRange.StringIndex                  = 0
pp_data->cap[91]->NotRange.Reserved2                    = 0
pp_data->cap[91]->NotRange.DesignatorIndex              = 0
pp_data->cap[91]->NotRange.Reserved3                    = 0
pp_data->cap[91]->NotRange.DataIndex                    = 4
pp_data->cap[91]->NotRange.Reserved4                    = 4
pp_data->cap[91]->NotButton.HasNull                   = 0
pp_data->cap[91]->NotButton.Reserved4                 = 0x000000
pp_data->cap[91]->NotButton.LogicalMin                = 0
pp_data->cap[91]->NotButton.LogicalMax                = 127
pp_data->cap[91]->NotButton.PhysicalMin               = 0
pp_data->cap[91]->NotButton.PhysicalMax               = 0
pp_data->cap[91]->Units                    = 0
pp_data->cap[91]->UnitsExp                 = 0

pp_data->cap[92]->UsagePage                    = 0xFF01
pp_data->cap[92]->ReportID                     = 0x80
pp_data->cap[92]->BitPosition                  = 0
pp_data->cap[92]->BitSize                      = 8
pp_data->cap[92]->ReportCount                  = 1
pp_data->cap[92]->BytePosition                 = 0x0059
pp_data->cap[92]->BitCount                     = 8
pp_data->cap[92]->BitField                     = 0x02
pp_data->cap[92]->NextBytePosition             = 0x005A
pp_data->cap[92]->LinkCollection               = 0x0003
pp_data->cap[92]->LinkUsagePage                = 0xFF01
pp_data->cap[92]->LinkUsage                    = 0x0080
pp_data->cap[92]->IsMultipleItemsForArray      = 0
pp_data->cap[92]->IsButtonCap                  = 0
pp_data->cap[92]->IsPadding                    = 0
pp_data->cap[92]->IsAbsolute                   = 1
pp_data->cap[92]->IsRange                      = 0
pp_data->cap[92]->IsAlias                      = 0
pp_data->cap[92]->IsStringRange                = 0
pp_data->cap[92]->IsDesignatorRange            = 0
pp_data->cap[92]->Reserved1                    = 0x000000
pp_data->cap[92]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[92]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[92]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[92]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[92]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[92]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[92]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[92]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[92]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[92]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[92]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[92]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[92]->NotRange.Usage                        = 0x0081
pp_data->cap[92]->NotRange.Reserved1                    = 0x0081
pp_data->cap[92]->NotRange.StringIndex                  = 0
pp_data->cap[92]->NotRange.Reserved2                    = 0
pp_data->cap[92]->NotRange.DesignatorIndex              = 0
pp_data->cap[92]->NotRange.Reserved3                    = 0
pp_data->cap[92]->NotRange.DataIndex                    = 5
pp_data->cap[92]->NotRange.Reserved4                    = 5
pp_data->cap[92]->NotButton.HasNull                   = 0
pp_data->cap[92]->NotButton.Reserved4                 = 0x000000
pp_data->cap[92]->NotButton.LogicalMin                = 0
pp_data->cap[92]->NotButton.LogicalMax                = 127
pp_data->cap[92]->NotButton.PhysicalMin               = 0
pp_data->cap[92]->NotButton.PhysicalMax               = 0
pp_data->cap[92]->Units                    = 0
pp_data->cap[92]->UnitsExp                 = 0

pp_data->cap[93]->UsagePage                    = 0xFF01
pp_data->cap[93]->ReportID                     = 0x80
pp_data->cap[93]->BitPosition                  = 0
pp_data->cap[93]->BitSize                      = 8
pp_data->cap[93]->ReportCount                  = 1
pp_data->cap[93]->BytePosition                 = 0x0058
pp_data->cap[93]->BitCount                     = 8
pp_data->cap[93]->BitField                     = 0x02
pp_data->cap[93]->NextBytePosition             = 0x0059
pp_data->cap[93]->LinkCollection               = 0x0003
pp_data->cap[93]->LinkUsagePage                = 0xFF01
pp_data->cap[93]->LinkUsage                    = 0x0080
pp_data->cap[93]->IsMultipleItemsForArray      = 0
pp_data->cap[93]->IsButtonCap                  = 0
pp_data->cap[93]->IsPadding                    = 0
pp_data->cap[93]->IsAbsolute                   = 1
pp_data->cap[93]->IsRange                      = 0
pp_data->cap[93]->IsAlias                      = 0
pp_data->cap[93]->IsStringRange                = 0
pp_data->cap[93]->IsDesignatorRange            = 0
pp_data->cap[93]->Reserved1                    = 0x000000
pp_data->cap[93]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[93]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[93]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[93]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[93]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[93]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[93]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[93]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[93]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[93]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[93]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[93]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[93]->NotRange.Usage                        = 0x0081
pp_data->cap[93]->NotRange.Reserved1                    = 0x0081
pp_data->cap[93]->NotRange.StringIndex                  = 0
pp_data->cap[93]->NotRange.Reserved2                    = 0
pp_data->cap[93]->NotRange.DesignatorIndex              = 0
pp_data->cap[93]->NotRange.Reserved3                    = 0
pp_data->cap[93]->NotRange.DataIndex                    = 6
pp_data->cap[93]->NotRange.Reserved4                    = 6
pp_data->cap[93]->NotButton.HasNull                   = 0
pp_data->cap[93]->NotButton.Reserved4                 = 0x000000
pp_data->cap[93]->NotButton.LogicalMin                = 0
pp_data->cap[93]->NotButton.LogicalMax                = 127
pp_data->cap[93]->NotButton.PhysicalMin               = 0
pp_data->cap[93]->NotButton.PhysicalMax               = 0
pp_data->cap[93]->Units                    = 0
pp_data->cap[93]->UnitsExp                 = 0

pp_data->cap[94]->UsagePage                    = 0xFF01
pp_data->cap[94]->ReportID                     = 0x80
pp_data->cap[94]->BitPosition                  = 0
pp_data->cap[94]->BitSize                      = 8
pp_data->cap[94]->ReportCount                  = 1
pp_data->cap[94]->BytePosition                 = 0x0057
pp_data->cap[94]->BitCount                     = 8
pp_data->cap[94]->BitField                     = 0x02
pp_data->cap[94]->NextBytePosition             = 0x0058
pp_data->cap[94]->LinkCollection               = 0x0003
pp_data->cap[94]->LinkUsagePage                = 0xFF01
pp_data->cap[94]->LinkUsage                    = 0x0080
pp_data->cap[94]->IsMultipleItemsForArray      = 0
pp_data->cap[94]->IsButtonCap                  = 0
pp_data->cap[94]->IsPadding                    = 0
pp_data->cap[94]->IsAbsolute                   = 1
pp_data->cap[94]->IsRange                      = 0
pp_data->cap[94]->IsAlias                      = 0
pp_data->cap[94]->IsStringRange                = 0
pp_data->cap[94]->IsDesignatorRange            = 0
pp_data->cap[94]->Reserved1                    = 0x000000
pp_data->cap[94]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[94]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[94]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[94]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[94]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[94]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[94]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[94]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[94]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[94]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[94]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[94]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[94]->NotRange.Usage                        = 0x0081
pp_data->cap[94]->NotRange.Reserved1                    = 0x0081
pp_data->cap[94]->NotRange.StringIndex                  = 0
pp_data->cap[94]->NotRange.Reserved2                    = 0
pp_data->cap[94]->NotRange.DesignatorIndex              = 0
pp_data->cap[94]->NotRange.Reserved3                    = 0
pp_data->cap[94]->NotRange.DataIndex                    = 7
pp_data->cap[94]->NotRange.Reserved4                    = 7
pp_data->cap[94]->NotButton.HasNull                   = 0
pp_data->cap[94]->NotButton.Reserved4                 = 0x000000
pp_data->cap[94]->NotButton.LogicalMin                = 0
pp_data->cap[94]->NotButton.LogicalMax                = 127
pp_data->cap[94]->NotButton.PhysicalMin               = 0
pp_data->cap[94]->NotButton.PhysicalMax               = 0
pp_data->cap[94]->Units                    = 0
pp_data->cap[94]->UnitsExp                 = 0

pp_data->cap[95]->UsagePage                    = 0xFF01
pp_data->cap[95]->ReportID                     = 0x80
pp_data->cap[95]->BitPosition                  = 0
pp_data->cap[95]->BitSize                      = 8
pp_data->cap[95]->ReportCount                  = 1
pp_data->cap[95]->BytePosition                 = 0x0056
pp_data->cap[95]->BitCount                     = 8
pp_data->cap[95]->BitField                     = 0x02
pp_data->cap[95]->NextBytePosition             = 0x0057
pp_data->cap[95]->LinkCollection               = 0x0003
pp_data->cap[95]->LinkUsagePage                = 0xFF01
pp_data->cap[95]->LinkUsage                    = 0x0080
pp_data->cap[95]->IsMultipleItemsForArray      = 0
pp_data->cap[95]->IsButtonCap                  = 0
pp_data->cap[95]->IsPadding                    = 0
pp_data->cap[95]->IsAbsolute                   = 1
pp_data->cap[95]->IsRange                      = 0
pp_data->cap[95]->IsAlias                      = 0
pp_data->cap[95]->IsStringRange                = 0
pp_data->cap[95]->IsDesignatorRange            = 0
pp_data->cap[95]->Reserved1                    = 0x000000
pp_data->cap[95]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[95]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[95]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[95]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[95]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[95]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[95]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[95]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[95]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[95]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[95]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[95]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[95]->NotRange.Usage                        = 0x0081
pp_data->cap[95]->NotRange.Reserved1                    = 0x0081
pp_data->cap[95]->NotRange.StringIndex                  = 0
pp_data->cap[95]->NotRange.Reserved2                    = 0
pp_data->cap[95]->NotRange.DesignatorIndex              = 0
pp_data->cap[95]->NotRange.Reserved3                    = 0
pp_data->cap[95]->NotRange.DataIndex                    = 8
pp_data->cap[95]->NotRange.Reserved4                    = 8
pp_data->cap[95]->NotButton.HasNull                   = 0
pp_data->cap[95]->NotButton.Reserved4                 = 0x000000
pp_data->cap[95]->NotButton.LogicalMin                = 0
pp_data->cap[95]->NotButton.LogicalMax                = 127
pp_data->cap[95]->NotButton.PhysicalMin               = 0
pp_data->cap[95]->NotButton.PhysicalMax               = 0
pp_data->cap[95]->Units                    = 0
pp_data->cap[95]->UnitsExp                 = 0

pp_data->cap[96]->UsagePage                    = 0xFF01
pp_data->cap[96]->ReportID                     = 0x80
pp_data->cap[96]->BitPosition                  = 0
pp_data->cap[96]->BitSize                      = 8
pp_data->cap[96]->ReportCount                  = 1
pp_data->cap[96]->BytePosition                 = 0x0055
pp_data->cap[96]->BitCount                     = 8
pp_data->cap[96]->BitField                     = 0x02
pp_data->cap[96]->NextBytePosition             = 0x0056
pp_data->cap[96]->LinkCollection               = 0x0003
pp_data->cap[96]->LinkUsagePage                = 0xFF01
pp_data->cap[96]->LinkUsage                    = 0x0080
pp_data->cap[96]->IsMultipleItemsForArray      = 0
pp_data->cap[96]->IsButtonCap                  = 0
pp_data->cap[96]->IsPadding                    = 0
pp_data->cap[96]->IsAbsolute                   = 1
pp_data->cap[96]->IsRange                      = 0
pp_data->cap[96]->IsAlias                      = 0
pp_data->cap[96]->IsStringRange                = 0
pp_data->cap[96]->IsDesignatorRange            = 0
pp_data->cap[96]->Reserved1                    = 0x000000
pp_data->cap[96]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[96]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[96]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[96]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[96]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[96]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[96]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[96]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[96]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[96]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[96]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[96]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[96]->NotRange.Usage                        = 0x0081
pp_data->cap[96]->NotRange.Reserved1                    = 0x0081
pp_data->cap[96]->NotRange.StringIndex                  = 0
pp_data->cap[96]->NotRange.Reserved2                    = 0
pp_data->cap[96]->NotRange.DesignatorIndex              = 0
pp_data->cap[96]->NotRange.Reserved3                    = 0
pp_data->cap[96]->NotRange.DataIndex                    = 9
pp_data->cap[96]->NotRange.Reserved4                    = 9
pp_data->cap[96]->NotButton.HasNull                   = 0
pp_data->cap[96]->NotButton.Reserved4                 = 0x000000
pp_data->cap[96]->NotButton.LogicalMin                = 0
pp_data->cap[96]->NotButton.LogicalMax                = 127
pp_data->cap[96]->NotButton.PhysicalMin               = 0
pp_data->cap[96]->NotButton.PhysicalMax               = 0
pp_data->cap[96]->Units                    = 0
pp_data->cap[96]->UnitsExp                 = 0

pp_data->cap[97]->UsagePage                    = 0xFF01
pp_data->cap[97]->ReportID                     = 0x80
pp_data->cap[97]->BitPosition                  = 0
pp_data->cap[97]->BitSize                      = 8
pp_data->cap[97]->ReportCount                  = 1
pp_data->cap[97]->BytePosition                 = 0x0054
pp_data->cap[97]->BitCount                     = 8
pp_data->cap[97]->BitField                     = 0x02
pp_data->cap[97]->NextBytePosition             = 0x0055
pp_data->cap[97]->LinkCollection               = 0x0003
pp_data->cap[97]->LinkUsagePage                = 0xFF01
pp_data->cap[97]->LinkUsage                    = 0x0080
pp_data->cap[97]->IsMultipleItemsForArray      = 0
pp_data->cap[97]->IsButtonCap                  = 0
pp_data->cap[97]->IsPadding                    = 0
pp_data->cap[97]->IsAbsolute                   = 1
pp_data->cap[97]->IsRange                      = 0
pp_data->cap[97]->IsAlias                      = 0
pp_data->cap[97]->IsStringRange                = 0
pp_data->cap[97]->IsDesignatorRange            = 0
pp_data->cap[97]->Reserved1                    = 0x000000
pp_data->cap[97]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[97]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[97]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[97]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[97]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[97]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[97]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[97]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[97]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[97]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[97]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[97]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[97]->NotRange.Usage                        = 0x0081
pp_data->cap[97]->NotRange.Reserved1                    = 0x0081
pp_data->cap[97]->NotRange.StringIndex                  = 0
pp_data->cap[97]->NotRange.Reserved2                    = 0
pp_data->cap[97]->NotRange.DesignatorIndex              = 0
pp_data->cap[97]->NotRange.Reserved3                    = 0
pp_data->cap[97]->NotRange.DataIndex                    = 10
pp_data->cap[97]->NotRange.Reserved4                    = 10
pp_data->cap[97]->NotButton.HasNull                   = 0
pp_data->cap[97]->NotButton.Reserved4                 = 0x000000
pp_data->cap[97]->NotButton.LogicalMin                = 0
pp_data->cap[97]->NotButton.LogicalMax                = 127
pp_data->cap[97]->NotButton.PhysicalMin               = 0
pp_data->cap[97]->NotButton.PhysicalMax               = 0
pp_data->cap[97]->Units                    = 0
pp_data->cap[97]->UnitsExp                 = 0

pp_data->cap[98]->UsagePage                    = 0xFF01
pp_data->cap[98]->ReportID                     = 0x80
pp_data->cap[98]->BitPosition                  = 0
pp_data->cap[98]->BitSize                      = 8
pp_data->cap[98]->ReportCount                  = 1
pp_data->cap[98]->BytePosition                 = 0x0053
pp_data->cap[98]->BitCount                     = 8
pp_data->cap[98]->BitField                     = 0x02
pp_data->cap[98]->NextBytePosition             = 0x0054
pp_data->cap[98]->LinkCollection               = 0x0003
pp_data->cap[98]->LinkUsagePage                = 0xFF01
pp_data->cap[98]->LinkUsage                    = 0x0080
pp_data->cap[98]->IsMultipleItemsForArray      = 0
pp_data->cap[98]->IsButtonCap                  = 0
pp_data->cap[98]->IsPadding                    = 0
pp_data->cap[98]->IsAbsolute                   = 1
pp_data->cap[98]->IsRange                      = 0
pp_data->cap[98]->IsAlias                      = 0
pp_data->cap[98]->IsStringRange                = 0
pp_data->cap[98]->IsDesignatorRange            = 0
pp_data->cap[98]->Reserved1                    = 0x000000
pp_data->cap[98]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[98]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[98]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[98]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[98]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[98]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[98]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[98]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[98]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[98]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[98]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[98]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[98]->NotRange.Usage                        = 0x0081
pp_data->cap[98]->NotRange.Reserved1                    = 0x0081
pp_data->cap[98]->NotRange.StringIndex                  = 0
pp_data->cap[98]->NotRange.Reserved2                    = 0
pp_data->cap[98]->NotRange.DesignatorIndex              = 0
pp_data->cap[98]->NotRange.Reserved3                    = 0
pp_data->cap[98]->NotRange.DataIndex                    = 11
pp_data->cap[98]->NotRange.Reserved4                    = 11
pp_data->cap[98]->NotButton.HasNull                   = 0
pp_data->cap[98]->NotButton.Reserved4                 = 0x000000
pp_data->cap[98]->NotButton.LogicalMin                = 0
pp_data->cap[98]->NotButton.LogicalMax                = 127
pp_data->cap[98]->NotButton.PhysicalMin               = 0
pp_data->cap[98]->NotButton.PhysicalMax               = 0
pp_data->cap[98]->Units                    = 0
pp_data->cap[98]->UnitsExp                 = 0

pp_data->cap[99]->UsagePage                    = 0xFF01
pp_data->cap[99]->ReportID                     = 0x80
pp_data->cap[99]->BitPosition                  = 0
pp_data->cap[99]->BitSize                      = 8
pp_data->cap[99]->ReportCount                  = 1
pp_data->cap[99]->BytePosition                 = 0x0052
pp_data->cap[99]->BitCount                     = 8
pp_data->cap[99]->BitField                     = 0x02
pp_data->cap[99]->NextBytePosition             = 0x0053
pp_data->cap[99]->LinkCollection               = 0x0003
pp_data->cap[99]->LinkUsagePage                = 0xFF01
pp_data->cap[99]->LinkUsage                    = 0x0080
pp_data->cap[99]->IsMultipleItemsForArray      = 0
pp_data->cap[99]->IsButtonCap                  = 0
pp_data->cap[99]->IsPadding                    = 0
pp_data->cap[99]->IsAbsolute                   = 1
pp_data->cap[99]->IsRange                      = 0
pp_data->cap[99]->IsAlias                      = 0
pp_data->cap[99]->IsStringRange                = 0
pp_data->cap[99]->IsDesignatorRange            = 0
pp_data->cap[99]->Reserved1                    = 0x000000
pp_data->cap[99]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[99]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[99]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[99]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[99]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[99]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[99]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[99]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[99]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[99]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[99]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[99]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[99]->NotRange.Usage                        = 0x0081
pp_data->cap[99]->NotRange.Reserved1                    = 0x0081
pp_data->cap[99]->NotRange.StringIndex                  = 0
pp_data->cap[99]->NotRange.Reserved2                    = 0
pp_data->cap[99]->NotRange.DesignatorIndex              = 0
pp_data->cap[99]->NotRange.Reserved3                    = 0
pp_data->cap[99]->NotRange.DataIndex                    = 12
pp_data->cap[99]->NotRange.Reserved4                    = 12
pp_data->cap[99]->NotButton.HasNull                   = 0
pp_data->cap[99]->NotButton.Reserved4                 = 0x000000
pp_data->cap[99]->NotButton.LogicalMin                = 0
pp_data->cap[99]->NotButton.LogicalMax                = 127
pp_data->cap[99]->NotButton.PhysicalMin               = 0
pp_data->cap[99]->NotButton.PhysicalMax               = 0
pp_data->cap[99]->Units                    = 0
pp_data->cap[99]->UnitsExp                 = 0

pp_data->cap[100]->UsagePage                    = 0xFF01
pp_data->cap[100]->ReportID                     = 0x80
pp_data->cap[100]->BitPosition                  = 0
pp_data->cap[100]->BitSize                      = 8
pp_data->cap[100]->ReportCount                  = 1
pp_data->cap[100]->BytePosition                 = 0x0051
pp_data->cap[100]->BitCount                     = 8
pp_data->cap[100]->BitField                     = 0x02
pp_data->cap[100]->NextBytePosition             = 0x0052
pp_data->cap[100]->LinkCollection               = 0x0003
pp_data->cap[100]->LinkUsagePage                = 0xFF01
pp_data->cap[100]->LinkUsage                    = 0x0080
pp_data->cap[100]->IsMultipleItemsForArray      = 0
pp_data->cap[100]->IsButtonCap                  = 0
pp_data->cap[100]->IsPadding                    = 0
pp_data->cap[100]->IsAbsolute                   = 1
pp_data->cap[100]->IsRange                      = 0
pp_data->cap[100]->IsAlias                      = 0
pp_data->cap[100]->IsStringRange                = 0
pp_data->cap[100]->IsDesignatorRange            = 0
pp_data->cap[100]->Reserved1                    = 0x000000
pp_data->cap[100]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[100]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[100]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[100]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[100]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[100]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[100]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[100]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[100]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[100]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[100]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[100]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[100]->NotRange.Usage                        = 0x0081
pp_data->cap[100]->NotRange.Reserved1                    = 0x0081
pp_data->cap[100]->NotRange.StringIndex                  = 0
pp_data->cap[100]->NotRange.Reserved2                    = 0
pp_data->cap[100]->NotRange.DesignatorIndex              = 0
pp_data->cap[100]->NotRange.Reserved3                    = 0
pp_data->cap[100]->NotRange.DataIndex                    = 13
pp_data->cap[100]->NotRange.Reserved4                    = 13
pp_data->cap[100]->NotButton.HasNull                   = 0
pp_data->cap[100]->NotButton.Reserved4                 = 0x000000
pp_data->cap[100]->NotButton.LogicalMin                = 0
pp_data->cap[100]->NotButton.LogicalMax                = 127
pp_data->cap[100]->NotButton.PhysicalMin               = 0
pp_data->cap[100]->NotButton.PhysicalMax               = 0
pp_data->cap[100]->Units                    = 0
pp_data->cap[100]->UnitsExp                 = 0

pp_data->cap[101]->UsagePage                    = 0xFF01
pp_data->cap[101]->ReportID                     = 0x80
pp_data->cap[101]->BitPosition                  = 0
pp_data->cap[101]->BitSize                      = 8
pp_data->cap[101]->ReportCount                  = 1
pp_data->cap[101]->BytePosition                 = 0x0050
pp_data->cap[101]->BitCount                     = 8
pp_data->cap[101]->BitField                     = 0x02
pp_data->cap[101]->NextBytePosition             = 0x0051
pp_data->cap[101]->LinkCollection               = 0x0003
pp_data->cap[101]->LinkUsagePage                = 0xFF01
pp_data->cap[101]->LinkUsage                    = 0x0080
pp_data->cap[101]->IsMultipleItemsForArray      = 0
pp_data->cap[101]->IsButtonCap                  = 0
pp_data->cap[101]->IsPadding                    = 0
pp_data->cap[101]->IsAbsolute                   = 1
pp_data->cap[101]->IsRange                      = 0
pp_data->cap[101]->IsAlias                      = 0
pp_data->cap[101]->IsStringRange                = 0
pp_data->cap[101]->IsDesignatorRange            = 0
pp_data->cap[101]->Reserved1                    = 0x000000
pp_data->cap[101]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[101]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[101]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[101]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[101]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[101]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[101]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[101]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[101]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[101]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[101]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[101]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[101]->NotRange.Usage                        = 0x0081
pp_data->cap[101]->NotRange.Reserved1                    = 0x0081
pp_data->cap[101]->NotRange.StringIndex                  = 0
pp_data->cap[101]->NotRange.Reserved2                    = 0
pp_data->cap[101]->NotRange.DesignatorIndex              = 0
pp_data->cap[101]->NotRange.Reserved3                    = 0
pp_data->cap[101]->NotRange.DataIndex                    = 14
pp_data->cap[101]->NotRange.Reserved4                    = 14
pp_data->cap[101]->NotButton.HasNull                   = 0
pp_data->cap[101]->NotButton.Reserved4                 = 0x000000
pp_data->cap[101]->NotButton.LogicalMin                = 0
pp_data->cap[101]->NotButton.LogicalMax                = 127
pp_data->cap[101]->NotButton.PhysicalMin               = 0
pp_data->cap[101]->NotButton.PhysicalMax               = 0
pp_data->cap[101]->Units                    = 0
pp_data->cap[101]->UnitsExp                 = 0

pp_data->cap[102]->UsagePage                    = 0xFF01
pp_data->cap[102]->ReportID                     = 0x80
pp_data->cap[102]->BitPosition                  = 0
pp_data->cap[102]->BitSize                      = 8
pp_data->cap[102]->ReportCount                  = 1
pp_data->cap[102]->BytePosition                 = 0x004F
pp_data->cap[102]->BitCount                     = 8
pp_data->cap[102]->BitField                     = 0x02
pp_data->cap[102]->NextBytePosition             = 0x0050
pp_data->cap[102]->LinkCollection               = 0x0003
pp_data->cap[102]->LinkUsagePage                = 0xFF01
pp_data->cap[102]->LinkUsage                    = 0x0080
pp_data->cap[102]->IsMultipleItemsForArray      = 0
pp_data->cap[102]->IsButtonCap                  = 0
pp_data->cap[102]->IsPadding                    = 0
pp_data->cap[102]->IsAbsolute                   = 1
pp_data->cap[102]->IsRange                      = 0
pp_data->cap[102]->IsAlias                      = 0
pp_data->cap[102]->IsStringRange                = 0
pp_data->cap[102]->IsDesignatorRange            = 0
pp_data->cap[102]->Reserved1                    = 0x000000
pp_data->cap[102]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[102]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[102]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[102]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[102]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[102]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[102]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[102]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[102]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[102]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[102]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[102]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[102]->NotRange.Usage                        = 0x0081
pp_data->cap[102]->NotRange.Reserved1                    = 0x0081
pp_data->cap[102]->NotRange.StringIndex                  = 0
pp_data->cap[102]->NotRange.Reserved2                    = 0
pp_data->cap[102]->NotRange.DesignatorIndex              = 0
pp_data->cap[102]->NotRange.Reserved3                    = 0
pp_data->cap[102]->NotRange.DataIndex                    = 15
pp_data->cap[102]->NotRange.Reserved4                    = 15
pp_data->cap[102]->NotButton.HasNull                   = 0
pp_data->cap[102]->NotButton.Reserved4                 = 0x000000
pp_data->cap[102]->NotButton.LogicalMin                = 0
pp_data->cap[102]->NotButton.LogicalMax                = 127
pp_data->cap[102]->NotButton.PhysicalMin               = 0
pp_data->cap[102]->NotButton.PhysicalMax               = 0
pp_data->cap[102]->Units                    = 0
pp_data->cap[102]->UnitsExp                 = 0

pp_data->cap[103]->UsagePage                    = 0xFF01
pp_data->cap[103]->ReportID                     = 0x80
pp_data->cap[103]->BitPosition                  = 0
pp_data->cap[103]->BitSize                      = 8
pp_data->cap[103]->ReportCount                  = 1
pp_data->cap[103]->BytePosition                 = 0x004E
pp_data->cap[103]->BitCount                     = 8
pp_data->cap[103]->BitField                     = 0x02
pp_data->cap[103]->NextBytePosition             = 0x004F
pp_data->cap[103]->LinkCollection               = 0x0003
pp_data->cap[103]->LinkUsagePage                = 0xFF01
pp_data->cap[103]->LinkUsage                    = 0x0080
pp_data->cap[103]->IsMultipleItemsForArray      = 0
pp_data->cap[103]->IsButtonCap                  = 0
pp_data->cap[103]->IsPadding                    = 0
pp_data->cap[103]->IsAbsolute                   = 1
pp_data->cap[103]->IsRange                      = 0
pp_data->cap[103]->IsAlias                      = 0
pp_data->cap[103]->IsStringRange                = 0
pp_data->cap[103]->IsDesignatorRange            = 0
pp_data->cap[103]->Reserved1                    = 0x000000
pp_data->cap[103]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[103]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[103]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[103]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[103]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[103]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[103]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[103]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[103]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[103]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[103]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[103]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[103]->NotRange.Usage                        = 0x0081
pp_data->cap[103]->NotRange.Reserved1                    = 0x0081
pp_data->cap[103]->NotRange.StringIndex                  = 0
pp_data->cap[103]->NotRange.Reserved2                    = 0
pp_data->cap[103]->NotRange.DesignatorIndex              = 0
pp_data->cap[103]->NotRange.Reserved3                    = 0
pp_data->cap[103]->NotRange.DataIndex                    = 16
pp_data->cap[103]->NotRange.Reserved4                    = 16
pp_data->cap[103]->NotButton.HasNull                   = 0
pp_data->cap[103]->NotButton.Reserved4                 = 0x000000
pp_data->cap[103]->NotButton.LogicalMin                = 0
pp_data->cap[103]->NotButton.LogicalMax                = 127
pp_data->cap[103]->NotButton.PhysicalMin               = 0
pp_data->cap[103]->NotButton.PhysicalMax               = 0
pp_data->cap[103]->Units                    = 0
pp_data->cap[103]->UnitsExp                 = 0

pp_data->cap[104]->UsagePage                    = 0xFF01
pp_data->cap[104]->ReportID                     = 0x80
pp_data->cap[104]->BitPosition                  = 0
pp_data->cap[104]->BitSize                      = 8
pp_data->cap[104]->ReportCount                  = 1
pp_data->cap[104]->BytePosition                 = 0x004D
pp_data->cap[104]->BitCount                     = 8
pp_data->cap[104]->BitField                     = 0x02
pp_data->cap[104]->NextBytePosition             = 0x004E
pp_data->cap[104]->LinkCollection               = 0x0003
pp_data->cap[104]->LinkUsagePage                = 0xFF01
pp_data->cap[104]->LinkUsage                    = 0x0080
pp_data->cap[104]->IsMultipleItemsForArray      = 0
pp_data->cap[104]->IsButtonCap                  = 0
pp_data->cap[104]->IsPadding                    = 0
pp_data->cap[104]->IsAbsolute                   = 1
pp_data->cap[104]->IsRange                      = 0
pp_data->cap[104]->IsAlias                      = 0
pp_data->cap[104]->IsStringRange                = 0
pp_data->cap[104]->IsDesignatorRange            = 0
pp_data->cap[104]->Reserved1                    = 0x000000
pp_data->cap[104]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[104]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[104]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[104]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[104]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[104]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[104]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[104]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[104]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[104]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[104]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[104]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[104]->NotRange.Usage                        = 0x0081
pp_data->cap[104]->NotRange.Reserved1                    = 0x0081
pp_data->cap[104]->NotRange.StringIndex                  = 0
pp_data->cap[104]->NotRange.Reserved2                    = 0
pp_data->cap[104]->NotRange.DesignatorIndex              = 0
pp_data->cap[104]->NotRange.Reserved3                    = 0
pp_data->cap[104]->NotRange.DataIndex                    = 17
pp_data->cap[104]->NotRange.Reserved4                    = 17
pp_data->cap[104]->NotButton.HasNull                   = 0
pp_data->cap[104]->NotButton.Reserved4                 = 0x000000
pp_data->cap[104]->NotButton.LogicalMin                = 0
pp_data->cap[104]->NotButton.LogicalMax                = 127
pp_data->cap[104]->NotButton.PhysicalMin               = 0
pp_data->cap[104]->NotButton.PhysicalMax               = 0
pp_data->cap[104]->Units                    = 0
pp_data->cap[104]->UnitsExp                 = 0

pp_data->cap[105]->UsagePage                    = 0xFF01
pp_data->cap[105]->ReportID                     = 0x80
pp_data->cap[105]->BitPosition                  = 0
pp_data->cap[105]->BitSize                      = 8
pp_data->cap[105]->ReportCount                  = 1
pp_data->cap[105]->BytePosition                 = 0x004C
pp_data->cap[105]->BitCount                     = 8
pp_data->cap[105]->BitField                     = 0x02
pp_data->cap[105]->NextBytePosition             = 0x004D
pp_data->cap[105]->LinkCollection               = 0x0003
pp_data->cap[105]->LinkUsagePage                = 0xFF01
pp_data->cap[105]->LinkUsage                    = 0x0080
pp_data->cap[105]->IsMultipleItemsForArray      = 0
pp_data->cap[105]->IsButtonCap                  = 0
pp_data->cap[105]->IsPadding                    = 0
pp_data->cap[105]->IsAbsolute                   = 1
pp_data->cap[105]->IsRange                      = 0
pp_data->cap[105]->IsAlias                      = 0
pp_data->cap[105]->IsStringRange                = 0
pp_data->cap[105]->IsDesignatorRange            = 0
pp_data->cap[105]->Reserved1                    = 0x000000
pp_data->cap[105]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[105]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[105]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[105]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[105]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[105]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[105]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[105]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[105]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[105]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[105]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[105]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[105]->NotRange.Usage                        = 0x0081
pp_data->cap[105]->NotRange.Reserved1                    = 0x0081
pp_data->cap[105]->NotRange.StringIndex                  = 0
pp_data->cap[105]->NotRange.Reserved2                    = 0
pp_data->cap[105]->NotRange.DesignatorIndex              = 0
pp_data->cap[105]->NotRange.Reserved3                    = 0
pp_data->cap[105]->NotRange.DataIndex                    = 18
pp_data->cap[105]->NotRange.Reserved4                    = 18
pp_data->cap[105]->NotButton.HasNull                   = 0
pp_data->cap[105]->NotButton.Reserved4                 = 0x000000
pp_data->cap[105]->NotButton.LogicalMin                = 0
pp_data->cap[105]->NotButton.LogicalMax                = 127
pp_data->cap[105]->NotButton.PhysicalMin               = 0
pp_data->cap[105]->NotButton.PhysicalMax               = 0
pp_data->cap[105]->Units                    = 0
pp_data->cap[105]->UnitsExp                 = 0

pp_data->cap[106]->UsagePage                    = 0xFF01
pp_data->cap[106]->ReportID                     = 0x80
pp_data->cap[106]->BitPosition                  = 0
pp_data->cap[106]->BitSize                      = 8
pp_data->cap[106]->ReportCount                  = 1
pp_data->cap[106]->BytePosition                 = 0x004B
pp_data->cap[106]->BitCount                     = 8
pp_data->cap[106]->BitField                     = 0x02
pp_data->cap[106]->NextBytePosition             = 0x004C
pp_data->cap[106]->LinkCollection               = 0x0003
pp_data->cap[106]->LinkUsagePage                = 0xFF01
pp_data->cap[106]->LinkUsage                    = 0x0080
pp_data->cap[106]->IsMultipleItemsForArray      = 0
pp_data->cap[106]->IsButtonCap                  = 0
pp_data->cap[106]->IsPadding                    = 0
pp_data->cap[106]->IsAbsolute                   = 1
pp_data->cap[106]->IsRange                      = 0
pp_data->cap[106]->IsAlias                      = 0
pp_data->cap[106]->IsStringRange                = 0
pp_data->cap[106]->IsDesignatorRange            = 0
pp_data->cap[106]->Reserved1                    = 0x000000
pp_data->cap[106]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[106]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[106]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[106]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[106]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[106]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[106]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[106]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[106]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[106]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[106]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[106]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[106]->NotRange.Usage                        = 0x0081
pp_data->cap[106]->NotRange.Reserved1                    = 0x0081
pp_data->cap[106]->NotRange.StringIndex                  = 0
pp_data->cap[106]->NotRange.Reserved2                    = 0
pp_data->cap[106]->NotRange.DesignatorIndex              = 0
pp_data->cap[106]->NotRange.Reserved3                    = 0
pp_data->cap[106]->NotRange.DataIndex                    = 19
pp_data->cap[106]->NotRange.Reserved4                    = 19
pp_data->cap[106]->NotButton.HasNull                   = 0
pp_data->cap[106]->NotButton.Reserved4                 = 0x000000
pp_data->cap[106]->NotButton.LogicalMin                = 0
pp_data->cap[106]->NotButton.LogicalMax                = 127
pp_data->cap[106]->NotButton.PhysicalMin               = 0
pp_data->cap[106]->NotButton.PhysicalMax               = 0
pp_data->cap[106]->Units                    = 0
pp_data->cap[106]->UnitsExp                 = 0

pp_data->cap[107]->UsagePage                    = 0xFF01
pp_data->cap[107]->ReportID                     = 0x80
pp_data->cap[107]->BitPosition                  = 0
pp_data->cap[107]->BitSize                      = 8
pp_data->cap[107]->ReportCount                  = 1
pp_data->cap[107]->BytePosition                 = 0x004A
pp_data->cap[107]->BitCount                     = 8
pp_data->cap[107]->BitField                     = 0x02
pp_data->cap[107]->NextBytePosition             = 0x004B
pp_data->cap[107]->LinkCollection               = 0x0003
pp_data->cap[107]->LinkUsagePage                = 0xFF01
pp_data->cap[107]->LinkUsage                    = 0x0080
pp_data->cap[107]->IsMultipleItemsForArray      = 0
pp_data->cap[107]->IsButtonCap                  = 0
pp_data->cap[107]->IsPadding                    = 0
pp_data->cap[107]->IsAbsolute                   = 1
pp_data->cap[107]->IsRange                      = 0
pp_data->cap[107]->IsAlias                      = 0
pp_data->cap[107]->IsStringRange                = 0
pp_data->cap[107]->IsDesignatorRange            = 0
pp_data->cap[107]->Reserved1                    = 0x000000
pp_data->cap[107]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[107]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[107]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[107]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[107]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[107]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[107]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[107]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[107]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[107]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[107]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[107]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[107]->NotRange.Usage                        = 0x0081
pp_data->cap[107]->NotRange.Reserved1                    = 0x0081
pp_data->cap[107]->NotRange.StringIndex                  = 0
pp_data->cap[107]->NotRange.Reserved2                    = 0
pp_data->cap[107]->NotRange.DesignatorIndex              = 0
pp_data->cap[107]->NotRange.Reserved3                    = 0
pp_data->cap[107]->NotRange.DataIndex                    = 20
pp_data->cap[107]->NotRange.Reserved4                    = 20
pp_data->cap[107]->NotButton.HasNull                   = 0
pp_data->cap[107]->NotButton.Reserved4                 = 0x000000
pp_data->cap[107]->NotButton.LogicalMin                = 0
pp_data->cap[107]->NotButton.LogicalMax                = 127
pp_data->cap[107]->NotButton.PhysicalMin               = 0
pp_data->cap[107]->NotButton.PhysicalMax               = 0
pp_data->cap[107]->Units                    = 0
pp_data->cap[107]->UnitsExp                 = 0

pp_data->cap[108]->UsagePage                    = 0xFF01
pp_data->cap[108]->ReportID                     = 0x80
pp_data->cap[108]->BitPosition                  = 0
pp_data->cap[108]->BitSize                      = 8
pp_data->cap[108]->ReportCount                  = 1
pp_data->cap[108]->BytePosition                 = 0x0049
pp_data->cap[108]->BitCount                     = 8
pp_data->cap[108]->BitField                     = 0x02
pp_data->cap[108]->NextBytePosition             = 0x004A
pp_data->cap[108]->LinkCollection               = 0x0003
pp_data->cap[108]->LinkUsagePage                = 0xFF01
pp_data->cap[108]->LinkUsage                    = 0x0080
pp_data->cap[108]->IsMultipleItemsForArray      = 0
pp_data->cap[108]->IsButtonCap                  = 0
pp_data->cap[108]->IsPadding                    = 0
pp_data->cap[108]->IsAbsolute                   = 1
pp_data->cap[108]->IsRange                      = 0
pp_data->cap[108]->IsAlias                      = 0
pp_data->cap[108]->IsStringRange                = 0
pp_data->cap[108]->IsDesignatorRange            = 0
pp_data->cap[108]->Reserved1                    = 0x000000
pp_data->cap[108]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[108]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[108]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[108]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[108]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[108]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[108]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[108]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[108]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[108]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[108]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[108]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[108]->NotRange.Usage                        = 0x0081
pp_data->cap[108]->NotRange.Reserved1                    = 0x0081
pp_data->cap[108]->NotRange.StringIndex                  = 0
pp_data->cap[108]->NotRange.Reserved2                    = 0
pp_data->cap[108]->NotRange.DesignatorIndex              = 0
pp_data->cap[108]->NotRange.Reserved3                    = 0
pp_data->cap[108]->NotRange.DataIndex                    = 21
pp_data->cap[108]->NotRange.Reserved4                    = 21
pp_data->cap[108]->NotButton.HasNull                   = 0
pp_data->cap[108]->NotButton.Reserved4                 = 0x000000
pp_data->cap[108]->NotButton.LogicalMin                = 0
pp_data->cap[108]->NotButton.LogicalMax                = 127
pp_data->cap[108]->NotButton.PhysicalMin               = 0
pp_data->cap[108]->NotButton.PhysicalMax               = 0
pp_data->cap[108]->Units                    = 0
pp_data->cap[108]->UnitsExp                 = 0

pp_data->cap[109]->UsagePage                    = 0xFF01
pp_data->cap[109]->ReportID                     = 0x80
pp_data->cap[109]->BitPosition                  = 0
pp_data->cap[109]->BitSize                      = 8
pp_data->cap[109]->ReportCount                  = 1
pp_data->cap[109]->BytePosition                 = 0x0048
pp_data->cap[109]->BitCount                     = 8
pp_data->cap[109]->BitField                     = 0x02
pp_data->cap[109]->NextBytePosition             = 0x0049
pp_data->cap[109]->LinkCollection               = 0x0003
pp_data->cap[109]->LinkUsagePage                = 0xFF01
pp_data->cap[109]->LinkUsage                    = 0x0080
pp_data->cap[109]->IsMultipleItemsForArray      = 0
pp_data->cap[109]->IsButtonCap                  = 0
pp_data->cap[109]->IsPadding                    = 0
pp_data->cap[109]->IsAbsolute                   = 1
pp_data->cap[109]->IsRange                      = 0
pp_data->cap[109]->IsAlias                      = 0
pp_data->cap[109]->IsStringRange                = 0
pp_data->cap[109]->IsDesignatorRange            = 0
pp_data->cap[109]->Reserved1                    = 0x000000
pp_data->cap[109]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[109]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[109]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[109]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[109]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[109]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[109]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[109]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[109]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[109]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[109]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[109]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[109]->NotRange.Usage                        = 0x0081
pp_data->cap[109]->NotRange.Reserved1                    = 0x0081
pp_data->cap[109]->NotRange.StringIndex                  = 0
pp_data->cap[109]->NotRange.Reserved2                    = 0
pp_data->cap[109]->NotRange.DesignatorIndex              = 0
pp_data->cap[109]->NotRange.Reserved3                    = 0
pp_data->cap[109]->NotRange.DataIndex                    = 22
pp_data->cap[109]->NotRange.Reserved4                    = 22
pp_data->cap[109]->NotButton.HasNull                   = 0
pp_data->cap[109]->NotButton.Reserved4                 = 0x000000
pp_data->cap[109]->NotButton.LogicalMin                = 0
pp_data->cap[109]->NotButton.LogicalMax                = 127
pp_data->cap[109]->NotButton.PhysicalMin               = 0
pp_data->cap[109]->NotButton.PhysicalMax               = 0
pp_data->cap[109]->Units                    = 0
pp_data->cap[109]->UnitsExp                 = 0

pp_data->cap[110]->UsagePage                    = 0xFF01
pp_data->cap[110]->ReportID                     = 0x80
pp_data->cap[110]->BitPosition                  = 0
pp_data->cap[110]->BitSize                      = 8
pp_data->cap[110]->ReportCount                  = 1
pp_data->cap[110]->BytePosition                 = 0x0047
pp_data->cap[110]->BitCount                     = 8
pp_data->cap[110]->BitField                     = 0x02
pp_data->cap[110]->NextBytePosition             = 0x0048
pp_data->cap[110]->LinkCollection               = 0x0003
pp_data->cap[110]->LinkUsagePage                = 0xFF01
pp_data->cap[110]->LinkUsage                    = 0x0080
pp_data->cap[110]->IsMultipleItemsForArray      = 0
pp_data->cap[110]->IsButtonCap                  = 0
pp_data->cap[110]->IsPadding                    = 0
pp_data->cap[110]->IsAbsolute                   = 1
pp_data->cap[110]->IsRange                      = 0
pp_data->cap[110]->IsAlias                      = 0
pp_data->cap[110]->IsStringRange                = 0
pp_data->cap[110]->IsDesignatorRange            = 0
pp_data->cap[110]->Reserved1                    = 0x000000
pp_data->cap[110]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[110]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[110]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[110]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[110]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[110]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[110]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[110]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[110]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[110]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[110]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[110]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[110]->NotRange.Usage                        = 0x0081
pp_data->cap[110]->NotRange.Reserved1                    = 0x0081
pp_data->cap[110]->NotRange.StringIndex                  = 0
pp_data->cap[110]->NotRange.Reserved2                    = 0
pp_data->cap[110]->NotRange.DesignatorIndex              = 0
pp_data->cap[110]->NotRange.Reserved3                    = 0
pp_data->cap[110]->NotRange.DataIndex                    = 23
pp_data->cap[110]->NotRange.Reserved4                    = 23
pp_data->cap[110]->NotButton.HasNull                   = 0
pp_data->cap[110]->NotButton.Reserved4                 = 0x000000
pp_data->cap[110]->NotButton.LogicalMin                = 0
pp_data->cap[110]->NotButton.LogicalMax                = 127
pp_data->cap[110]->NotButton.PhysicalMin               = 0
pp_data->cap[110]->NotButton.PhysicalMax               = 0
pp_data->cap[110]->Units                    = 0
pp_data->cap[110]->UnitsExp                 = 0

pp_data->cap[111]->UsagePage                    = 0xFF01
pp_data->cap[111]->ReportID                     = 0x80
pp_data->cap[111]->BitPosition                  = 0
pp_data->cap[111]->BitSize                      = 8
pp_data->cap[111]->ReportCount                  = 1
pp_data->cap[111]->BytePosition                 = 0x0046
pp_data->cap[111]->BitCount                     = 8
pp_data->cap[111]->BitField                     = 0x02
pp_data->cap[111]->NextBytePosition             = 0x0047
pp_data->cap[111]->LinkCollection               = 0x0003
pp_data->cap[111]->LinkUsagePage                = 0xFF01
pp_data->cap[111]->LinkUsage                    = 0x0080
pp_data->cap[111]->IsMultipleItemsForArray      = 0
pp_data->cap[111]->IsButtonCap                  = 0
pp_data->cap[111]->IsPadding                    = 0
pp_data->cap[111]->IsAbsolute                   = 1
pp_data->cap[111]->IsRange                      = 0
pp_data->cap[111]->IsAlias                      = 0
pp_data->cap[111]->IsStringRange                = 0
pp_data->cap[111]->IsDesignatorRange            = 0
pp_data->cap[111]->Reserved1                    = 0x000000
pp_data->cap[111]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[111]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[111]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[111]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[111]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[111]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[111]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[111]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[111]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[111]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[111]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[111]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[111]->NotRange.Usage                        = 0x0081
pp_data->cap[111]->NotRange.Reserved1                    = 0x0081
pp_data->cap[111]->NotRange.StringIndex                  = 0
pp_data->cap[111]->NotRange.Reserved2                    = 0
pp_data->cap[111]->NotRange.DesignatorIndex              = 0
pp_data->cap[111]->NotRange.Reserved3                    = 0
pp_data->cap[111]->NotRange.DataIndex                    = 24
pp_data->cap[111]->NotRange.Reserved4                    = 24
pp_data->cap[111]->NotButton.HasNull                   = 0
pp_data->cap[111]->NotButton.Reserved4                 = 0x000000
pp_data->cap[111]->NotButton.LogicalMin                = 0
pp_data->cap[111]->NotButton.LogicalMax                = 127
pp_data->cap[111]->NotButton.PhysicalMin               = 0
pp_data->cap[111]->NotButton.PhysicalMax               = 0
pp_data->cap[111]->Units                    = 0
pp_data->cap[111]->UnitsExp                 = 0

pp_data->cap[112]->UsagePage                    = 0xFF01
pp_data->cap[112]->ReportID                     = 0x80
pp_data->cap[112]->BitPosition                  = 0
pp_data->cap[112]->BitSize                      = 8
pp_data->cap[112]->ReportCount                  = 1
pp_data->cap[112]->BytePosition                 = 0x0045
pp_data->cap[112]->BitCount                     = 8
pp_data->cap[112]->BitField                     = 0x02
pp_data->cap[112]->NextBytePosition             = 0x0046
pp_data->cap[112]->LinkCollection               = 0x0003
pp_data->cap[112]->LinkUsagePage                = 0xFF01
pp_data->cap[112]->LinkUsage                    = 0x0080
pp_data->cap[112]->IsMultipleItemsForArray      = 0
pp_data->cap[112]->IsButtonCap                  = 0
pp_data->cap[112]->IsPadding                    = 0
pp_data->cap[112]->IsAbsolute                   = 1
pp_data->cap[112]->IsRange                      = 0
pp_data->cap[112]->IsAlias                      = 0
pp_data->cap[112]->IsStringRange                = 0
pp_data->cap[112]->IsDesignatorRange            = 0
pp_data->cap[112]->Reserved1                    = 0x000000
pp_data->cap[112]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[112]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[112]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[112]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[112]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[112]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[112]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[112]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[112]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[112]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[112]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[112]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[112]->NotRange.Usage                        = 0x0081
pp_data->cap[112]->NotRange.Reserved1                    = 0x0081
pp_data->cap[112]->NotRange.StringIndex                  = 0
pp_data->cap[112]->NotRange.Reserved2                    = 0
pp_data->cap[112]->NotRange.DesignatorIndex              = 0
pp_data->cap[112]->NotRange.Reserved3                    = 0
pp_data->cap[112]->NotRange.DataIndex                    = 25
pp_data->cap[112]->NotRange.Reserved4                    = 25
pp_data->cap[112]->NotButton.HasNull                   = 0
pp_data->cap[112]->NotButton.Reserved4                 = 0x000000
pp_data->cap[112]->NotButton.LogicalMin                = 0
pp_data->cap[112]->NotButton.LogicalMax                = 127
pp_data->cap[112]->NotButton.PhysicalMin               = 0
pp_data->cap[112]->NotButton.PhysicalMax               = 0
pp_data->cap[112]->Units                    = 0
pp_data->cap[112]->UnitsExp                 = 0

pp_data->cap[113]->UsagePage                    = 0xFF01
pp_data->cap[113]->ReportID                     = 0x80
pp_data->cap[113]->BitPosition                  = 0
pp_data->cap[113]->BitSize                      = 8
pp_data->cap[113]->ReportCount                  = 1
pp_data->cap[113]->BytePosition                 = 0x0044
pp_data->cap[113]->BitCount                     = 8
pp_data->cap[113]->BitField                     = 0x02
pp_data->cap[113]->NextBytePosition             = 0x0045
pp_data->cap[113]->LinkCollection               = 0x0003
pp_data->cap[113]->LinkUsagePage                = 0xFF01
pp_data->cap[113]->LinkUsage                    = 0x0080
pp_data->cap[113]->IsMultipleItemsForArray      = 0
pp_data->cap[113]->IsButtonCap                  = 0
pp_data->cap[113]->IsPadding                    = 0
pp_data->cap[113]->IsAbsolute                   = 1
pp_data->cap[113]->IsRange                      = 0
pp_data->cap[113]->IsAlias                      = 0
pp_data->cap[113]->IsStringRange                = 0
pp_data->cap[113]->IsDesignatorRange            = 0
pp_data->cap[113]->Reserved1                    = 0x000000
pp_data->cap[113]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[113]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[113]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[113]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[113]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[113]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[113]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[113]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[113]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[113]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[113]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[113]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[113]->NotRange.Usage                        = 0x0081
pp_data->cap[113]->NotRange.Reserved1                    = 0x0081
pp_data->cap[113]->NotRange.StringIndex                  = 0
pp_data->cap[113]->NotRange.Reserved2                    = 0
pp_data->cap[113]->NotRange.DesignatorIndex              = 0
pp_data->cap[113]->NotRange.Reserved3                    = 0
pp_data->cap[113]->NotRange.DataIndex                    = 26
pp_data->cap[113]->NotRange.Reserved4                    = 26
pp_data->cap[113]->NotButton.HasNull                   = 0
pp_data->cap[113]->NotButton.Reserved4                 = 0x000000
pp_data->cap[113]->NotButton.LogicalMin                = 0
pp_data->cap[113]->NotButton.LogicalMax                = 127
pp_data->cap[113]->NotButton.PhysicalMin               = 0
pp_data->cap[113]->NotButton.PhysicalMax               = 0
pp_data->cap[113]->Units                    = 0
pp_data->cap[113]->UnitsExp                 = 0

pp_data->cap[114]->UsagePage                    = 0xFF01
pp_data->cap[114]->ReportID                     = 0x80
pp_data->cap[114]->BitPosition                  = 0
pp_data->cap[114]->BitSize                      = 8
pp_data->cap[114]->ReportCount                  = 1
pp_data->cap[114]->BytePosition                 = 0x0043
pp_data->cap[114]->BitCount                     = 8
pp_data->cap[114]->BitField                     = 0x02
pp_data->cap[114]->NextBytePosition             = 0x0044
pp_data->cap[114]->LinkCollection               = 0x0003
pp_data->cap[114]->LinkUsagePage                = 0xFF01
pp_data->cap[114]->LinkUsage                    = 0x0080
pp_data->cap[114]->IsMultipleItemsForArray      = 0
pp_data->cap[114]->IsButtonCap                  = 0
pp_data->cap[114]->IsPadding                    = 0
pp_data->cap[114]->IsAbsolute                   = 1
pp_data->cap[114]->IsRange                      = 0
pp_data->cap[114]->IsAlias                      = 0
pp_data->cap[114]->IsStringRange                = 0
pp_data->cap[114]->IsDesignatorRange            = 0
pp_data->cap[114]->Reserved1                    = 0x000000
pp_data->cap[114]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[114]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[114]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[114]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[114]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[114]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[114]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[114]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[114]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[114]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[114]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[114]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[114]->NotRange.Usage                        = 0x0081
pp_data->cap[114]->NotRange.Reserved1                    = 0x0081
pp_data->cap[114]->NotRange.StringIndex                  = 0
pp_data->cap[114]->NotRange.Reserved2                    = 0
pp_data->cap[114]->NotRange.DesignatorIndex              = 0
pp_data->cap[114]->NotRange.Reserved3                    = 0
pp_data->cap[114]->NotRange.DataIndex                    = 27
pp_data->cap[114]->NotRange.Reserved4                    = 27
pp_data->cap[114]->NotButton.HasNull                   = 0
pp_data->cap[114]->NotButton.Reserved4                 = 0x000000
pp_data->cap[114]->NotButton.LogicalMin                = 0
pp_data->cap[114]->NotButton.LogicalMax                = 127
pp_data->cap[114]->NotButton.PhysicalMin               = 0
pp_data->cap[114]->NotButton.PhysicalMax               = 0
pp_data->cap[114]->Units                    = 0
pp_data->cap[114]->UnitsExp                 = 0

pp_data->cap[115]->UsagePage                    = 0xFF01
pp_data->cap[115]->ReportID                     = 0x80
pp_data->cap[115]->BitPosition                  = 0
pp_data->cap[115]->BitSize                      = 8
pp_data->cap[115]->ReportCount                  = 1
pp_data->cap[115]->BytePosition                 = 0x0042
pp_data->cap[115]->BitCount                     = 8
pp_data->cap[115]->BitField                     = 0x02
pp_data->cap[115]->NextBytePosition             = 0x0043
pp_data->cap[115]->LinkCollection               = 0x0003
pp_data->cap[115]->LinkUsagePage                = 0xFF01
pp_data->cap[115]->LinkUsage                    = 0x0080
pp_data->cap[115]->IsMultipleItemsForArray      = 0
pp_data->cap[115]->IsButtonCap                  = 0
pp_data->cap[115]->IsPadding                    = 0
pp_data->cap[115]->IsAbsolute                   = 1
pp_data->cap[115]->IsRange                      = 0
pp_data->cap[115]->IsAlias                      = 0
pp_data->cap[115]->IsStringRange                = 0
pp_data->cap[115]->IsDesignatorRange            = 0
pp_data->cap[115]->Reserved1                    = 0x000000
pp_data->cap[115]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[115]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[115]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[115]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[115]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[115]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[115]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[115]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[115]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[115]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[115]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[115]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[115]->NotRange.Usage                        = 0x0081
pp_data->cap[115]->NotRange.Reserved1                    = 0x0081
pp_data->cap[115]->NotRange.StringIndex                  = 0
pp_data->cap[115]->NotRange.Reserved2                    = 0
pp_data->cap[115]->NotRange.DesignatorIndex              = 0
pp_data->cap[115]->NotRange.Reserved3                    = 0
pp_data->cap[115]->NotRange.DataIndex                    = 28
pp_data->cap[115]->NotRange.Reserved4                    = 28
pp_data->cap[115]->NotButton.HasNull                   = 0
pp_data->cap[115]->NotButton.Reserved4                 = 0x000000
pp_data->cap[115]->NotButton.LogicalMin                = 0
pp_data->cap[115]->NotButton.LogicalMax                = 127
pp_data->cap[115]->NotButton.PhysicalMin               = 0
pp_data->cap[115]->NotButton.PhysicalMax               = 0
pp_data->cap[115]->Units                    = 0
pp_data->cap[115]->UnitsExp                 = 0

pp_data->cap[116]->UsagePage                    = 0xFF01
pp_data->cap[116]->ReportID                     = 0x80
pp_data->cap[116]->BitPosition                  = 0
pp_data->cap[116]->BitSize                      = 8
pp_data->cap[116]->ReportCount                  = 1
pp_data->cap[116]->BytePosition                 = 0x0041
pp_data->cap[116]->BitCount                     = 8
pp_data->cap[116]->BitField                     = 0x02
pp_data->cap[116]->NextBytePosition             = 0x0042
pp_data->cap[116]->LinkCollection               = 0x0003
pp_data->cap[116]->LinkUsagePage                = 0xFF01
pp_data->cap[116]->LinkUsage                    = 0x0080
pp_data->cap[116]->IsMultipleItemsForArray      = 0
pp_data->cap[116]->IsButtonCap                  = 0
pp_data->cap[116]->IsPadding                    = 0
pp_data->cap[116]->IsAbsolute                   = 1
pp_data->cap[116]->IsRange                      = 0
pp_data->cap[116]->IsAlias                      = 0
pp_data->cap[116]->IsStringRange                = 0
pp_data->cap[116]->IsDesignatorRange            = 0
pp_data->cap[116]->Reserved1                    = 0x000000
pp_data->cap[116]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[116]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[116]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[116]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[116]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[116]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[116]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[116]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[116]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[116]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[116]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[116]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[116]->NotRange.Usage                        = 0x0081
pp_data->cap[116]->NotRange.Reserved1                    = 0x0081
pp_data->cap[116]->NotRange.StringIndex                  = 0
pp_data->cap[116]->NotRange.Reserved2                    = 0
pp_data->cap[116]->NotRange.DesignatorIndex              = 0
pp_data->cap[116]->NotRange.Reserved3                    = 0
pp_data->cap[116]->NotRange.DataIndex                    = 29
pp_data->cap[116]->NotRange.Reserved4                    = 29
pp_data->cap[116]->NotButton.HasNull                   = 0
pp_data->cap[116]->NotButton.Reserved4                 = 0x000000
pp_data->cap[116]->NotButton.LogicalMin                = 0
pp_data->cap[116]->NotButton.LogicalMax                = 127
pp_data->cap[116]->NotButton.PhysicalMin               = 0
pp_data->cap[116]->NotButton.PhysicalMax               = 0
pp_data->cap[116]->Units                    = 0
pp_data->cap[116]->UnitsExp                 = 0

pp_data->cap[117]->UsagePage                    = 0xFF01
pp_data->cap[117]->ReportID                     = 0x80
pp_data->cap[117]->BitPosition                  = 0
pp_data->cap[117]->BitSize                      = 8
pp_data->cap[117]->ReportCount                  = 1
pp_data->cap[117]->BytePosition                 = 0x0040
pp_data->cap[117]->BitCount                     = 8
pp_data->cap[117]->BitField                     = 0x02
pp_data->cap[117]->NextBytePosition             = 0x0041
pp_data->cap[117]->LinkCollection               = 0x0003
pp_data->cap[117]->LinkUsagePage                = 0xFF01
pp_data->cap[117]->LinkUsage                    = 0x0080
pp_data->cap[117]->IsMultipleItemsForArray      = 0
pp_data->cap[117]->IsButtonCap                  = 0
pp_data->cap[117]->IsPadding                    = 0
pp_data->cap[117]->IsAbsolute                   = 1
pp_data->cap[117]->IsRange                      = 0
pp_data->cap[117]->IsAlias                      = 0
pp_data->cap[117]->IsStringRange                = 0
pp_data->cap[117]->IsDesignatorRange            = 0
pp_data->cap[117]->Reserved1                    = 0x000000
pp_data->cap[117]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[117]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[117]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[117]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[117]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[117]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[117]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[117]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[117]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[117]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[117]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[117]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[117]->NotRange.Usage                        = 0x0081
pp_data->cap[117]->NotRange.Reserved1                    = 0x0081
pp_data->cap[117]->NotRange.StringIndex                  = 0
pp_data->cap[117]->NotRange.Reserved2                    = 0
pp_data->cap[117]->NotRange.DesignatorIndex              = 0
pp_data->cap[117]->NotRange.Reserved3                    = 0
pp_data->cap[117]->NotRange.DataIndex                    = 30
pp_data->cap[117]->NotRange.Reserved4                    = 30
pp_data->cap[117]->NotButton.HasNull                   = 0
pp_data->cap[117]->NotButton.Reserved4                 = 0x000000
pp_data->cap[117]->NotButton.LogicalMin                = 0
pp_data->cap[117]->NotButton.LogicalMax                = 127
pp_data->cap[117]->NotButton.PhysicalMin               = 0
pp_data->cap[117]->NotButton.PhysicalMax               = 0
pp_data->cap[117]->Units                    = 0
pp_data->cap[117]->UnitsExp                 = 0

pp_data->cap[118]->UsagePage                    = 0xFF01
pp_data->cap[118]->ReportID                     = 0x80
pp_data->cap[118]->BitPosition                  = 0
pp_data->cap[118]->BitSize                      = 8
pp_data->cap[118]->ReportCount                  = 1
pp_data->cap[118]->BytePosition                 = 0x003F
pp_data->cap[118]->BitCount                     = 8
pp_data->cap[118]->BitField                     = 0x02
pp_data->cap[118]->NextBytePosition             = 0x0040
pp_data->cap[118]->LinkCollection               = 0x0003
pp_data->cap[118]->LinkUsagePage                = 0xFF01
pp_data->cap[118]->LinkUsage                    = 0x0080
pp_data->cap[118]->IsMultipleItemsForArray      = 0
pp_data->cap[118]->IsButtonCap                  = 0
pp_data->cap[118]->IsPadding                    = 0
pp_data->cap[118]->IsAbsolute                   = 1
pp_data->cap[118]->IsRange                      = 0
pp_data->cap[118]->IsAlias                      = 0
pp_data->cap[118]->IsStringRange                = 0
pp_data->cap[118]->IsDesignatorRange            = 0
pp_data->cap[118]->Reserved1                    = 0x000000
pp_data->cap[118]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[118]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[118]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[118]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[118]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[118]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[118]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[118]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[118]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[118]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[118]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[118]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[118]->NotRange.Usage                        = 0x0081
pp_data->cap[118]->NotRange.Reserved1                    = 0x0081
pp_data->cap[118]->NotRange.StringIndex                  = 0
pp_data->cap[118]->NotRange.Reserved2                    = 0
pp_data->cap[118]->NotRange.DesignatorIndex              = 0
pp_data->cap[118]->NotRange.Reserved3                    = 0
pp_data->cap[118]->NotRange.DataIndex                    = 31
pp_data->cap[118]->NotRange.Reserved4                    = 31
pp_data->cap[118]->NotButton.HasNull                   = 0
pp_data->cap[118]->NotButton.Reserved4                 = 0x000000
pp_data->cap[118]->NotButton.LogicalMin                = 0
pp_data->cap[118]->NotButton.LogicalMax                = 127
pp_data->cap[118]->NotButton.PhysicalMin               = 0
pp_data->cap[118]->NotButton.PhysicalMax               = 0
pp_data->cap[118]->Units                    = 0
pp_data->cap[118]->UnitsExp                 = 0

pp_data->cap[119]->UsagePage                    = 0xFF01
pp_data->cap[119]->ReportID                     = 0x80
pp_data->cap[119]->BitPosition                  = 0
pp_data->cap[119]->BitSize                      = 8
pp_data->cap[119]->ReportCount                  = 1
pp_data->cap[119]->BytePosition                 = 0x003E
pp_data->cap[119]->BitCount                     = 8
pp_data->cap[119]->BitField                     = 0x02
pp_data->cap[119]->NextBytePosition             = 0x003F
pp_data->cap[119]->LinkCollection               = 0x0003
pp_data->cap[119]->LinkUsagePage                = 0xFF01
pp_data->cap[119]->LinkUsage                    = 0x0080
pp_data->cap[119]->IsMultipleItemsForArray      = 0
pp_data->cap[119]->IsButtonCap                  = 0
pp_data->cap[119]->IsPadding                    = 0
pp_data->cap[119]->IsAbsolute                   = 1
pp_data->cap[119]->IsRange                      = 0
pp_data->cap[119]->IsAlias                      = 0
pp_data->cap[119]->IsStringRange                = 0
pp_data->cap[119]->IsDesignatorRange            = 0
pp_data->cap[119]->Reserved1                    = 0x000000
pp_data->cap[119]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[119]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[119]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[119]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[119]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[119]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[119]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[119]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[119]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[119]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[119]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[119]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[119]->NotRange.Usage                        = 0x0081
pp_data->cap[119]->NotRange.Reserved1                    = 0x0081
pp_data->cap[119]->NotRange.StringIndex                  = 0
pp_data->cap[119]->NotRange.Reserved2                    = 0
pp_data->cap[119]->NotRange.DesignatorIndex              = 0
pp_data->cap[119]->NotRange.Reserved3                    = 0
pp_data->cap[119]->NotRange.DataIndex                    = 32
pp_data->cap[119]->NotRange.Reserved4                    = 32
pp_data->cap[119]->NotButton.HasNull                   = 0
pp_data->cap[119]->NotButton.Reserved4                 = 0x000000
pp_data->cap[119]->NotButton.LogicalMin                = 0
pp_data->cap[119]->NotButton.LogicalMax                = 127
pp_data->cap[119]->NotButton.PhysicalMin               = 0
pp_data->cap[119]->NotButton.PhysicalMax               = 0
pp_data->cap[119]->Units                    = 0
pp_data->cap[119]->UnitsExp                 = 0

pp_data->cap[120]->UsagePage                    = 0xFF01
pp_data->cap[120]->ReportID                     = 0x80
pp_data->cap[120]->BitPosition                  = 0
pp_data->cap[120]->BitSize                      = 8
pp_data->cap[120]->ReportCount                  = 1
pp_data->cap[120]->BytePosition                 = 0x003D
pp_data->cap[120]->BitCount                     = 8
pp_data->cap[120]->BitField                     = 0x02
pp_data->cap[120]->NextBytePosition             = 0x003E
pp_data->cap[120]->LinkCollection               = 0x0003
pp_data->cap[120]->LinkUsagePage                = 0xFF01
pp_data->cap[120]->LinkUsage                    = 0x0080
pp_data->cap[120]->IsMultipleItemsForArray      = 0
pp_data->cap[120]->IsButtonCap                  = 0
pp_data->cap[120]->IsPadding                    = 0
pp_data->cap[120]->IsAbsolute                   = 1
pp_data->cap[120]->IsRange                      = 0
pp_data->cap[120]->IsAlias                      = 0
pp_data->cap[120]->IsStringRange                = 0
pp_data->cap[120]->IsDesignatorRange            = 0
pp_data->cap[120]->Reserved1                    = 0x000000
pp_data->cap[120]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[120]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[120]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[120]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[120]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[120]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[120]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[120]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[120]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[120]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[120]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[120]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[120]->NotRange.Usage                        = 0x0081
pp_data->cap[120]->NotRange.Reserved1                    = 0x0081
pp_data->cap[120]->NotRange.StringIndex                  = 0
pp_data->cap[120]->NotRange.Reserved2                    = 0
pp_data->cap[120]->NotRange.DesignatorIndex              = 0
pp_data->cap[120]->NotRange.Reserved3                    = 0
pp_data->cap[120]->NotRange.DataIndex                    = 33
pp_data->cap[120]->NotRange.Reserved4                    = 33
pp_data->cap[120]->NotButton.HasNull                   = 0
pp_data->cap[120]->NotButton.Reserved4                 = 0x000000
pp_data->cap[120]->NotButton.LogicalMin                = 0
pp_data->cap[120]->NotButton.LogicalMax                = 127
pp_data->cap[120]->NotButton.PhysicalMin               = 0
pp_data->cap[120]->NotButton.PhysicalMax               = 0
pp_data->cap[120]->Units                    = 0
pp_data->cap[120]->UnitsExp                 = 0

pp_data->cap[121]->UsagePage                    = 0xFF01
pp_data->cap[121]->ReportID                     = 0x80
pp_data->cap[121]->BitPosition                  = 0
pp_data->cap[121]->BitSize                      = 8
pp_data->cap[121]->ReportCount                  = 1
pp_data->cap[121]->BytePosition                 = 0x003C
pp_data->cap[121]->BitCount                     = 8
pp_data->cap[121]->BitField                     = 0x02
pp_data->cap[121]->NextBytePosition             = 0x003D
pp_data->cap[121]->LinkCollection               = 0x0003
pp_data->cap[121]->LinkUsagePage                = 0xFF01
pp_data->cap[121]->LinkUsage                    = 0x0080
pp_data->cap[121]->IsMultipleItemsForArray      = 0
pp_data->cap[121]->IsButtonCap                  = 0
pp_data->cap[121]->IsPadding                    = 0
pp_data->cap[121]->IsAbsolute                   = 1
pp_data->cap[121]->IsRange                      = 0
pp_data->cap[121]->IsAlias                      = 0
pp_data->cap[121]->IsStringRange                = 0
pp_data->cap[121]->IsDesignatorRange            = 0
pp_data->cap[121]->Reserved1                    = 0x000000
pp_data->cap[121]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[121]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[121]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[121]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[121]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[121]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[121]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[121]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[121]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[121]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[121]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[121]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[121]->NotRange.Usage                        = 0x0081
pp_data->cap[121]->NotRange.Reserved1                    = 0x0081
pp_data->cap[121]->NotRange.StringIndex                  = 0
pp_data->cap[121]->NotRange.Reserved2                    = 0
pp_data->cap[121]->NotRange.DesignatorIndex              = 0
pp_data->cap[121]->NotRange.Reserved3                    = 0
pp_data->cap[121]->NotRange.DataIndex                    = 34
pp_data->cap[121]->NotRange.Reserved4                    = 34
pp_data->cap[121]->NotButton.HasNull                   = 0
pp_data->cap[121]->NotButton.Reserved4                 = 0x000000
pp_data->cap[121]->NotButton.LogicalMin                = 0
pp_data->cap[121]->NotButton.LogicalMax                = 127
pp_data->cap[121]->NotButton.PhysicalMin               = 0
pp_data->cap[121]->NotButton.PhysicalMax               = 0
pp_data->cap[121]->Units                    = 0
pp_data->cap[121]->UnitsExp                 = 0

pp_data->cap[122]->UsagePage                    = 0xFF01
pp_data->cap[122]->ReportID                     = 0x80
pp_data->cap[122]->BitPosition                  = 0
pp_data->cap[122]->BitSize                      = 8
pp_data->cap[122]->ReportCount                  = 1
pp_data->cap[122]->BytePosition                 = 0x003B
pp_data->cap[122]->BitCount                     = 8
pp_data->cap[122]->BitField                     = 0x02
pp_data->cap[122]->NextBytePosition             = 0x003C
pp_data->cap[122]->LinkCollection               = 0x0003
pp_data->cap[122]->LinkUsagePage                = 0xFF01
pp_data->cap[122]->LinkUsage                    = 0x0080
pp_data->cap[122]->IsMultipleItemsForArray      = 0
pp_data->cap[122]->IsButtonCap                  = 0
pp_data->cap[122]->IsPadding                    = 0
pp_data->cap[122]->IsAbsolute                   = 1
pp_data->cap[122]->IsRange                      = 0
pp_data->cap[122]->IsAlias                      = 0
pp_data->cap[122]->IsStringRange                = 0
pp_data->cap[122]->IsDesignatorRange            = 0
pp_data->cap[122]->Reserved1                    = 0x000000
pp_data->cap[122]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[122]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[122]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[122]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[122]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[122]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[122]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[122]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[122]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[122]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[122]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[122]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[122]->NotRange.Usage                        = 0x0081
pp_data->cap[122]->NotRange.Reserved1                    = 0x0081
pp_data->cap[122]->NotRange.StringIndex                  = 0
pp_data->cap[122]->NotRange.Reserved2                    = 0
pp_data->cap[122]->NotRange.DesignatorIndex              = 0
pp_data->cap[122]->NotRange.Reserved3                    = 0
pp_data->cap[122]->NotRange.DataIndex                    = 35
pp_data->cap[122]->NotRange.Reserved4                    = 35
pp_data->cap[122]->NotButton.HasNull                   = 0
pp_data->cap[122]->NotButton.Reserved4                 = 0x000000
pp_data->cap[122]->NotButton.LogicalMin                = 0
pp_data->cap[122]->NotButton.LogicalMax                = 127
pp_data->cap[122]->NotButton.PhysicalMin               = 0
pp_data->cap[122]->NotButton.PhysicalMax               = 0
pp_data->cap[122]->Units                    = 0
pp_data->cap[122]->UnitsExp                 = 0

pp_data->cap[123]->UsagePage                    = 0xFF01
pp_data->cap[123]->ReportID                     = 0x80
pp_data->cap[123]->BitPosition                  = 0
pp_data->cap[123]->BitSize                      = 8
pp_data->cap[123]->ReportCount                  = 1
pp_data->cap[123]->BytePosition                 = 0x003A
pp_data->cap[123]->BitCount                     = 8
pp_data->cap[123]->BitField                     = 0x02
pp_data->cap[123]->NextBytePosition             = 0x003B
pp_data->cap[123]->LinkCollection               = 0x0003
pp_data->cap[123]->LinkUsagePage                = 0xFF01
pp_data->cap[123]->LinkUsage                    = 0x0080
pp_data->cap[123]->IsMultipleItemsForArray      = 0
pp_data->cap[123]->IsButtonCap                  = 0
pp_data->cap[123]->IsPadding                    = 0
pp_data->cap[123]->IsAbsolute                   = 1
pp_data->cap[123]->IsRange                      = 0
pp_data->cap[123]->IsAlias                      = 0
pp_data->cap[123]->IsStringRange                = 0
pp_data->cap[123]->IsDesignatorRange            = 0
pp_data->cap[123]->Reserved1                    = 0x000000
pp_data->cap[123]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[123]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[123]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[123]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[123]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[123]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[123]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[123]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[123]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[123]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[123]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[123]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[123]->NotRange.Usage                        = 0x0081
pp_data->cap[123]->NotRange.Reserved1                    = 0x0081
pp_data->cap[123]->NotRange.StringIndex                  = 0
pp_data->cap[123]->NotRange.Reserved2                    = 0
pp_data->cap[123]->NotRange.DesignatorIndex              = 0
pp_data->cap[123]->NotRange.Reserved3                    = 0
pp_data->cap[123]->NotRange.DataIndex                    = 36
pp_data->cap[123]->NotRange.Reserved4                    = 36
pp_data->cap[123]->NotButton.HasNull                   = 0
pp_data->cap[123]->NotButton.Reserved4                 = 0x000000
pp_data->cap[123]->NotButton.LogicalMin                = 0
pp_data->cap[123]->NotButton.LogicalMax                = 127
pp_data->cap[123]->NotButton.PhysicalMin               = 0
pp_data->cap[123]->NotButton.PhysicalMax               = 0
pp_data->cap[123]->Units                    = 0
pp_data->cap[123]->UnitsExp                 = 0

pp_data->cap[124]->UsagePage                    = 0xFF01
pp_data->cap[124]->ReportID                     = 0x80
pp_data->cap[124]->BitPosition                  = 0
pp_data->cap[124]->BitSize                      = 8
pp_data->cap[124]->ReportCount                  = 1
pp_data->cap[124]->BytePosition                 = 0x0039
pp_data->cap[124]->BitCount                     = 8
pp_data->cap[124]->BitField                     = 0x02
pp_data->cap[124]->NextBytePosition             = 0x003A
pp_data->cap[124]->LinkCollection               = 0x0003
pp_data->cap[124]->LinkUsagePage                = 0xFF01
pp_data->cap[124]->LinkUsage                    = 0x0080
pp_data->cap[124]->IsMultipleItemsForArray      = 0
pp_data->cap[124]->IsButtonCap                  = 0
pp_data->cap[124]->IsPadding                    = 0
pp_data->cap[124]->IsAbsolute                   = 1
pp_data->cap[124]->IsRange                      = 0
pp_data->cap[124]->IsAlias                      = 0
pp_data->cap[124]->IsStringRange                = 0
pp_data->cap[124]->IsDesignatorRange            = 0
pp_data->cap[124]->Reserved1                    = 0x000000
pp_data->cap[124]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[124]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[124]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[124]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[124]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[124]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[124]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[124]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[124]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[124]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[124]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[124]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[124]->NotRange.Usage                        = 0x0081
pp_data->cap[124]->NotRange.Reserved1                    = 0x0081
pp_data->cap[124]->NotRange.StringIndex                  = 0
pp_data->cap[124]->NotRange.Reserved2                    = 0
pp_data->cap[124]->NotRange.DesignatorIndex              = 0
pp_data->cap[124]->NotRange.Reserved3                    = 0
pp_data->cap[124]->NotRange.DataIndex                    = 37
pp_data->cap[124]->NotRange.Reserved4                    = 37
pp_data->cap[124]->NotButton.HasNull                   = 0
pp_data->cap[124]->NotButton.Reserved4                 = 0x000000
pp_data->cap[124]->NotButton.LogicalMin                = 0
pp_data->cap[124]->NotButton.LogicalMax                = 127
pp_data->cap[124]->NotButton.PhysicalMin               = 0
pp_data->cap[124]->NotButton.PhysicalMax               = 0
pp_data->cap[124]->Units                    = 0
pp_data->cap[124]->UnitsExp                 = 0

pp_data->cap[125]->UsagePage                    = 0xFF01
pp_data->cap[125]->ReportID                     = 0x80
pp_data->cap[125]->BitPosition                  = 0
pp_data->cap[125]->BitSize                      = 8
pp_data->cap[125]->ReportCount                  = 1
pp_data->cap[125]->BytePosition                 = 0x0038
pp_data->cap[125]->BitCount                     = 8
pp_data->cap[125]->BitField                     = 0x02
pp_data->cap[125]->NextBytePosition             = 0x0039
pp_data->cap[125]->LinkCollection               = 0x0003
pp_data->cap[125]->LinkUsagePage                = 0xFF01
pp_data->cap[125]->LinkUsage                    = 0x0080
pp_data->cap[125]->IsMultipleItemsForArray      = 0
pp_data->cap[125]->IsButtonCap                  = 0
pp_data->cap[125]->IsPadding                    = 0
pp_data->cap[125]->IsAbsolute                   = 1
pp_data->cap[125]->IsRange                      = 0
pp_data->cap[125]->IsAlias                      = 0
pp_data->cap[125]->IsStringRange                = 0
pp_data->cap[125]->IsDesignatorRange            = 0
pp_data->cap[125]->Reserved1                    = 0x000000
pp_data->cap[125]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[125]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[125]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[125]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[125]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[125]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[125]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[125]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[125]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[125]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[125]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[125]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[125]->NotRange.Usage                        = 0x0081
pp_data->cap[125]->NotRange.Reserved1                    = 0x0081
pp_data->cap[125]->NotRange.StringIndex                  = 0
pp_data->cap[125]->NotRange.Reserved2                    = 0
pp_data->cap[125]->NotRange.DesignatorIndex              = 0
pp_data->cap[125]->NotRange.Reserved3                    = 0
pp_data->cap[125]->NotRange.DataIndex                    = 38
pp_data->cap[125]->NotRange.Reserved4                    = 38
pp_data->cap[125]->NotButton.HasNull                   = 0
pp_data->cap[125]->NotButton.Reserved4                 = 0x000000
pp_data->cap[125]->NotButton.LogicalMin                = 0
pp_data->cap[125]->NotButton.LogicalMax                = 127
pp_data->cap[125]->NotButton.PhysicalMin               = 0
pp_data->cap[125]->NotButton.PhysicalMax               = 0
pp_data->cap[125]->Units                    = 0
pp_data->cap[125]->UnitsExp                 = 0

pp_data->cap[126]->UsagePage                    = 0xFF01
pp_data->cap[126]->ReportID                     = 0x80
pp_data->cap[126]->BitPosition                  = 0
pp_data->cap[126]->BitSize                      = 8
pp_data->cap[126]->ReportCount                  = 1
pp_data->cap[126]->BytePosition                 = 0x0037
pp_data->cap[126]->BitCount                     = 8
pp_data->cap[126]->BitField                     = 0x02
pp_data->cap[126]->NextBytePosition             = 0x0038
pp_data->cap[126]->LinkCollection               = 0x0003
pp_data->cap[126]->LinkUsagePage                = 0xFF01
pp_data->cap[126]->LinkUsage                    = 0x0080
pp_data->cap[126]->IsMultipleItemsForArray      = 0
pp_data->cap[126]->IsButtonCap                  = 0
pp_data->cap[126]->IsPadding                    = 0
pp_data->cap[126]->IsAbsolute                   = 1
pp_data->cap[126]->IsRange                      = 0
pp_data->cap[126]->IsAlias                      = 0
pp_data->cap[126]->IsStringRange                = 0
pp_data->cap[126]->IsDesignatorRange            = 0
pp_data->cap[126]->Reserved1                    = 0x000000
pp_data->cap[126]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[126]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[126]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[126]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[126]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[126]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[126]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[126]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[126]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[126]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[126]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[126]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[126]->NotRange.Usage                        = 0x0081
pp_data->cap[126]->NotRange.Reserved1                    = 0x0081
pp_data->cap[126]->NotRange.StringIndex                  = 0
pp_data->cap[126]->NotRange.Reserved2                    = 0
pp_data->cap[126]->NotRange.DesignatorIndex              = 0
pp_data->cap[126]->NotRange.Reserved3                    = 0
pp_data->cap[126]->NotRange.DataIndex                    = 39
pp_data->cap[126]->NotRange.Reserved4                    = 39
pp_data->cap[126]->NotButton.HasNull                   = 0
pp_data->cap[126]->NotButton.Reserved4                 = 0x000000
pp_data->cap[126]->NotButton.LogicalMin                = 0
pp_data->cap[126]->NotButton.LogicalMax                = 127
pp_data->cap[126]->NotButton.PhysicalMin               = 0
pp_data->cap[126]->NotButton.PhysicalMax               = 0
pp_data->cap[126]->Units                    = 0
pp_data->cap[126]->UnitsExp                 = 0

pp_data->cap[127]->UsagePage                    = 0xFF01
pp_data->cap[127]->ReportID                     = 0x80
pp_data->cap[127]->BitPosition                  = 0
pp_data->cap[127]->BitSize                      = 8
pp_data->cap[127]->ReportCount                  = 1
pp_data->cap[127]->BytePosition                 = 0x0036
pp_data->cap[127]->BitCount                     = 8
pp_data->cap[127]->BitField                     = 0x02
pp_data->cap[127]->NextBytePosition             = 0x0037
pp_data->cap[127]->LinkCollection               = 0x0003
pp_data->cap[127]->LinkUsagePage                = 0xFF01
pp_data->cap[127]->LinkUsage                    = 0x0080
pp_data->cap[127]->IsMultipleItemsForArray      = 0
pp_data->cap[127]->IsButtonCap                  = 0
pp_data->cap[127]->IsPadding                    = 0
pp_data->cap[127]->IsAbsolute                   = 1
pp_data->cap[127]->IsRange                      = 0
pp_data->cap[127]->IsAlias                      = 0
pp_data->cap[127]->IsStringRange                = 0
pp_data->cap[127]->IsDesignatorRange            = 0
pp_data->cap[127]->Reserved1                    = 0x000000
pp_data->cap[127]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[127]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[127]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[127]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[127]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[127]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[127]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[127]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[127]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[127]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[127]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[127]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[127]->NotRange.Usage                        = 0x0081
pp_data->cap[127]->NotRange.Reserved1                    = 0x0081
pp_data->cap[127]->NotRange.StringIndex                  = 0
pp_data->cap[127]->NotRange.Reserved2                    = 0
pp_data->cap[127]->NotRange.DesignatorIndex              = 0
pp_data->cap[127]->NotRange.Reserved3                    = 0
pp_data->cap[127]->NotRange.DataIndex                    = 40
pp_data->cap[127]->NotRange.Reserved4                    = 40
pp_data->cap[127]->NotButton.HasNull                   = 0
pp_data->cap[127]->NotButton.Reserved4                 = 0x000000
pp_data->cap[127]->NotButton.LogicalMin                = 0
pp_data->cap[127]->NotButton.LogicalMax                = 127
pp_data->cap[127]->NotButton.PhysicalMin               = 0
pp_data->cap[127]->NotButton.PhysicalMax               = 0
pp_data->cap[127]->Units                    = 0
pp_data->cap[127]->UnitsExp                 = 0

pp_data->cap[128]->UsagePage                    = 0xFF01
pp_data->cap[128]->ReportID                     = 0x80
pp_data->cap[128]->BitPosition                  = 0
pp_data->cap[128]->BitSize                      = 8
pp_data->cap[128]->ReportCount                  = 1
pp_data->cap[128]->BytePosition                 = 0x0035
pp_data->cap[128]->BitCount                     = 8
pp_data->cap[128]->BitField                     = 0x02
pp_data->cap[128]->NextBytePosition             = 0x0036
pp_data->cap[128]->LinkCollection               = 0x0003
pp_data->cap[128]->LinkUsagePage                = 0xFF01
pp_data->cap[128]->LinkUsage                    = 0x0080
pp_data->cap[128]->IsMultipleItemsForArray      = 0
pp_data->cap[128]->IsButtonCap                  = 0
pp_data->cap[128]->IsPadding                    = 0
pp_data->cap[128]->IsAbsolute                   = 1
pp_data->cap[128]->IsRange                      = 0
pp_data->cap[128]->IsAlias                      = 0
pp_data->cap[128]->IsStringRange                = 0
pp_data->cap[128]->IsDesignatorRange            = 0
pp_data->cap[128]->Reserved1                    = 0x000000
pp_data->cap[128]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[128]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[128]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[128]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[128]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[128]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[128]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[128]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[128]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[128]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[128]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[128]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[128]->NotRange.Usage                        = 0x0081
pp_data->cap[128]->NotRange.Reserved1                    = 0x0081
pp_data->cap[128]->NotRange.StringIndex                  = 0
pp_data->cap[128]->NotRange.Reserved2                    = 0
pp_data->cap[128]->NotRange.DesignatorIndex              = 0
pp_data->cap[128]->NotRange.Reserved3                    = 0
pp_data->cap[128]->NotRange.DataIndex                    = 41
pp_data->cap[128]->NotRange.Reserved4                    = 41
pp_data->cap[128]->NotButton.HasNull                   = 0
pp_data->cap[128]->NotButton.Reserved4                 = 0x000000
pp_data->cap[128]->NotButton.LogicalMin                = 0
pp_data->cap[128]->NotButton.LogicalMax                = 127
pp_data->cap[128]->NotButton.PhysicalMin               = 0
pp_data->cap[128]->NotButton.PhysicalMax               = 0
pp_data->cap[128]->Units                    = 0
pp_data->cap[128]->UnitsExp                 = 0

pp_data->cap[129]->UsagePage                    = 0xFF01
pp_data->cap[129]->ReportID                     = 0x80
pp_data->cap[129]->BitPosition                  = 0
pp_data->cap[129]->BitSize                      = 8
pp_data->cap[129]->ReportCount                  = 1
pp_data->cap[129]->BytePosition                 = 0x0034
pp_data->cap[129]->BitCount                     = 8
pp_data->cap[129]->BitField                     = 0x02
pp_data->cap[129]->NextBytePosition             = 0x0035
pp_data->cap[129]->LinkCollection               = 0x0003
pp_data->cap[129]->LinkUsagePage                = 0xFF01
pp_data->cap[129]->LinkUsage                    = 0x0080
pp_data->cap[129]->IsMultipleItemsForArray      = 0
pp_data->cap[129]->IsButtonCap                  = 0
pp_data->cap[129]->IsPadding                    = 0
pp_data->cap[129]->IsAbsolute                   = 1
pp_data->cap[129]->IsRange                      = 0
pp_data->cap[129]->IsAlias                      = 0
pp_data->cap[129]->IsStringRange                = 0
pp_data->cap[129]->IsDesignatorRange            = 0
pp_data->cap[129]->Reserved1                    = 0x000000
pp_data->cap[129]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[129]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[129]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[129]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[129]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[129]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[129]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[129]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[129]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[129]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[129]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[129]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[129]->NotRange.Usage                        = 0x0081
pp_data->cap[129]->NotRange.Reserved1                    = 0x0081
pp_data->cap[129]->NotRange.StringIndex                  = 0
pp_data->cap[129]->NotRange.Reserved2                    = 0
pp_data->cap[129]->NotRange.DesignatorIndex              = 0
pp_data->cap[129]->NotRange.Reserved3                    = 0
pp_data->cap[129]->NotRange.DataIndex                    = 42
pp_data->cap[129]->NotRange.Reserved4                    = 42
pp_data->cap[129]->NotButton.HasNull                   = 0
pp_data->cap[129]->NotButton.Reserved4                 = 0x000000
pp_data->cap[129]->NotButton.LogicalMin                = 0
pp_data->cap[129]->NotButton.LogicalMax                = 127
pp_data->cap[129]->NotButton.PhysicalMin               = 0
pp_data->cap[129]->NotButton.PhysicalMax               = 0
pp_data->cap[129]->Units                    = 0
pp_data->cap[129]->UnitsExp                 = 0

pp_data->cap[130]->UsagePage                    = 0xFF01
pp_data->cap[130]->ReportID                     = 0x80
pp_data->cap[130]->BitPosition                  = 0
pp_data->cap[130]->BitSize                      = 8
pp_data->cap[130]->ReportCount                  = 1
pp_data->cap[130]->BytePosition                 = 0x0033
pp_data->cap[130]->BitCount                     = 8
pp_data->cap[130]->BitField                     = 0x02
pp_data->cap[130]->NextBytePosition             = 0x0034
pp_data->cap[130]->LinkCollection               = 0x0003
pp_data->cap[130]->LinkUsagePage                = 0xFF01
pp_data->cap[130]->LinkUsage                    = 0x0080
pp_data->cap[130]->IsMultipleItemsForArray      = 0
pp_data->cap[130]->IsButtonCap                  = 0
pp_data->cap[130]->IsPadding                    = 0
pp_data->cap[130]->IsAbsolute                   = 1
pp_data->cap[130]->IsRange                      = 0
pp_data->cap[130]->IsAlias                      = 0
pp_data->cap[130]->IsStringRange                = 0
pp_data->cap[130]->IsDesignatorRange            = 0
pp_data->cap[130]->Reserved1                    = 0x000000
pp_data->cap[130]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[130]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[130]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[130]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[130]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[130]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[130]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[130]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[130]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[130]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[130]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[130]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[130]->NotRange.Usage                        = 0x0081
pp_data->cap[130]->NotRange.Reserved1                    = 0x0081
pp_data->cap[130]->NotRange.StringIndex                  = 0
pp_data->cap[130]->NotRange.Reserved2                    = 0
pp_data->cap[130]->NotRange.DesignatorIndex              = 0
pp_data->cap[130]->NotRange.Reserved3                    = 0
pp_data->cap[130]->NotRange.DataIndex                    = 43
pp_data->cap[130]->NotRange.Reserved4                    = 43
pp_data->cap[130]->NotButton.HasNull                   = 0
pp_data->cap[130]->NotButton.Reserved4                 = 0x000000
pp_data->cap[130]->NotButton.LogicalMin                = 0
pp_data->cap[130]->NotButton.LogicalMax                = 127
pp_data->cap[130]->NotButton.PhysicalMin               = 0
pp_data->cap[130]->NotButton.PhysicalMax               = 0
pp_data->cap[130]->Units                    = 0
pp_data->cap[130]->UnitsExp                 = 0

pp_data->cap[131]->UsagePage                    = 0xFF01
pp_data->cap[131]->ReportID                     = 0x80
pp_data->cap[131]->BitPosition                  = 0
pp_data->cap[131]->BitSize                      = 8
pp_data->cap[131]->ReportCount                  = 1
pp_data->cap[131]->BytePosition                 = 0x0032
pp_data->cap[131]->BitCount                     = 8
pp_data->cap[131]->BitField                     = 0x02
pp_data->cap[131]->NextBytePosition             = 0x0033
pp_data->cap[131]->LinkCollection               = 0x0003
pp_data->cap[131]->LinkUsagePage                = 0xFF01
pp_data->cap[131]->LinkUsage                    = 0x0080
pp_data->cap[131]->IsMultipleItemsForArray      = 0
pp_data->cap[131]->IsButtonCap                  = 0
pp_data->cap[131]->IsPadding                    = 0
pp_data->cap[131]->IsAbsolute                   = 1
pp_data->cap[131]->IsRange                      = 0
pp_data->cap[131]->IsAlias                      = 0
pp_data->cap[131]->IsStringRange                = 0
pp_data->cap[131]->IsDesignatorRange            = 0
pp_data->cap[131]->Reserved1                    = 0x000000
pp_data->cap[131]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[131]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[131]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[131]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[131]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[131]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[131]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[131]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[131]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[131]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[131]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[131]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[131]->NotRange.Usage                        = 0x0081
pp_data->cap[131]->NotRange.Reserved1                    = 0x0081
pp_data->cap[131]->NotRange.StringIndex                  = 0
pp_data->cap[131]->NotRange.Reserved2                    = 0
pp_data->cap[131]->NotRange.DesignatorIndex              = 0
pp_data->cap[131]->NotRange.Reserved3                    = 0
pp_data->cap[131]->NotRange.DataIndex                    = 44
pp_data->cap[131]->NotRange.Reserved4                    = 44
pp_data->cap[131]->NotButton.HasNull                   = 0
pp_data->cap[131]->NotButton.Reserved4                 = 0x000000
pp_data->cap[131]->NotButton.LogicalMin                = 0
pp_data->cap[131]->NotButton.LogicalMax                = 127
pp_data->cap[131]->NotButton.PhysicalMin               = 0
pp_data->cap[131]->NotButton.PhysicalMax               = 0
pp_data->cap[131]->Units                    = 0
pp_data->cap[131]->UnitsExp                 = 0

pp_data->cap[132]->UsagePage                    = 0xFF01
pp_data->cap[132]->ReportID                     = 0x80
pp_data->cap[132]->BitPosition                  = 0
pp_data->cap[132]->BitSize                      = 8
pp_data->cap[132]->ReportCount                  = 1
pp_data->cap[132]->BytePosition                 = 0x0031
pp_data->cap[132]->BitCount                     = 8
pp_data->cap[132]->BitField                     = 0x02
pp_data->cap[132]->NextBytePosition             = 0x0032
pp_data->cap[132]->LinkCollection               = 0x0003
pp_data->cap[132]->LinkUsagePage                = 0xFF01
pp_data->cap[132]->LinkUsage                    = 0x0080
pp_data->cap[132]->IsMultipleItemsForArray      = 0
pp_data->cap[132]->IsButtonCap                  = 0
pp_data->cap[132]->IsPadding                    = 0
pp_data->cap[132]->IsAbsolute                   = 1
pp_data->cap[132]->IsRange                      = 0
pp_data->cap[132]->IsAlias                      = 0
pp_data->cap[132]->IsStringRange                = 0
pp_data->cap[132]->IsDesignatorRange            = 0
pp_data->cap[132]->Reserved1                    = 0x000000
pp_data->cap[132]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[132]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[132]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[132]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[132]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[132]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[132]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[132]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[132]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[132]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[132]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[132]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[132]->NotRange.Usage                        = 0x0081
pp_data->cap[132]->NotRange.Reserved1                    = 0x0081
pp_data->cap[132]->NotRange.StringIndex                  = 0
pp_data->cap[132]->NotRange.Reserved2                    = 0
pp_data->cap[132]->NotRange.DesignatorIndex              = 0
pp_data->cap[132]->NotRange.Reserved3                    = 0
pp_data->cap[132]->NotRange.DataIndex                    = 45
pp_data->cap[132]->NotRange.Reserved4                    = 45
pp_data->cap[132]->NotButton.HasNull                   = 0
pp_data->cap[132]->NotButton.Reserved4                 = 0x000000
pp_data->cap[132]->NotButton.LogicalMin                = 0
pp_data->cap[132]->NotButton.LogicalMax                = 127
pp_data->cap[132]->NotButton.PhysicalMin               = 0
pp_data->cap[132]->NotButton.PhysicalMax               = 0
pp_data->cap[132]->Units                    = 0
pp_data->cap[132]->UnitsExp                 = 0

pp_data->cap[133]->UsagePage                    = 0xFF01
pp_data->cap[133]->ReportID                     = 0x80
pp_data->cap[133]->BitPosition                  = 0
pp_data->cap[133]->BitSize                      = 8
pp_data->cap[133]->ReportCount                  = 1
pp_data->cap[133]->BytePosition                 = 0x0030
pp_data->cap[133]->BitCount                     = 8
pp_data->cap[133]->BitField                     = 0x02
pp_data->cap[133]->NextBytePosition             = 0x0031
pp_data->cap[133]->LinkCollection               = 0x0003
pp_data->cap[133]->LinkUsagePage                = 0xFF01
pp_data->cap[133]->LinkUsage                    = 0x0080
pp_data->cap[133]->IsMultipleItemsForArray      = 0
pp_data->cap[133]->IsButtonCap                  = 0
pp_data->cap[133]->IsPadding                    = 0
pp_data->cap[133]->IsAbsolute                   = 1
pp_data->cap[133]->IsRange                      = 0
pp_data->cap[133]->IsAlias                      = 0
pp_data->cap[133]->IsStringRange                = 0
pp_data->cap[133]->IsDesignatorRange            = 0
pp_data->cap[133]->Reserved1                    = 0x000000
pp_data->cap[133]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[133]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[133]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[133]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[133]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[133]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[133]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[133]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[133]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[133]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[133]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[133]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[133]->NotRange.Usage                        = 0x0081
pp_data->cap[133]->NotRange.Reserved1                    = 0x0081
pp_data->cap[133]->NotRange.StringIndex                  = 0
pp_data->cap[133]->NotRange.Reserved2                    = 0
pp_data->cap[133]->NotRange.DesignatorIndex              = 0
pp_data->cap[133]->NotRange.Reserved3                    = 0
pp_data->cap[133]->NotRange.DataIndex                    = 46
pp_data->cap[133]->NotRange.Reserved4                    = 46
pp_data->cap[133]->NotButton.HasNull                   = 0
pp_data->cap[133]->NotButton.Reserved4                 = 0x000000
pp_data->cap[133]->NotButton.LogicalMin                = 0
pp_data->cap[133]->NotButton.LogicalMax                = 127
pp_data->cap[133]->NotButton.PhysicalMin               = 0
pp_data->cap[133]->NotButton.PhysicalMax               = 0
pp_data->cap[133]->Units                    = 0
pp_data->cap[133]->UnitsExp                 = 0

pp_data->cap[134]->UsagePage                    = 0xFF01
pp_data->cap[134]->ReportID                     = 0x80
pp_data->cap[134]->BitPosition                  = 0
pp_data->cap[134]->BitSize                      = 8
pp_data->cap[134]->ReportCount                  = 1
pp_data->cap[134]->BytePosition                 = 0x002F
pp_data->cap[134]->BitCount                     = 8
pp_data->cap[134]->BitField                     = 0x02
pp_data->cap[134]->NextBytePosition             = 0x0030
pp_data->cap[134]->LinkCollection               = 0x0003
pp_data->cap[134]->LinkUsagePage                = 0xFF01
pp_data->cap[134]->LinkUsage                    = 0x0080
pp_data->cap[134]->IsMultipleItemsForArray      = 0
pp_data->cap[134]->IsButtonCap                  = 0
pp_data->cap[134]->IsPadding                    = 0
pp_data->cap[134]->IsAbsolute                   = 1
pp_data->cap[134]->IsRange                      = 0
pp_data->cap[134]->IsAlias                      = 0
pp_data->cap[134]->IsStringRange                = 0
pp_data->cap[134]->IsDesignatorRange            = 0
pp_data->cap[134]->Reserved1                    = 0x000000
pp_data->cap[134]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[134]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[134]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[134]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[134]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[134]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[134]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[134]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[134]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[134]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[134]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[134]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[134]->NotRange.Usage                        = 0x0081
pp_data->cap[134]->NotRange.Reserved1                    = 0x0081
pp_data->cap[134]->NotRange.StringIndex                  = 0
pp_data->cap[134]->NotRange.Reserved2                    = 0
pp_data->cap[134]->NotRange.DesignatorIndex              = 0
pp_data->cap[134]->NotRange.Reserved3                    = 0
pp_data->cap[134]->NotRange.DataIndex                    = 47
pp_data->cap[134]->NotRange.Reserved4                    = 47
pp_data->cap[134]->NotButton.HasNull                   = 0
pp_data->cap[134]->NotButton.Reserved4                 = 0x000000
pp_data->cap[134]->NotButton.LogicalMin                = 0
pp_data->cap[134]->NotButton.LogicalMax                = 127
pp_data->cap[134]->NotButton.PhysicalMin               = 0
pp_data->cap[134]->NotButton.PhysicalMax               = 0
pp_data->cap[134]->Units                    = 0
pp_data->cap[134]->UnitsExp                 = 0

pp_data->cap[135]->UsagePage                    = 0xFF01
pp_data->cap[135]->ReportID                     = 0x80
pp_data->cap[135]->BitPosition                  = 0
pp_data->cap[135]->BitSize                      = 8
pp_data->cap[135]->ReportCount                  = 1
pp_data->cap[135]->BytePosition                 = 0x002E
pp_data->cap[135]->BitCount                     = 8
pp_data->cap[135]->BitField                     = 0x02
pp_data->cap[135]->NextBytePosition             = 0x002F
pp_data->cap[135]->LinkCollection               = 0x0003
pp_data->cap[135]->LinkUsagePage                = 0xFF01
pp_data->cap[135]->LinkUsage                    = 0x0080
pp_data->cap[135]->IsMultipleItemsForArray      = 0
pp_data->cap[135]->IsButtonCap                  = 0
pp_data->cap[135]->IsPadding                    = 0
pp_data->cap[135]->IsAbsolute                   = 1
pp_data->cap[135]->IsRange                      = 0
pp_data->cap[135]->IsAlias                      = 0
pp_data->cap[135]->IsStringRange                = 0
pp_data->cap[135]->IsDesignatorRange            = 0
pp_data->cap[135]->Reserved1                    = 0x000000
pp_data->cap[135]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[135]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[135]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[135]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[135]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[135]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[135]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[135]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[135]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[135]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[135]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[135]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[135]->NotRange.Usage                        = 0x0081
pp_data->cap[135]->NotRange.Reserved1                    = 0x0081
pp_data->cap[135]->NotRange.StringIndex                  = 0
pp_data->cap[135]->NotRange.Reserved2                    = 0
pp_data->cap[135]->NotRange.DesignatorIndex              = 0
pp_data->cap[135]->NotRange.Reserved3                    = 0
pp_data->cap[135]->NotRange.DataIndex                    = 48
pp_data->cap[135]->NotRange.Reserved4                    = 48
pp_data->cap[135]->NotButton.HasNull                   = 0
pp_data->cap[135]->NotButton.Reserved4                 = 0x000000
pp_data->cap[135]->NotButton.LogicalMin                = 0
pp_data->cap[135]->NotButton.LogicalMax                = 127
pp_data->cap[135]->NotButton.PhysicalMin               = 0
pp_data->cap[135]->NotButton.PhysicalMax               = 0
pp_data->cap[135]->Units                    = 0
pp_data->cap[135]->UnitsExp                 = 0

pp_data->cap[136]->UsagePage                    = 0xFF01
pp_data->cap[136]->ReportID                     = 0x80
pp_data->cap[136]->BitPosition                  = 0
pp_data->cap[136]->BitSize                      = 8
pp_data->cap[136]->ReportCount                  = 1
pp_data->cap[136]->BytePosition                 = 0x002D
pp_data->cap[136]->BitCount                     = 8
pp_data->cap[136]->BitField                     = 0x02
pp_data->cap[136]->NextBytePosition             = 0x002E
pp_data->cap[136]->LinkCollection               = 0x0003
pp_data->cap[136]->LinkUsagePage                = 0xFF01
pp_data->cap[136]->LinkUsage                    = 0x0080
pp_data->cap[136]->IsMultipleItemsForArray      = 0
pp_data->cap[136]->IsButtonCap                  = 0
pp_data->cap[136]->IsPadding                    = 0
pp_data->cap[136]->IsAbsolute                   = 1
pp_data->cap[136]->IsRange                      = 0
pp_data->cap[136]->IsAlias                      = 0
pp_data->cap[136]->IsStringRange                = 0
pp_data->cap[136]->IsDesignatorRange            = 0
pp_data->cap[136]->Reserved1                    = 0x000000
pp_data->cap[136]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[136]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[136]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[136]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[136]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[136]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[136]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[136]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[136]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[136]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[136]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[136]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[136]->NotRange.Usage                        = 0x0081
pp_data->cap[136]->NotRange.Reserved1                    = 0x0081
pp_data->cap[136]->NotRange.StringIndex                  = 0
pp_data->cap[136]->NotRange.Reserved2                    = 0
pp_data->cap[136]->NotRange.DesignatorIndex              = 0
pp_data->cap[136]->NotRange.Reserved3                    = 0
pp_data->cap[136]->NotRange.DataIndex                    = 49
pp_data->cap[136]->NotRange.Reserved4                    = 49
pp_data->cap[136]->NotButton.HasNull                   = 0
pp_data->cap[136]->NotButton.Reserved4                 = 0x000000
pp_data->cap[136]->NotButton.LogicalMin                = 0
pp_data->cap[136]->NotButton.LogicalMax                = 127
pp_data->cap[136]->NotButton.PhysicalMin               = 0
pp_data->cap[136]->NotButton.PhysicalMax               = 0
pp_data->cap[136]->Units                    = 0
pp_data->cap[136]->UnitsExp                 = 0

pp_data->cap[137]->UsagePage                    = 0xFF01
pp_data->cap[137]->ReportID                     = 0x80
pp_data->cap[137]->BitPosition                  = 0
pp_data->cap[137]->BitSize                      = 8
pp_data->cap[137]->ReportCount                  = 1
pp_data->cap[137]->BytePosition                 = 0x002C
pp_data->cap[137]->BitCount                     = 8
pp_data->cap[137]->BitField                     = 0x02
pp_data->cap[137]->NextBytePosition             = 0x002D
pp_data->cap[137]->LinkCollection               = 0x0003
pp_data->cap[137]->LinkUsagePage                = 0xFF01
pp_data->cap[137]->LinkUsage                    = 0x0080
pp_data->cap[137]->IsMultipleItemsForArray      = 0
pp_data->cap[137]->IsButtonCap                  = 0
pp_data->cap[137]->IsPadding                    = 0
pp_data->cap[137]->IsAbsolute                   = 1
pp_data->cap[137]->IsRange                      = 0
pp_data->cap[137]->IsAlias                      = 0
pp_data->cap[137]->IsStringRange                = 0
pp_data->cap[137]->IsDesignatorRange            = 0
pp_data->cap[137]->Reserved1                    = 0x000000
pp_data->cap[137]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[137]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[137]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[137]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[137]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[137]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[137]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[137]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[137]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[137]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[137]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[137]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[137]->NotRange.Usage                        = 0x0081
pp_data->cap[137]->NotRange.Reserved1                    = 0x0081
pp_data->cap[137]->NotRange.StringIndex                  = 0
pp_data->cap[137]->NotRange.Reserved2                    = 0
pp_data->cap[137]->NotRange.DesignatorIndex              = 0
pp_data->cap[137]->NotRange.Reserved3                    = 0
pp_data->cap[137]->NotRange.DataIndex                    = 50
pp_data->cap[137]->NotRange.Reserved4                    = 50
pp_data->cap[137]->NotButton.HasNull                   = 0
pp_data->cap[137]->NotButton.Reserved4                 = 0x000000
pp_data->cap[137]->NotButton.LogicalMin                = 0
pp_data->cap[137]->NotButton.LogicalMax                = 127
pp_data->cap[137]->NotButton.PhysicalMin               = 0
pp_data->cap[137]->NotButton.PhysicalMax               = 0
pp_data->cap[137]->Units                    = 0
pp_data->cap[137]->UnitsExp                 = 0

pp_data->cap[138]->UsagePage                    = 0xFF01
pp_data->cap[138]->ReportID                     = 0x80
pp_data->cap[138]->BitPosition                  = 0
pp_data->cap[138]->BitSize                      = 8
pp_data->cap[138]->ReportCount                  = 1
pp_data->cap[138]->BytePosition                 = 0x002B
pp_data->cap[138]->BitCount                     = 8
pp_data->cap[138]->BitField                     = 0x02
pp_data->cap[138]->NextBytePosition             = 0x002C
pp_data->cap[138]->LinkCollection               = 0x0003
pp_data->cap[138]->LinkUsagePage                = 0xFF01
pp_data->cap[138]->LinkUsage                    = 0x0080
pp_data->cap[138]->IsMultipleItemsForArray      = 0
pp_data->cap[138]->IsButtonCap                  = 0
pp_data->cap[138]->IsPadding                    = 0
pp_data->cap[138]->IsAbsolute                   = 1
pp_data->cap[138]->IsRange                      = 0
pp_data->cap[138]->IsAlias                      = 0
pp_data->cap[138]->IsStringRange                = 0
pp_data->cap[138]->IsDesignatorRange            = 0
pp_data->cap[138]->Reserved1                    = 0x000000
pp_data->cap[138]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[138]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[138]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[138]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[138]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[138]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[138]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[138]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[138]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[138]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[138]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[138]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[138]->NotRange.Usage                        = 0x0081
pp_data->cap[138]->NotRange.Reserved1                    = 0x0081
pp_data->cap[138]->NotRange.StringIndex                  = 0
pp_data->cap[138]->NotRange.Reserved2                    = 0
pp_data->cap[138]->NotRange.DesignatorIndex              = 0
pp_data->cap[138]->NotRange.Reserved3                    = 0
pp_data->cap[138]->NotRange.DataIndex                    = 51
pp_data->cap[138]->NotRange.Reserved4                    = 51
pp_data->cap[138]->NotButton.HasNull                   = 0
pp_data->cap[138]->NotButton.Reserved4                 = 0x000000
pp_data->cap[138]->NotButton.LogicalMin                = 0
pp_data->cap[138]->NotButton.LogicalMax                = 127
pp_data->cap[138]->NotButton.PhysicalMin               = 0
pp_data->cap[138]->NotButton.PhysicalMax               = 0
pp_data->cap[138]->Units                    = 0
pp_data->cap[138]->UnitsExp                 = 0

pp_data->cap[139]->UsagePage                    = 0xFF01
pp_data->cap[139]->ReportID                     = 0x80
pp_data->cap[139]->BitPosition                  = 0
pp_data->cap[139]->BitSize                      = 8
pp_data->cap[139]->ReportCount                  = 1
pp_data->cap[139]->BytePosition                 = 0x002A
pp_data->cap[139]->BitCount                     = 8
pp_data->cap[139]->BitField                     = 0x02
pp_data->cap[139]->NextBytePosition             = 0x002B
pp_data->cap[139]->LinkCollection               = 0x0003
pp_data->cap[139]->LinkUsagePage                = 0xFF01
pp_data->cap[139]->LinkUsage                    = 0x0080
pp_data->cap[139]->IsMultipleItemsForArray      = 0
pp_data->cap[139]->IsButtonCap                  = 0
pp_data->cap[139]->IsPadding                    = 0
pp_data->cap[139]->IsAbsolute                   = 1
pp_data->cap[139]->IsRange                      = 0
pp_data->cap[139]->IsAlias                      = 0
pp_data->cap[139]->IsStringRange                = 0
pp_data->cap[139]->IsDesignatorRange            = 0
pp_data->cap[139]->Reserved1                    = 0x000000
pp_data->cap[139]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[139]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[139]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[139]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[139]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[139]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[139]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[139]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[139]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[139]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[139]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[139]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[139]->NotRange.Usage                        = 0x0081
pp_data->cap[139]->NotRange.Reserved1                    = 0x0081
pp_data->cap[139]->NotRange.StringIndex                  = 0
pp_data->cap[139]->NotRange.Reserved2                    = 0
pp_data->cap[139]->NotRange.DesignatorIndex              = 0
pp_data->cap[139]->NotRange.Reserved3                    = 0
pp_data->cap[139]->NotRange.DataIndex                    = 52
pp_data->cap[139]->NotRange.Reserved4                    = 52
pp_data->cap[139]->NotButton.HasNull                   = 0
pp_data->cap[139]->NotButton.Reserved4                 = 0x000000
pp_data->cap[139]->NotButton.LogicalMin                = 0
pp_data->cap[139]->NotButton.LogicalMax                = 127
pp_data->cap[139]->NotButton.PhysicalMin               = 0
pp_data->cap[139]->NotButton.PhysicalMax               = 0
pp_data->cap[139]->Units                    = 0
pp_data->cap[139]->UnitsExp                 = 0

pp_data->cap[140]->UsagePage                    = 0xFF01
pp_data->cap[140]->ReportID                     = 0x80
pp_data->cap[140]->BitPosition                  = 0
pp_data->cap[140]->BitSize                      = 8
pp_data->cap[140]->ReportCount                  = 1
pp_data->cap[140]->BytePosition                 = 0x0029
pp_data->cap[140]->BitCount                     = 8
pp_data->cap[140]->BitField                     = 0x02
pp_data->cap[140]->NextBytePosition             = 0x002A
pp_data->cap[140]->LinkCollection               = 0x0003
pp_data->cap[140]->LinkUsagePage                = 0xFF01
pp_data->cap[140]->LinkUsage                    = 0x0080
pp_data->cap[140]->IsMultipleItemsForArray      = 0
pp_data->cap[140]->IsButtonCap                  = 0
pp_data->cap[140]->IsPadding                    = 0
pp_data->cap[140]->IsAbsolute                   = 1
pp_data->cap[140]->IsRange                      = 0
pp_data->cap[140]->IsAlias                      = 0
pp_data->cap[140]->IsStringRange                = 0
pp_data->cap[140]->IsDesignatorRange            = 0
pp_data->cap[140]->Reserved1                    = 0x000000
pp_data->cap[140]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[140]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[140]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[140]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[140]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[140]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[140]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[140]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[140]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[140]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[140]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[140]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[140]->NotRange.Usage                        = 0x0081
pp_data->cap[140]->NotRange.Reserved1                    = 0x0081
pp_data->cap[140]->NotRange.StringIndex                  = 0
pp_data->cap[140]->NotRange.Reserved2                    = 0
pp_data->cap[140]->NotRange.DesignatorIndex              = 0
pp_data->cap[140]->NotRange.Reserved3                    = 0
pp_data->cap[140]->NotRange.DataIndex                    = 53
pp_data->cap[140]->NotRange.Reserved4                    = 53
pp_data->cap[140]->NotButton.HasNull                   = 0
pp_data->cap[140]->NotButton.Reserved4                 = 0x000000
pp_data->cap[140]->NotButton.LogicalMin                = 0
pp_data->cap[140]->NotButton.LogicalMax                = 127
pp_data->cap[140]->NotButton.PhysicalMin               = 0
pp_data->cap[140]->NotButton.PhysicalMax               = 0
pp_data->cap[140]->Units                    = 0
pp_data->cap[140]->UnitsExp                 = 0

pp_data->cap[141]->UsagePage                    = 0xFF01
pp_data->cap[141]->ReportID                     = 0x80
pp_data->cap[141]->BitPosition                  = 0
pp_data->cap[141]->BitSize                      = 8
pp_data->cap[141]->ReportCount                  = 1
pp_data->cap[141]->BytePosition                 = 0x0028
pp_data->cap[141]->BitCount                     = 8
pp_data->cap[141]->BitField                     = 0x02
pp_data->cap[141]->NextBytePosition             = 0x0029
pp_data->cap[141]->LinkCollection               = 0x0003
pp_data->cap[141]->LinkUsagePage                = 0xFF01
pp_data->cap[141]->LinkUsage                    = 0x0080
pp_data->cap[141]->IsMultipleItemsForArray      = 0
pp_data->cap[141]->IsButtonCap                  = 0
pp_data->cap[141]->IsPadding                    = 0
pp_data->cap[141]->IsAbsolute                   = 1
pp_data->cap[141]->IsRange                      = 0
pp_data->cap[141]->IsAlias                      = 0
pp_data->cap[141]->IsStringRange                = 0
pp_data->cap[141]->IsDesignatorRange            = 0
pp_data->cap[141]->Reserved1                    = 0x000000
pp_data->cap[141]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[141]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[141]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[141]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[141]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[141]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[141]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[141]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[141]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[141]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[141]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[141]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[141]->NotRange.Usage                        = 0x0081
pp_data->cap[141]->NotRange.Reserved1                    = 0x0081
pp_data->cap[141]->NotRange.StringIndex                  = 0
pp_data->cap[141]->NotRange.Reserved2                    = 0
pp_data->cap[141]->NotRange.DesignatorIndex              = 0
pp_data->cap[141]->NotRange.Reserved3                    = 0
pp_data->cap[141]->NotRange.DataIndex                    = 54
pp_data->cap[141]->NotRange.Reserved4                    = 54
pp_data->cap[141]->NotButton.HasNull                   = 0
pp_data->cap[141]->NotButton.Reserved4                 = 0x000000
pp_data->cap[141]->NotButton.LogicalMin                = 0
pp_data->cap[141]->NotButton.LogicalMax                = 127
pp_data->cap[141]->NotButton.PhysicalMin               = 0
pp_data->cap[141]->NotButton.PhysicalMax               = 0
pp_data->cap[141]->Units                    = 0
pp_data->cap[141]->UnitsExp                 = 0

pp_data->cap[142]->UsagePage                    = 0xFF01
pp_data->cap[142]->ReportID                     = 0x80
pp_data->cap[142]->BitPosition                  = 0
pp_data->cap[142]->BitSize                      = 8
pp_data->cap[142]->ReportCount                  = 1
pp_data->cap[142]->BytePosition                 = 0x0027
pp_data->cap[142]->BitCount                     = 8
pp_data->cap[142]->BitField                     = 0x02
pp_data->cap[142]->NextBytePosition             = 0x0028
pp_data->cap[142]->LinkCollection               = 0x0003
pp_data->cap[142]->LinkUsagePage                = 0xFF01
pp_data->cap[142]->LinkUsage                    = 0x0080
pp_data->cap[142]->IsMultipleItemsForArray      = 0
pp_data->cap[142]->IsButtonCap                  = 0
pp_data->cap[142]->IsPadding                    = 0
pp_data->cap[142]->IsAbsolute                   = 1
pp_data->cap[142]->IsRange                      = 0
pp_data->cap[142]->IsAlias                      = 0
pp_data->cap[142]->IsStringRange                = 0
pp_data->cap[142]->IsDesignatorRange            = 0
pp_data->cap[142]->Reserved1                    = 0x000000
pp_data->cap[142]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[142]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[142]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[142]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[142]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[142]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[142]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[142]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[142]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[142]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[142]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[142]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[142]->NotRange.Usage                        = 0x0081
pp_data->cap[142]->NotRange.Reserved1                    = 0x0081
pp_data->cap[142]->NotRange.StringIndex                  = 0
pp_data->cap[142]->NotRange.Reserved2                    = 0
pp_data->cap[142]->NotRange.DesignatorIndex              = 0
pp_data->cap[142]->NotRange.Reserved3                    = 0
pp_data->cap[142]->NotRange.DataIndex                    = 55
pp_data->cap[142]->NotRange.Reserved4                    = 55
pp_data->cap[142]->NotButton.HasNull                   = 0
pp_data->cap[142]->NotButton.Reserved4                 = 0x000000
pp_data->cap[142]->NotButton.LogicalMin                = 0
pp_data->cap[142]->NotButton.LogicalMax                = 127
pp_data->cap[142]->NotButton.PhysicalMin               = 0
pp_data->cap[142]->NotButton.PhysicalMax               = 0
pp_data->cap[142]->Units                    = 0
pp_data->cap[142]->UnitsExp                 = 0

pp_data->cap[143]->UsagePage                    = 0xFF01
pp_data->cap[143]->ReportID                     = 0x80
pp_data->cap[143]->BitPosition                  = 0
pp_data->cap[143]->BitSize                      = 8
pp_data->cap[143]->ReportCount                  = 1
pp_data->cap[143]->BytePosition                 = 0x0026
pp_data->cap[143]->BitCount                     = 8
pp_data->cap[143]->BitField                     = 0x02
pp_data->cap[143]->NextBytePosition             = 0x0027
pp_data->cap[143]->LinkCollection               = 0x0003
pp_data->cap[143]->LinkUsagePage                = 0xFF01
pp_data->cap[143]->LinkUsage                    = 0x0080
pp_data->cap[143]->IsMultipleItemsForArray      = 0
pp_data->cap[143]->IsButtonCap                  = 0
pp_data->cap[143]->IsPadding                    = 0
pp_data->cap[143]->IsAbsolute                   = 1
pp_data->cap[143]->IsRange                      = 0
pp_data->cap[143]->IsAlias                      = 0
pp_data->cap[143]->IsStringRange                = 0
pp_data->cap[143]->IsDesignatorRange            = 0
pp_data->cap[143]->Reserved1                    = 0x000000
pp_data->cap[143]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[143]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[143]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[143]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[143]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[143]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[143]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[143]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[143]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[143]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[143]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[143]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[143]->NotRange.Usage                        = 0x0081
pp_data->cap[143]->NotRange.Reserved1                    = 0x0081
pp_data->cap[143]->NotRange.StringIndex                  = 0
pp_data->cap[143]->NotRange.Reserved2                    = 0
pp_data->cap[143]->NotRange.DesignatorIndex              = 0
pp_data->cap[143]->NotRange.Reserved3                    = 0
pp_data->cap[143]->NotRange.DataIndex                    = 56
pp_data->cap[143]->NotRange.Reserved4                    = 56
pp_data->cap[143]->NotButton.HasNull                   = 0
pp_data->cap[143]->NotButton.Reserved4                 = 0x000000
pp_data->cap[143]->NotButton.LogicalMin                = 0
pp_data->cap[143]->NotButton.LogicalMax                = 127
pp_data->cap[143]->NotButton.PhysicalMin               = 0
pp_data->cap[143]->NotButton.PhysicalMax               = 0
pp_data->cap[143]->Units                    = 0
pp_data->cap[143]->UnitsExp                 = 0

pp_data->cap[144]->UsagePage                    = 0xFF01
pp_data->cap[144]->ReportID                     = 0x80
pp_data->cap[144]->BitPosition                  = 0
pp_data->cap[144]->BitSize                      = 8
pp_data->cap[144]->ReportCount                  = 1
pp_data->cap[144]->BytePosition                 = 0x0025
pp_data->cap[144]->BitCount                     = 8
pp_data->cap[144]->BitField                     = 0x02
pp_data->cap[144]->NextBytePosition             = 0x0026
pp_data->cap[144]->LinkCollection               = 0x0003
pp_data->cap[144]->LinkUsagePage                = 0xFF01
pp_data->cap[144]->LinkUsage                    = 0x0080
pp_data->cap[144]->IsMultipleItemsForArray      = 0
pp_data->cap[144]->IsButtonCap                  = 0
pp_data->cap[144]->IsPadding                    = 0
pp_data->cap[144]->IsAbsolute                   = 1
pp_data->cap[144]->IsRange                      = 0
pp_data->cap[144]->IsAlias                      = 0
pp_data->cap[144]->IsStringRange                = 0
pp_data->cap[144]->IsDesignatorRange            = 0
pp_data->cap[144]->Reserved1                    = 0x000000
pp_data->cap[144]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[144]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[144]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[144]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[144]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[144]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[144]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[144]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[144]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[144]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[144]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[144]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[144]->NotRange.Usage                        = 0x0081
pp_data->cap[144]->NotRange.Reserved1                    = 0x0081
pp_data->cap[144]->NotRange.StringIndex                  = 0
pp_data->cap[144]->NotRange.Reserved2                    = 0
pp_data->cap[144]->NotRange.DesignatorIndex              = 0
pp_data->cap[144]->NotRange.Reserved3                    = 0
pp_data->cap[144]->NotRange.DataIndex                    = 57
pp_data->cap[144]->NotRange.Reserved4                    = 57
pp_data->cap[144]->NotButton.HasNull                   = 0
pp_data->cap[144]->NotButton.Reserved4                 = 0x000000
pp_data->cap[144]->NotButton.LogicalMin                = 0
pp_data->cap[144]->NotButton.LogicalMax                = 127
pp_data->cap[144]->NotButton.PhysicalMin               = 0
pp_data->cap[144]->NotButton.PhysicalMax               = 0
pp_data->cap[144]->Units                    = 0
pp_data->cap[144]->UnitsExp                 = 0

pp_data->cap[145]->UsagePage                    = 0xFF01
pp_data->cap[145]->ReportID                     = 0x80
pp_data->cap[145]->BitPosition                  = 0
pp_data->cap[145]->BitSize                      = 8
pp_data->cap[145]->ReportCount                  = 1
pp_data->cap[145]->BytePosition                 = 0x0024
pp_data->cap[145]->BitCount                     = 8
pp_data->cap[145]->BitField                     = 0x02
pp_data->cap[145]->NextBytePosition             = 0x0025
pp_data->cap[145]->LinkCollection               = 0x0003
pp_data->cap[145]->LinkUsagePage                = 0xFF01
pp_data->cap[145]->LinkUsage                    = 0x0080
pp_data->cap[145]->IsMultipleItemsForArray      = 0
pp_data->cap[145]->IsButtonCap                  = 0
pp_data->cap[145]->IsPadding                    = 0
pp_data->cap[145]->IsAbsolute                   = 1
pp_data->cap[145]->IsRange                      = 0
pp_data->cap[145]->IsAlias                      = 0
pp_data->cap[145]->IsStringRange                = 0
pp_data->cap[145]->IsDesignatorRange            = 0
pp_data->cap[145]->Reserved1                    = 0x000000
pp_data->cap[145]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[145]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[145]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[145]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[145]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[145]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[145]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[145]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[145]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[145]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[145]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[145]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[145]->NotRange.Usage                        = 0x0081
pp_data->cap[145]->NotRange.Reserved1                    = 0x0081
pp_data->cap[145]->NotRange.StringIndex                  = 0
pp_data->cap[145]->NotRange.Reserved2                    = 0
pp_data->cap[145]->NotRange.DesignatorIndex              = 0
pp_data->cap[145]->NotRange.Reserved3                    = 0
pp_data->cap[145]->NotRange.DataIndex                    = 58
pp_data->cap[145]->NotRange.Reserved4                    = 58
pp_data->cap[145]->NotButton.HasNull                   = 0
pp_data->cap[145]->NotButton.Reserved4                 = 0x000000
pp_data->cap[145]->NotButton.LogicalMin                = 0
pp_data->cap[145]->NotButton.LogicalMax                = 127
pp_data->cap[145]->NotButton.PhysicalMin               = 0
pp_data->cap[145]->NotButton.PhysicalMax               = 0
pp_data->cap[145]->Units                    = 0
pp_data->cap[145]->UnitsExp                 = 0

pp_data->cap[146]->UsagePage                    = 0xFF01
pp_data->cap[146]->ReportID                     = 0x80
pp_data->cap[146]->BitPosition                  = 0
pp_data->cap[146]->BitSize                      = 8
pp_data->cap[146]->ReportCount                  = 1
pp_data->cap[146]->BytePosition                 = 0x0023
pp_data->cap[146]->BitCount                     = 8
pp_data->cap[146]->BitField                     = 0x02
pp_data->cap[146]->NextBytePosition             = 0x0024
pp_data->cap[146]->LinkCollection               = 0x0003
pp_data->cap[146]->LinkUsagePage                = 0xFF01
pp_data->cap[146]->LinkUsage                    = 0x0080
pp_data->cap[146]->IsMultipleItemsForArray      = 0
pp_data->cap[146]->IsButtonCap                  = 0
pp_data->cap[146]->IsPadding                    = 0
pp_data->cap[146]->IsAbsolute                   = 1
pp_data->cap[146]->IsRange                      = 0
pp_data->cap[146]->IsAlias                      = 0
pp_data->cap[146]->IsStringRange                = 0
pp_data->cap[146]->IsDesignatorRange            = 0
pp_data->cap[146]->Reserved1                    = 0x000000
pp_data->cap[146]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[146]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[146]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[146]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[146]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[146]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[146]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[146]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[146]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[146]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[146]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[146]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[146]->NotRange.Usage                        = 0x0081
pp_data->cap[146]->NotRange.Reserved1                    = 0x0081
pp_data->cap[146]->NotRange.StringIndex                  = 0
pp_data->cap[146]->NotRange.Reserved2                    = 0
pp_data->cap[146]->NotRange.DesignatorIndex              = 0
pp_data->cap[146]->NotRange.Reserved3                    = 0
pp_data->cap[146]->NotRange.DataIndex                    = 59
pp_data->cap[146]->NotRange.Reserved4                    = 59
pp_data->cap[146]->NotButton.HasNull                   = 0
pp_data->cap[146]->NotButton.Reserved4                 = 0x000000
pp_data->cap[146]->NotButton.LogicalMin                = 0
pp_data->cap[146]->NotButton.LogicalMax                = 127
pp_data->cap[146]->NotButton.PhysicalMin               = 0
pp_data->cap[146]->NotButton.PhysicalMax               = 0
pp_data->cap[146]->Units                    = 0
pp_data->cap[146]->UnitsExp                 = 0

pp_data->cap[147]->UsagePage                    = 0xFF01
pp_data->cap[147]->ReportID                     = 0x80
pp_data->cap[147]->BitPosition                  = 0
pp_data->cap[147]->BitSize                      = 8
pp_data->cap[147]->ReportCount                  = 1
pp_data->cap[147]->BytePosition                 = 0x0022
pp_data->cap[147]->BitCount                     = 8
pp_data->cap[147]->BitField                     = 0x02
pp_data->cap[147]->NextBytePosition             = 0x0023
pp_data->cap[147]->LinkCollection               = 0x0003
pp_data->cap[147]->LinkUsagePage                = 0xFF01
pp_data->cap[147]->LinkUsage                    = 0x0080
pp_data->cap[147]->IsMultipleItemsForArray      = 0
pp_data->cap[147]->IsButtonCap                  = 0
pp_data->cap[147]->IsPadding                    = 0
pp_data->cap[147]->IsAbsolute                   = 1
pp_data->cap[147]->IsRange                      = 0
pp_data->cap[147]->IsAlias                      = 0
pp_data->cap[147]->IsStringRange                = 0
pp_data->cap[147]->IsDesignatorRange            = 0
pp_data->cap[147]->Reserved1                    = 0x000000
pp_data->cap[147]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[147]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[147]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[147]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[147]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[147]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[147]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[147]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[147]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[147]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[147]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[147]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[147]->NotRange.Usage                        = 0x0081
pp_data->cap[147]->NotRange.Reserved1                    = 0x0081
pp_data->cap[147]->NotRange.StringIndex                  = 0
pp_data->cap[147]->NotRange.Reserved2                    = 0
pp_data->cap[147]->NotRange.DesignatorIndex              = 0
pp_data->cap[147]->NotRange.Reserved3                    = 0
pp_data->cap[147]->NotRange.DataIndex                    = 60
pp_data->cap[147]->NotRange.Reserved4                    = 60
pp_data->cap[147]->NotButton.HasNull                   = 0
pp_data->cap[147]->NotButton.Reserved4                 = 0x000000
pp_data->cap[147]->NotButton.LogicalMin                = 0
pp_data->cap[147]->NotButton.LogicalMax                = 127
pp_data->cap[147]->NotButton.PhysicalMin               = 0
pp_data->cap[147]->NotButton.PhysicalMax               = 0
pp_data->cap[147]->Units                    = 0
pp_data->cap[147]->UnitsExp                 = 0

pp_data->cap[148]->UsagePage                    = 0xFF01
pp_data->cap[148]->ReportID                     = 0x80
pp_data->cap[148]->BitPosition                  = 0
pp_data->cap[148]->BitSize                      = 8
pp_data->cap[148]->ReportCount                  = 1
pp_data->cap[148]->BytePosition                 = 0x0021
pp_data->cap[148]->BitCount                     = 8
pp_data->cap[148]->BitField                     = 0x02
pp_data->cap[148]->NextBytePosition             = 0x0022
pp_data->cap[148]->LinkCollection               = 0x0003
pp_data->cap[148]->LinkUsagePage                = 0xFF01
pp_data->cap[148]->LinkUsage                    = 0x0080
pp_data->cap[148]->IsMultipleItemsForArray      = 0
pp_data->cap[148]->IsButtonCap                  = 0
pp_data->cap[148]->IsPadding                    = 0
pp_data->cap[148]->IsAbsolute                   = 1
pp_data->cap[148]->IsRange                      = 0
pp_data->cap[148]->IsAlias                      = 0
pp_data->cap[148]->IsStringRange                = 0
pp_data->cap[148]->IsDesignatorRange            = 0
pp_data->cap[148]->Reserved1                    = 0x000000
pp_data->cap[148]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[148]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[148]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[148]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[148]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[148]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[148]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[148]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[148]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[148]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[148]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[148]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[148]->NotRange.Usage                        = 0x0081
pp_data->cap[148]->NotRange.Reserved1                    = 0x0081
pp_data->cap[148]->NotRange.StringIndex                  = 0
pp_data->cap[148]->NotRange.Reserved2                    = 0
pp_data->cap[148]->NotRange.DesignatorIndex              = 0
pp_data->cap[148]->NotRange.Reserved3                    = 0
pp_data->cap[148]->NotRange.DataIndex                    = 61
pp_data->cap[148]->NotRange.Reserved4                    = 61
pp_data->cap[148]->NotButton.HasNull                   = 0
pp_data->cap[148]->NotButton.Reserved4                 = 0x000000
pp_data->cap[148]->NotButton.LogicalMin                = 0
pp_data->cap[148]->NotButton.LogicalMax                = 127
pp_data->cap[148]->NotButton.PhysicalMin               = 0
pp_data->cap[148]->NotButton.PhysicalMax               = 0
pp_data->cap[148]->Units                    = 0
pp_data->cap[148]->UnitsExp                 = 0

pp_data->cap[149]->UsagePage                    = 0xFF01
pp_data->cap[149]->ReportID                     = 0x80
pp_data->cap[149]->BitPosition                  = 0
pp_data->cap[149]->BitSize                      = 8
pp_data->cap[149]->ReportCount                  = 1
pp_data->cap[149]->BytePosition                 = 0x0020
pp_data->cap[149]->BitCount                     = 8
pp_data->cap[149]->BitField                     = 0x02
pp_data->cap[149]->NextBytePosition             = 0x0021
pp_data->cap[149]->LinkCollection               = 0x0003
pp_data->cap[149]->LinkUsagePage                = 0xFF01
pp_data->cap[149]->LinkUsage                    = 0x0080
pp_data->cap[149]->IsMultipleItemsForArray      = 0
pp_data->cap[149]->IsButtonCap                  = 0
pp_data->cap[149]->IsPadding                    = 0
pp_data->cap[149]->IsAbsolute                   = 1
pp_data->cap[149]->IsRange                      = 0
pp_data->cap[149]->IsAlias                      = 0
pp_data->cap[149]->IsStringRange                = 0
pp_data->cap[149]->IsDesignatorRange            = 0
pp_data->cap[149]->Reserved1                    = 0x000000
pp_data->cap[149]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[149]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[149]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[149]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[149]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[149]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[149]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[149]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[149]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[149]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[149]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[149]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[149]->NotRange.Usage                        = 0x0081
pp_data->cap[149]->NotRange.Reserved1                    = 0x0081
pp_data->cap[149]->NotRange.StringIndex                  = 0
pp_data->cap[149]->NotRange.Reserved2                    = 0
pp_data->cap[149]->NotRange.DesignatorIndex              = 0
pp_data->cap[149]->NotRange.Reserved3                    = 0
pp_data->cap[149]->NotRange.DataIndex                    = 62
pp_data->cap[149]->NotRange.Reserved4                    = 62
pp_data->cap[149]->NotButton.HasNull                   = 0
pp_data->cap[149]->NotButton.Reserved4                 = 0x000000
pp_data->cap[149]->NotButton.LogicalMin                = 0
pp_data->cap[149]->NotButton.LogicalMax                = 127
pp_data->cap[149]->NotButton.PhysicalMin               = 0
pp_data->cap[149]->NotButton.PhysicalMax               = 0
pp_data->cap[149]->Units                    = 0
pp_data->cap[149]->UnitsExp                 = 0

pp_data->cap[150]->UsagePage                    = 0xFF01
pp_data->cap[150]->ReportID                     = 0x80
pp_data->cap[150]->BitPosition                  = 0
pp_data->cap[150]->BitSize                      = 8
pp_data->cap[150]->ReportCount                  = 1
pp_data->cap[150]->BytePosition                 = 0x001F
pp_data->cap[150]->BitCount                     = 8
pp_data->cap[150]->BitField                     = 0x02
pp_data->cap[150]->NextBytePosition             = 0x0020
pp_data->cap[150]->LinkCollection               = 0x0003
pp_data->cap[150]->LinkUsagePage                = 0xFF01
pp_data->cap[150]->LinkUsage                    = 0x0080
pp_data->cap[150]->IsMultipleItemsForArray      = 0
pp_data->cap[150]->IsButtonCap                  = 0
pp_data->cap[150]->IsPadding                    = 0
pp_data->cap[150]->IsAbsolute                   = 1
pp_data->cap[150]->IsRange                      = 0
pp_data->cap[150]->IsAlias                      = 0
pp_data->cap[150]->IsStringRange                = 0
pp_data->cap[150]->IsDesignatorRange            = 0
pp_data->cap[150]->Reserved1                    = 0x000000
pp_data->cap[150]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[150]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[150]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[150]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[150]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[150]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[150]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[150]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[150]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[150]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[150]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[150]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[150]->NotRange.Usage                        = 0x0081
pp_data->cap[150]->NotRange.Reserved1                    = 0x0081
pp_data->cap[150]->NotRange.StringIndex                  = 0
pp_data->cap[150]->NotRange.Reserved2                    = 0
pp_data->cap[150]->NotRange.DesignatorIndex              = 0
pp_data->cap[150]->NotRange.Reserved3                    = 0
pp_data->cap[150]->NotRange.DataIndex                    = 63
pp_data->cap[150]->NotRange.Reserved4                    = 63
pp_data->cap[150]->NotButton.HasNull                   = 0
pp_data->cap[150]->NotButton.Reserved4                 = 0x000000
pp_data->cap[150]->NotButton.LogicalMin                = 0
pp_data->cap[150]->NotButton.LogicalMax                = 127
pp_data->cap[150]->NotButton.PhysicalMin               = 0
pp_data->cap[150]->NotButton.PhysicalMax               = 0
pp_data->cap[150]->Units                    = 0
pp_data->cap[150]->UnitsExp                 = 0

pp_data->cap[151]->UsagePage                    = 0xFF01
pp_data->cap[151]->ReportID                     = 0x80
pp_data->cap[151]->BitPosition                  = 0
pp_data->cap[151]->BitSize                      = 8
pp_data->cap[151]->ReportCount                  = 1
pp_data->cap[151]->BytePosition                 = 0x001E
pp_data->cap[151]->BitCount                     = 8
pp_data->cap[151]->BitField                     = 0x02
pp_data->cap[151]->NextBytePosition             = 0x001F
pp_data->cap[151]->LinkCollection               = 0x0003
pp_data->cap[151]->LinkUsagePage                = 0xFF01
pp_data->cap[151]->LinkUsage                    = 0x0080
pp_data->cap[151]->IsMultipleItemsForArray      = 0
pp_data->cap[151]->IsButtonCap                  = 0
pp_data->cap[151]->IsPadding                    = 0
pp_data->cap[151]->IsAbsolute                   = 1
pp_data->cap[151]->IsRange                      = 0
pp_data->cap[151]->IsAlias                      = 0
pp_data->cap[151]->IsStringRange                = 0
pp_data->cap[151]->IsDesignatorRange            = 0
pp_data->cap[151]->Reserved1                    = 0x000000
pp_data->cap[151]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[151]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[151]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[151]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[151]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[151]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[151]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[151]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[151]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[151]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[151]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[151]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[151]->NotRange.Usage                        = 0x0081
pp_data->cap[151]->NotRange.Reserved1                    = 0x0081
pp_data->cap[151]->NotRange.StringIndex                  = 0
pp_data->cap[151]->NotRange.Reserved2                    = 0
pp_data->cap[151]->NotRange.DesignatorIndex              = 0
pp_data->cap[151]->NotRange.Reserved3                    = 0
pp_data->cap[151]->NotRange.DataIndex                    = 64
pp_data->cap[151]->NotRange.Reserved4                    = 64
pp_data->cap[151]->NotButton.HasNull                   = 0
pp_data->cap[151]->NotButton.Reserved4                 = 0x000000
pp_data->cap[151]->NotButton.LogicalMin                = 0
pp_data->cap[151]->NotButton.LogicalMax                = 127
pp_data->cap[151]->NotButton.PhysicalMin               = 0
pp_data->cap[151]->NotButton.PhysicalMax               = 0
pp_data->cap[151]->Units                    = 0
pp_data->cap[151]->UnitsExp                 = 0

pp_data->cap[152]->UsagePage                    = 0xFF01
pp_data->cap[152]->ReportID                     = 0x80
pp_data->cap[152]->BitPosition                  = 0
pp_data->cap[152]->BitSize                      = 8
pp_data->cap[152]->ReportCount                  = 1
pp_data->cap[152]->BytePosition                 = 0x001D
pp_data->cap[152]->BitCount                     = 8
pp_data->cap[152]->BitField                     = 0x02
pp_data->cap[152]->NextBytePosition             = 0x001E
pp_data->cap[152]->LinkCollection               = 0x0003
pp_data->cap[152]->LinkUsagePage                = 0xFF01
pp_data->cap[152]->LinkUsage                    = 0x0080
pp_data->cap[152]->IsMultipleItemsForArray      = 0
pp_data->cap[152]->IsButtonCap                  = 0
pp_data->cap[152]->IsPadding                    = 0
pp_data->cap[152]->IsAbsolute                   = 1
pp_data->cap[152]->IsRange                      = 0
pp_data->cap[152]->IsAlias                      = 0
pp_data->cap[152]->IsStringRange                = 0
pp_data->cap[152]->IsDesignatorRange            = 0
pp_data->cap[152]->Reserved1                    = 0x000000
pp_data->cap[152]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[152]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[152]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[152]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[152]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[152]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[152]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[152]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[152]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[152]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[152]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[152]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[152]->NotRange.Usage                        = 0x0081
pp_data->cap[152]->NotRange.Reserved1                    = 0x0081
pp_data->cap[152]->NotRange.StringIndex                  = 0
pp_data->cap[152]->NotRange.Reserved2                    = 0
pp_data->cap[152]->NotRange.DesignatorIndex              = 0
pp_data->cap[152]->NotRange.Reserved3                    = 0
pp_data->cap[152]->NotRange.DataIndex                    = 65
pp_data->cap[152]->NotRange.Reserved4                    = 65
pp_data->cap[152]->NotButton.HasNull                   = 0
pp_data->cap[152]->NotButton.Reserved4                 = 0x000000
pp_data->cap[152]->NotButton.LogicalMin                = 0
pp_data->cap[152]->NotButton.LogicalMax                = 127
pp_data->cap[152]->NotButton.PhysicalMin               = 0
pp_data->cap[152]->NotButton.PhysicalMax               = 0
pp_data->cap[152]->Units                    = 0
pp_data->cap[152]->UnitsExp                 = 0

pp_data->cap[153]->UsagePage                    = 0xFF01
pp_data->cap[153]->ReportID                     = 0x80
pp_data->cap[153]->BitPosition                  = 0
pp_data->cap[153]->BitSize                      = 8
pp_data->cap[153]->ReportCount                  = 1
pp_data->cap[153]->BytePosition                 = 0x001C
pp_data->cap[153]->BitCount                     = 8
pp_data->cap[153]->BitField                     = 0x02
pp_data->cap[153]->NextBytePosition             = 0x001D
pp_data->cap[153]->LinkCollection               = 0x0003
pp_data->cap[153]->LinkUsagePage                = 0xFF01
pp_data->cap[153]->LinkUsage                    = 0x0080
pp_data->cap[153]->IsMultipleItemsForArray      = 0
pp_data->cap[153]->IsButtonCap                  = 0
pp_data->cap[153]->IsPadding                    = 0
pp_data->cap[153]->IsAbsolute                   = 1
pp_data->cap[153]->IsRange                      = 0
pp_data->cap[153]->IsAlias                      = 0
pp_data->cap[153]->IsStringRange                = 0
pp_data->cap[153]->IsDesignatorRange            = 0
pp_data->cap[153]->Reserved1                    = 0x000000
pp_data->cap[153]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[153]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[153]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[153]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[153]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[153]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[153]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[153]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[153]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[153]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[153]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[153]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[153]->NotRange.Usage                        = 0x0081
pp_data->cap[153]->NotRange.Reserved1                    = 0x0081
pp_data->cap[153]->NotRange.StringIndex                  = 0
pp_data->cap[153]->NotRange.Reserved2                    = 0
pp_data->cap[153]->NotRange.DesignatorIndex              = 0
pp_data->cap[153]->NotRange.Reserved3                    = 0
pp_data->cap[153]->NotRange.DataIndex                    = 66
pp_data->cap[153]->NotRange.Reserved4                    = 66
pp_data->cap[153]->NotButton.HasNull                   = 0
pp_data->cap[153]->NotButton.Reserved4                 = 0x000000
pp_data->cap[153]->NotButton.LogicalMin                = 0
pp_data->cap[153]->NotButton.LogicalMax                = 127
pp_data->cap[153]->NotButton.PhysicalMin               = 0
pp_data->cap[153]->NotButton.PhysicalMax               = 0
pp_data->cap[153]->Units                    = 0
pp_data->cap[153]->UnitsExp                 = 0

pp_data->cap[154]->UsagePage                    = 0xFF01
pp_data->cap[154]->ReportID                     = 0x80
pp_data->cap[154]->BitPosition                  = 0
pp_data->cap[154]->BitSize                      = 8
pp_data->cap[154]->ReportCount                  = 1
pp_data->cap[154]->BytePosition                 = 0x001B
pp_data->cap[154]->BitCount                     = 8
pp_data->cap[154]->BitField                     = 0x02
pp_data->cap[154]->NextBytePosition             = 0x001C
pp_data->cap[154]->LinkCollection               = 0x0003
pp_data->cap[154]->LinkUsagePage                = 0xFF01
pp_data->cap[154]->LinkUsage                    = 0x0080
pp_data->cap[154]->IsMultipleItemsForArray      = 0
pp_data->cap[154]->IsButtonCap                  = 0
pp_data->cap[154]->IsPadding                    = 0
pp_data->cap[154]->IsAbsolute                   = 1
pp_data->cap[154]->IsRange                      = 0
pp_data->cap[154]->IsAlias                      = 0
pp_data->cap[154]->IsStringRange                = 0
pp_data->cap[154]->IsDesignatorRange            = 0
pp_data->cap[154]->Reserved1                    = 0x000000
pp_data->cap[154]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[154]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[154]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[154]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[154]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[154]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[154]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[154]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[154]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[154]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[154]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[154]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[154]->NotRange.Usage                        = 0x0081
pp_data->cap[154]->NotRange.Reserved1                    = 0x0081
pp_data->cap[154]->NotRange.StringIndex                  = 0
pp_data->cap[154]->NotRange.Reserved2                    = 0
pp_data->cap[154]->NotRange.DesignatorIndex              = 0
pp_data->cap[154]->NotRange.Reserved3                    = 0
pp_data->cap[154]->NotRange.DataIndex                    = 67
pp_data->cap[154]->NotRange.Reserved4                    = 67
pp_data->cap[154]->NotButton.HasNull                   = 0
pp_data->cap[154]->NotButton.Reserved4                 = 0x000000
pp_data->cap[154]->NotButton.LogicalMin                = 0
pp_data->cap[154]->NotButton.LogicalMax                = 127
pp_data->cap[154]->NotButton.PhysicalMin               = 0
pp_data->cap[154]->NotButton.PhysicalMax               = 0
pp_data->cap[154]->Units                    = 0
pp_data->cap[154]->UnitsExp                 = 0

pp_data->cap[155]->UsagePage                    = 0xFF01
pp_data->cap[155]->ReportID                     = 0x80
pp_data->cap[155]->BitPosition                  = 0
pp_data->cap[155]->BitSize                      = 8
pp_data->cap[155]->ReportCount                  = 1
pp_data->cap[155]->BytePosition                 = 0x001A
pp_data->cap[155]->BitCount                     = 8
pp_data->cap[155]->BitField                     = 0x02
pp_data->cap[155]->NextBytePosition             = 0x001B
pp_data->cap[155]->LinkCollection               = 0x0003
pp_data->cap[155]->LinkUsagePage                = 0xFF01
pp_data->cap[155]->LinkUsage                    = 0x0080
pp_data->cap[155]->IsMultipleItemsForArray      = 0
pp_data->cap[155]->IsButtonCap                  = 0
pp_data->cap[155]->IsPadding                    = 0
pp_data->cap[155]->IsAbsolute                   = 1
pp_data->cap[155]->IsRange                      = 0
pp_data->cap[155]->IsAlias                      = 0
pp_data->cap[155]->IsStringRange                = 0
pp_data->cap[155]->IsDesignatorRange            = 0
pp_data->cap[155]->Reserved1                    = 0x000000
pp_data->cap[155]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[155]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[155]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[155]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[155]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[155]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[155]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[155]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[155]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[155]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[155]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[155]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[155]->NotRange.Usage                        = 0x0081
pp_data->cap[155]->NotRange.Reserved1                    = 0x0081
pp_data->cap[155]->NotRange.StringIndex                  = 0
pp_data->cap[155]->NotRange.Reserved2                    = 0
pp_data->cap[155]->NotRange.DesignatorIndex              = 0
pp_data->cap[155]->NotRange.Reserved3                    = 0
pp_data->cap[155]->NotRange.DataIndex                    = 68
pp_data->cap[155]->NotRange.Reserved4                    = 68
pp_data->cap[155]->NotButton.HasNull                   = 0
pp_data->cap[155]->NotButton.Reserved4                 = 0x000000
pp_data->cap[155]->NotButton.LogicalMin                = 0
pp_data->cap[155]->NotButton.LogicalMax                = 127
pp_data->cap[155]->NotButton.PhysicalMin               = 0
pp_data->cap[155]->NotButton.PhysicalMax               = 0
pp_data->cap[155]->Units                    = 0
pp_data->cap[155]->UnitsExp                 = 0

pp_data->cap[156]->UsagePage                    = 0xFF01
pp_data->cap[156]->ReportID                     = 0x80
pp_data->cap[156]->BitPosition                  = 0
pp_data->cap[156]->BitSize                      = 8
pp_data->cap[156]->ReportCount                  = 1
pp_data->cap[156]->BytePosition                 = 0x0019
pp_data->cap[156]->BitCount                     = 8
pp_data->cap[156]->BitField                     = 0x02
pp_data->cap[156]->NextBytePosition             = 0x001A
pp_data->cap[156]->LinkCollection               = 0x0003
pp_data->cap[156]->LinkUsagePage                = 0xFF01
pp_data->cap[156]->LinkUsage                    = 0x0080
pp_data->cap[156]->IsMultipleItemsForArray      = 0
pp_data->cap[156]->IsButtonCap                  = 0
pp_data->cap[156]->IsPadding                    = 0
pp_data->cap[156]->IsAbsolute                   = 1
pp_data->cap[156]->IsRange                      = 0
pp_data->cap[156]->IsAlias                      = 0
pp_data->cap[156]->IsStringRange                = 0
pp_data->cap[156]->IsDesignatorRange            = 0
pp_data->cap[156]->Reserved1                    = 0x000000
pp_data->cap[156]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[156]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[156]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[156]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[156]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[156]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[156]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[156]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[156]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[156]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[156]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[156]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[156]->NotRange.Usage                        = 0x0081
pp_data->cap[156]->NotRange.Reserved1                    = 0x0081
pp_data->cap[156]->NotRange.StringIndex                  = 0
pp_data->cap[156]->NotRange.Reserved2                    = 0
pp_data->cap[156]->NotRange.DesignatorIndex              = 0
pp_data->cap[156]->NotRange.Reserved3                    = 0
pp_data->cap[156]->NotRange.DataIndex                    = 69
pp_data->cap[156]->NotRange.Reserved4                    = 69
pp_data->cap[156]->NotButton.HasNull                   = 0
pp_data->cap[156]->NotButton.Reserved4                 = 0x000000
pp_data->cap[156]->NotButton.LogicalMin                = 0
pp_data->cap[156]->NotButton.LogicalMax                = 127
pp_data->cap[156]->NotButton.PhysicalMin               = 0
pp_data->cap[156]->NotButton.PhysicalMax               = 0
pp_data->cap[156]->Units                    = 0
pp_data->cap[156]->UnitsExp                 = 0

pp_data->cap[157]->UsagePage                    = 0xFF01
pp_data->cap[157]->ReportID                     = 0x80
pp_data->cap[157]->BitPosition                  = 0
pp_data->cap[157]->BitSize                      = 8
pp_data->cap[157]->ReportCount                  = 1
pp_data->cap[157]->BytePosition                 = 0x0018
pp_data->cap[157]->BitCount                     = 8
pp_data->cap[157]->BitField                     = 0x02
pp_data->cap[157]->NextBytePosition             = 0x0019
pp_data->cap[157]->LinkCollection               = 0x0003
pp_data->cap[157]->LinkUsagePage                = 0xFF01
pp_data->cap[157]->LinkUsage                    = 0x0080
pp_data->cap[157]->IsMultipleItemsForArray      = 0
pp_data->cap[157]->IsButtonCap                  = 0
pp_data->cap[157]->IsPadding                    = 0
pp_data->cap[157]->IsAbsolute                   = 1
pp_data->cap[157]->IsRange                      = 0
pp_data->cap[157]->IsAlias                      = 0
pp_data->cap[157]->IsStringRange                = 0
pp_data->cap[157]->IsDesignatorRange            = 0
pp_data->cap[157]->Reserved1                    = 0x000000
pp_data->cap[157]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[157]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[157]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[157]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[157]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[157]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[157]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[157]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[157]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[157]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[157]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[157]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[157]->NotRange.Usage                        = 0x0081
pp_data->cap[157]->NotRange.Reserved1                    = 0x0081
pp_data->cap[157]->NotRange.StringIndex                  = 0
pp_data->cap[157]->NotRange.Reserved2                    = 0
pp_data->cap[157]->NotRange.DesignatorIndex              = 0
pp_data->cap[157]->NotRange.Reserved3                    = 0
pp_data->cap[157]->NotRange.DataIndex                    = 70
pp_data->cap[157]->NotRange.Reserved4                    = 70
pp_data->cap[157]->NotButton.HasNull                   = 0
pp_data->cap[157]->NotButton.Reserved4                 = 0x000000
pp_data->cap[157]->NotButton.LogicalMin                = 0
pp_data->cap[157]->NotButton.LogicalMax                = 127
pp_data->cap[157]->NotButton.PhysicalMin               = 0
pp_data->cap[157]->NotButton.PhysicalMax               = 0
pp_data->cap[157]->Units                    = 0
pp_data->cap[157]->UnitsExp                 = 0

pp_data->cap[158]->UsagePage                    = 0xFF01
pp_data->cap[158]->ReportID                     = 0x80
pp_data->cap[158]->BitPosition                  = 0
pp_data->cap[158]->BitSize                      = 8
pp_data->cap[158]->ReportCount                  = 1
pp_data->cap[158]->BytePosition                 = 0x0017
pp_data->cap[158]->BitCount                     = 8
pp_data->cap[158]->BitField                     = 0x02
pp_data->cap[158]->NextBytePosition             = 0x0018
pp_data->cap[158]->LinkCollection               = 0x0003
pp_data->cap[158]->LinkUsagePage                = 0xFF01
pp_data->cap[158]->LinkUsage                    = 0x0080
pp_data->cap[158]->IsMultipleItemsForArray      = 0
pp_data->cap[158]->IsButtonCap                  = 0
pp_data->cap[158]->IsPadding                    = 0
pp_data->cap[158]->IsAbsolute                   = 1
pp_data->cap[158]->IsRange                      = 0
pp_data->cap[158]->IsAlias                      = 0
pp_data->cap[158]->IsStringRange                = 0
pp_data->cap[158]->IsDesignatorRange            = 0
pp_data->cap[158]->Reserved1                    = 0x000000
pp_data->cap[158]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[158]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[158]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[158]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[158]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[158]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[158]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[158]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[158]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[158]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[158]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[158]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[158]->NotRange.Usage                        = 0x0081
pp_data->cap[158]->NotRange.Reserved1                    = 0x0081
pp_data->cap[158]->NotRange.StringIndex                  = 0
pp_data->cap[158]->NotRange.Reserved2                    = 0
pp_data->cap[158]->NotRange.DesignatorIndex              = 0
pp_data->cap[158]->NotRange.Reserved3                    = 0
pp_data->cap[158]->NotRange.DataIndex                    = 71
pp_data->cap[158]->NotRange.Reserved4                    = 71
pp_data->cap[158]->NotButton.HasNull                   = 0
pp_data->cap[158]->NotButton.Reserved4                 = 0x000000
pp_data->cap[158]->NotButton.LogicalMin                = 0
pp_data->cap[158]->NotButton.LogicalMax                = 127
pp_data->cap[158]->NotButton.PhysicalMin               = 0
pp_data->cap[158]->NotButton.PhysicalMax               = 0
pp_data->cap[158]->Units                    = 0
pp_data->cap[158]->UnitsExp                 = 0

pp_data->cap[159]->UsagePage                    = 0xFF01
pp_data->cap[159]->ReportID                     = 0x80
pp_data->cap[159]->BitPosition                  = 0
pp_data->cap[159]->BitSize                      = 8
pp_data->cap[159]->ReportCount                  = 1
pp_data->cap[159]->BytePosition                 = 0x0016
pp_data->cap[159]->BitCount                     = 8
pp_data->cap[159]->BitField                     = 0x02
pp_data->cap[159]->NextBytePosition             = 0x0017
pp_data->cap[159]->LinkCollection               = 0x0003
pp_data->cap[159]->LinkUsagePage                = 0xFF01
pp_data->cap[159]->LinkUsage                    = 0x0080
pp_data->cap[159]->IsMultipleItemsForArray      = 0
pp_data->cap[159]->IsButtonCap                  = 0
pp_data->cap[159]->IsPadding                    = 0
pp_data->cap[159]->IsAbsolute                   = 1
pp_data->cap[159]->IsRange                      = 0
pp_data->cap[159]->IsAlias                      = 0
pp_data->cap[159]->IsStringRange                = 0
pp_data->cap[159]->IsDesignatorRange            = 0
pp_data->cap[159]->Reserved1                    = 0x000000
pp_data->cap[159]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[159]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[159]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[159]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[159]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[159]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[159]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[159]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[159]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[159]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[159]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[159]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[159]->NotRange.Usage                        = 0x0081
pp_data->cap[159]->NotRange.Reserved1                    = 0x0081
pp_data->cap[159]->NotRange.StringIndex                  = 0
pp_data->cap[159]->NotRange.Reserved2                    = 0
pp_data->cap[159]->NotRange.DesignatorIndex              = 0
pp_data->cap[159]->NotRange.Reserved3                    = 0
pp_data->cap[159]->NotRange.DataIndex                    = 72
pp_data->cap[159]->NotRange.Reserved4                    = 72
pp_data->cap[159]->NotButton.HasNull                   = 0
pp_data->cap[159]->NotButton.Reserved4                 = 0x000000
pp_data->cap[159]->NotButton.LogicalMin                = 0
pp_data->cap[159]->NotButton.LogicalMax                = 127
pp_data->cap[159]->NotButton.PhysicalMin               = 0
pp_data->cap[159]->NotButton.PhysicalMax               = 0
pp_data->cap[159]->Units                    = 0
pp_data->cap[159]->UnitsExp                 = 0

pp_data->cap[160]->UsagePage                    = 0xFF01
pp_data->cap[160]->ReportID                     = 0x80
pp_data->cap[160]->BitPosition                  = 0
pp_data->cap[160]->BitSize                      = 8
pp_data->cap[160]->ReportCount                  = 1
pp_data->cap[160]->BytePosition                 = 0x0015
pp_data->cap[160]->BitCount                     = 8
pp_data->cap[160]->BitField                     = 0x02
pp_data->cap[160]->NextBytePosition             = 0x0016
pp_data->cap[160]->LinkCollection               = 0x0003
pp_data->cap[160]->LinkUsagePage                = 0xFF01
pp_data->cap[160]->LinkUsage                    = 0x0080
pp_data->cap[160]->IsMultipleItemsForArray      = 0
pp_data->cap[160]->IsButtonCap                  = 0
pp_data->cap[160]->IsPadding                    = 0
pp_data->cap[160]->IsAbsolute                   = 1
pp_data->cap[160]->IsRange                      = 0
pp_data->cap[160]->IsAlias                      = 0
pp_data->cap[160]->IsStringRange                = 0
pp_data->cap[160]->IsDesignatorRange            = 0
pp_data->cap[160]->Reserved1                    = 0x000000
pp_data->cap[160]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[160]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[160]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[160]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[160]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[160]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[160]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[160]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[160]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[160]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[160]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[160]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[160]->NotRange.Usage                        = 0x0081
pp_data->cap[160]->NotRange.Reserved1                    = 0x0081
pp_data->cap[160]->NotRange.StringIndex                  = 0
pp_data->cap[160]->NotRange.Reserved2                    = 0
pp_data->cap[160]->NotRange.DesignatorIndex              = 0
pp_data->cap[160]->NotRange.Reserved3                    = 0
pp_data->cap[160]->NotRange.DataIndex                    = 73
pp_data->cap[160]->NotRange.Reserved4                    = 73
pp_data->cap[160]->NotButton.HasNull                   = 0
pp_data->cap[160]->NotButton.Reserved4                 = 0x000000
pp_data->cap[160]->NotButton.LogicalMin                = 0
pp_data->cap[160]->NotButton.LogicalMax                = 127
pp_data->cap[160]->NotButton.PhysicalMin               = 0
pp_data->cap[160]->NotButton.PhysicalMax               = 0
pp_data->cap[160]->Units                    = 0
pp_data->cap[160]->UnitsExp                 = 0

pp_data->cap[161]->UsagePage                    = 0xFF01
pp_data->cap[161]->ReportID                     = 0x80
pp_data->cap[161]->BitPosition                  = 0
pp_data->cap[161]->BitSize                      = 8
pp_data->cap[161]->ReportCount                  = 1
pp_data->cap[161]->BytePosition                 = 0x0014
pp_data->cap[161]->BitCount                     = 8
pp_data->cap[161]->BitField                     = 0x02
pp_data->cap[161]->NextBytePosition             = 0x0015
pp_data->cap[161]->LinkCollection               = 0x0003
pp_data->cap[161]->LinkUsagePage                = 0xFF01
pp_data->cap[161]->LinkUsage                    = 0x0080
pp_data->cap[161]->IsMultipleItemsForArray      = 0
pp_data->cap[161]->IsButtonCap                  = 0
pp_data->cap[161]->IsPadding                    = 0
pp_data->cap[161]->IsAbsolute                   = 1
pp_data->cap[161]->IsRange                      = 0
pp_data->cap[161]->IsAlias                      = 0
pp_data->cap[161]->IsStringRange                = 0
pp_data->cap[161]->IsDesignatorRange            = 0
pp_data->cap[161]->Reserved1                    = 0x000000
pp_data->cap[161]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[161]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[161]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[161]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[161]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[161]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[161]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[161]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[161]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[161]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[161]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[161]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[161]->NotRange.Usage                        = 0x0081
pp_data->cap[161]->NotRange.Reserved1                    = 0x0081
pp_data->cap[161]->NotRange.StringIndex                  = 0
pp_data->cap[161]->NotRange.Reserved2                    = 0
pp_data->cap[161]->NotRange.DesignatorIndex              = 0
pp_data->cap[161]->NotRange.Reserved3                    = 0
pp_data->cap[161]->NotRange.DataIndex                    = 74
pp_data->cap[161]->NotRange.Reserved4                    = 74
pp_data->cap[161]->NotButton.HasNull                   = 0
pp_data->cap[161]->NotButton.Reserved4                 = 0x000000
pp_data->cap[161]->NotButton.LogicalMin                = 0
pp_data->cap[161]->NotButton.LogicalMax                = 127
pp_data->cap[161]->NotButton.PhysicalMin               = 0
pp_data->cap[161]->NotButton.PhysicalMax               = 0
pp_data->cap[161]->Units                    = 0
pp_data->cap[161]->UnitsExp                 = 0

pp_data->cap[162]->UsagePage                    = 0xFF01
pp_data->cap[162]->ReportID                     = 0x80
pp_data->cap[162]->BitPosition                  = 0
pp_data->cap[162]->BitSize                      = 8
pp_data->cap[162]->ReportCount                  = 1
pp_data->cap[162]->BytePosition                 = 0x0013
pp_data->cap[162]->BitCount                     = 8
pp_data->cap[162]->BitField                     = 0x02
pp_data->cap[162]->NextBytePosition             = 0x0014
pp_data->cap[162]->LinkCollection               = 0x0003
pp_data->cap[162]->LinkUsagePage                = 0xFF01
pp_data->cap[162]->LinkUsage                    = 0x0080
pp_data->cap[162]->IsMultipleItemsForArray      = 0
pp_data->cap[162]->IsButtonCap                  = 0
pp_data->cap[162]->IsPadding                    = 0
pp_data->cap[162]->IsAbsolute                   = 1
pp_data->cap[162]->IsRange                      = 0
pp_data->cap[162]->IsAlias                      = 0
pp_data->cap[162]->IsStringRange                = 0
pp_data->cap[162]->IsDesignatorRange            = 0
pp_data->cap[162]->Reserved1                    = 0x000000
pp_data->cap[162]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[162]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[162]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[162]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[162]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[162]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[162]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[162]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[162]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[162]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[162]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[162]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[162]->NotRange.Usage                        = 0x0081
pp_data->cap[162]->NotRange.Reserved1                    = 0x0081
pp_data->cap[162]->NotRange.StringIndex                  = 0
pp_data->cap[162]->NotRange.Reserved2                    = 0
pp_data->cap[162]->NotRange.DesignatorIndex              = 0
pp_data->cap[162]->NotRange.Reserved3                    = 0
pp_data->cap[162]->NotRange.DataIndex                    = 75
pp_data->cap[162]->NotRange.Reserved4                    = 75
pp_data->cap[162]->NotButton.HasNull                   = 0
pp_data->cap[162]->NotButton.Reserved4                 = 0x000000
pp_data->cap[162]->NotButton.LogicalMin                = 0
pp_data->cap[162]->NotButton.LogicalMax                = 127
pp_data->cap[162]->NotButton.PhysicalMin               = 0
pp_data->cap[162]->NotButton.PhysicalMax               = 0
pp_data->cap[162]->Units                    = 0
pp_data->cap[162]->UnitsExp                 = 0

pp_data->cap[163]->UsagePage                    = 0xFF01
pp_data->cap[163]->ReportID                     = 0x80
pp_data->cap[163]->BitPosition                  = 0
pp_data->cap[163]->BitSize                      = 8
pp_data->cap[163]->ReportCount                  = 1
pp_data->cap[163]->BytePosition                 = 0x0012
pp_data->cap[163]->BitCount                     = 8
pp_data->cap[163]->BitField                     = 0x02
pp_data->cap[163]->NextBytePosition             = 0x0013
pp_data->cap[163]->LinkCollection               = 0x0003
pp_data->cap[163]->LinkUsagePage                = 0xFF01
pp_data->cap[163]->LinkUsage                    = 0x0080
pp_data->cap[163]->IsMultipleItemsForArray      = 0
pp_data->cap[163]->IsButtonCap                  = 0
pp_data->cap[163]->IsPadding                    = 0
pp_data->cap[163]->IsAbsolute                   = 1
pp_data->cap[163]->IsRange                      = 0
pp_data->cap[163]->IsAlias                      = 0
pp_data->cap[163]->IsStringRange                = 0
pp_data->cap[163]->IsDesignatorRange            = 0
pp_data->cap[163]->Reserved1                    = 0x000000
pp_data->cap[163]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[163]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[163]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[163]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[163]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[163]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[163]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[163]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[163]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[163]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[163]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[163]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[163]->NotRange.Usage                        = 0x0081
pp_data->cap[163]->NotRange.Reserved1                    = 0x0081
pp_data->cap[163]->NotRange.StringIndex                  = 0
pp_data->cap[163]->NotRange.Reserved2                    = 0
pp_data->cap[163]->NotRange.DesignatorIndex              = 0
pp_data->cap[163]->NotRange.Reserved3                    = 0
pp_data->cap[163]->NotRange.DataIndex                    = 76
pp_data->cap[163]->NotRange.Reserved4                    = 76
pp_data->cap[163]->NotButton.HasNull                   = 0
pp_data->cap[163]->NotButton.Reserved4                 = 0x000000
pp_data->cap[163]->NotButton.LogicalMin                = 0
pp_data->cap[163]->NotButton.LogicalMax                = 127
pp_data->cap[163]->NotButton.PhysicalMin               = 0
pp_data->cap[163]->NotButton.PhysicalMax               = 0
pp_data->cap[163]->Units                    = 0
pp_data->cap[163]->UnitsExp                 = 0

pp_data->cap[164]->UsagePage                    = 0xFF01
pp_data->cap[164]->ReportID                     = 0x80
pp_data->cap[164]->BitPosition                  = 0
pp_data->cap[164]->BitSize                      = 8
pp_data->cap[164]->ReportCount                  = 1
pp_data->cap[164]->BytePosition                 = 0x0011
pp_data->cap[164]->BitCount                     = 8
pp_data->cap[164]->BitField                     = 0x02
pp_data->cap[164]->NextBytePosition             = 0x0012
pp_data->cap[164]->LinkCollection               = 0x0003
pp_data->cap[164]->LinkUsagePage                = 0xFF01
pp_data->cap[164]->LinkUsage                    = 0x0080
pp_data->cap[164]->IsMultipleItemsForArray      = 0
pp_data->cap[164]->IsButtonCap                  = 0
pp_data->cap[164]->IsPadding                    = 0
pp_data->cap[164]->IsAbsolute                   = 1
pp_data->cap[164]->IsRange                      = 0
pp_data->cap[164]->IsAlias                      = 0
pp_data->cap[164]->IsStringRange                = 0
pp_data->cap[164]->IsDesignatorRange            = 0
pp_data->cap[164]->Reserved1                    = 0x000000
pp_data->cap[164]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[164]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[164]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[164]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[164]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[164]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[164]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[164]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[164]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[164]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[164]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[164]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[164]->NotRange.Usage                        = 0x0081
pp_data->cap[164]->NotRange.Reserved1                    = 0x0081
pp_data->cap[164]->NotRange.StringIndex                  = 0
pp_data->cap[164]->NotRange.Reserved2                    = 0
pp_data->cap[164]->NotRange.DesignatorIndex              = 0
pp_data->cap[164]->NotRange.Reserved3                    = 0
pp_data->cap[164]->NotRange.DataIndex                    = 77
pp_data->cap[164]->NotRange.Reserved4                    = 77
pp_data->cap[164]->NotButton.HasNull                   = 0
pp_data->cap[164]->NotButton.Reserved4                 = 0x000000
pp_data->cap[164]->NotButton.LogicalMin                = 0
pp_data->cap[164]->NotButton.LogicalMax                = 127
pp_data->cap[164]->NotButton.PhysicalMin               = 0
pp_data->cap[164]->NotButton.PhysicalMax               = 0
pp_data->cap[164]->Units                    = 0
pp_data->cap[164]->UnitsExp                 = 0

pp_data->cap[165]->UsagePage                    = 0xFF01
pp_data->cap[165]->ReportID                     = 0x80
pp_data->cap[165]->BitPosition                  = 0
pp_data->cap[165]->BitSize                      = 8
pp_data->cap[165]->ReportCount                  = 1
pp_data->cap[165]->BytePosition                 = 0x0010
pp_data->cap[165]->BitCount                     = 8
pp_data->cap[165]->BitField                     = 0x02
pp_data->cap[165]->NextBytePosition             = 0x0011
pp_data->cap[165]->LinkCollection               = 0x0003
pp_data->cap[165]->LinkUsagePage                = 0xFF01
pp_data->cap[165]->LinkUsage                    = 0x0080
pp_data->cap[165]->IsMultipleItemsForArray      = 0
pp_data->cap[165]->IsButtonCap                  = 0
pp_data->cap[165]->IsPadding                    = 0
pp_data->cap[165]->IsAbsolute                   = 1
pp_data->cap[165]->IsRange                      = 0
pp_data->cap[165]->IsAlias                      = 0
pp_data->cap[165]->IsStringRange                = 0
pp_data->cap[165]->IsDesignatorRange            = 0
pp_data->cap[165]->Reserved1                    = 0x000000
pp_data->cap[165]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[165]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[165]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[165]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[165]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[165]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[165]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[165]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[165]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[165]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[165]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[165]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[165]->NotRange.Usage                        = 0x0081
pp_data->cap[165]->NotRange.Reserved1                    = 0x0081
pp_data->cap[165]->NotRange.StringIndex                  = 0
pp_data->cap[165]->NotRange.Reserved2                    = 0
pp_data->cap[165]->NotRange.DesignatorIndex              = 0
pp_data->cap[165]->NotRange.Reserved3                    = 0
pp_data->cap[165]->NotRange.DataIndex                    = 78
pp_data->cap[165]->NotRange.Reserved4                    = 78
pp_data->cap[165]->NotButton.HasNull                   = 0
pp_data->cap[165]->NotButton.Reserved4                 = 0x000000
pp_data->cap[165]->NotButton.LogicalMin                = 0
pp_data->cap[165]->NotButton.LogicalMax                = 127
pp_data->cap[165]->NotButton.PhysicalMin               = 0
pp_data->cap[165]->NotButton.PhysicalMax               = 0
pp_data->cap[165]->Units                    = 0
pp_data->cap[165]->UnitsExp                 = 0

pp_data->cap[166]->UsagePage                    = 0xFF01
pp_data->cap[166]->ReportID                     = 0x80
pp_data->cap[166]->BitPosition                  = 0
pp_data->cap[166]->BitSize                      = 8
pp_data->cap[166]->ReportCount                  = 1
pp_data->cap[166]->BytePosition                 = 0x000F
pp_data->cap[166]->BitCount                     = 8
pp_data->cap[166]->BitField                     = 0x02
pp_data->cap[166]->NextBytePosition             = 0x0010
pp_data->cap[166]->LinkCollection               = 0x0003
pp_data->cap[166]->LinkUsagePage                = 0xFF01
pp_data->cap[166]->LinkUsage                    = 0x0080
pp_data->cap[166]->IsMultipleItemsForArray      = 0
pp_data->cap[166]->IsButtonCap                  = 0
pp_data->cap[166]->IsPadding                    = 0
pp_data->cap[166]->IsAbsolute                   = 1
pp_data->cap[166]->IsRange                      = 0
pp_data->cap[166]->IsAlias                      = 0
pp_data->cap[166]->IsStringRange                = 0
pp_data->cap[166]->IsDesignatorRange            = 0
pp_data->cap[166]->Reserved1                    = 0x000000
pp_data->cap[166]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[166]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[166]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[166]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[166]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[166]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[166]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[166]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[166]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[166]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[166]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[166]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[166]->NotRange.Usage                        = 0x0081
pp_data->cap[166]->NotRange.Reserved1                    = 0x0081
pp_data->cap[166]->NotRange.StringIndex                  = 0
pp_data->cap[166]->NotRange.Reserved2                    = 0
pp_data->cap[166]->NotRange.DesignatorIndex              = 0
pp_data->cap[166]->NotRange.Reserved3                    = 0
pp_data->cap[166]->NotRange.DataIndex                    = 79
pp_data->cap[166]->NotRange.Reserved4                    = 79
pp_data->cap[166]->NotButton.HasNull                   = 0
pp_data->cap[166]->NotButton.Reserved4                 = 0x000000
pp_data->cap[166]->NotButton.LogicalMin                = 0
pp_data->cap[166]->NotButton.LogicalMax                = 127
pp_data->cap[166]->NotButton.PhysicalMin               = 0
pp_data->cap[166]->NotButton.PhysicalMax               = 0
pp_data->cap[166]->Units                    = 0
pp_data->cap[166]->UnitsExp                 = 0

pp_data->cap[167]->UsagePage                    = 0xFF01
pp_data->cap[167]->ReportID                     = 0x80
pp_data->cap[167]->BitPosition                  = 0
pp_data->cap[167]->BitSize                      = 8
pp_data->cap[167]->ReportCount                  = 1
pp_data->cap[167]->BytePosition                 = 0x000E
pp_data->cap[167]->BitCount                     = 8
pp_data->cap[167]->BitField                     = 0x02
pp_data->cap[167]->NextBytePosition             = 0x000F
pp_data->cap[167]->LinkCollection               = 0x0003
pp_data->cap[167]->LinkUsagePage                = 0xFF01
pp_data->cap[167]->LinkUsage                    = 0x0080
pp_data->cap[167]->IsMultipleItemsForArray      = 0
pp_data->cap[167]->IsButtonCap                  = 0
pp_data->cap[167]->IsPadding                    = 0
pp_data->cap[167]->IsAbsolute                   = 1
pp_data->cap[167]->IsRange                      = 0
pp_data->cap[167]->IsAlias                      = 0
pp_data->cap[167]->IsStringRange                = 0
pp_data->cap[167]->IsDesignatorRange            = 0
pp_data->cap[167]->Reserved1                    = 0x000000
pp_data->cap[167]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[167]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[167]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[167]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[167]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[167]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[167]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[167]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[167]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[167]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[167]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[167]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[167]->NotRange.Usage                        = 0x0081
pp_data->cap[167]->NotRange.Reserved1                    = 0x0081
pp_data->cap[167]->NotRange.StringIndex                  = 0
pp_data->cap[167]->NotRange.Reserved2                    = 0
pp_data->cap[167]->NotRange.DesignatorIndex              = 0
pp_data->cap[167]->NotRange.Reserved3                    = 0
pp_data->cap[167]->NotRange.DataIndex                    = 80
pp_data->cap[167]->NotRange.Reserved4                    = 80
pp_data->cap[167]->NotButton.HasNull                   = 0
pp_data->cap[167]->NotButton.Reserved4                 = 0x000000
pp_data->cap[167]->NotButton.LogicalMin                = 0
pp_data->cap[167]->NotButton.LogicalMax                = 127
pp_data->cap[167]->NotButton.PhysicalMin               = 0
pp_data->cap[167]->NotButton.PhysicalMax               = 0
pp_data->cap[167]->Units                    = 0
pp_data->cap[167]->UnitsExp                 = 0

pp_data->cap[168]->UsagePage                    = 0xFF01
pp_data->cap[168]->ReportID                     = 0x80
pp_data->cap[168]->BitPosition                  = 0
pp_data->cap[168]->BitSize                      = 8
pp_data->cap[168]->ReportCount                  = 1
pp_data->cap[168]->BytePosition                 = 0x000D
pp_data->cap[168]->BitCount                     = 8
pp_data->cap[168]->BitField                     = 0x02
pp_data->cap[168]->NextBytePosition             = 0x000E
pp_data->cap[168]->LinkCollection               = 0x0003
pp_data->cap[168]->LinkUsagePage                = 0xFF01
pp_data->cap[168]->LinkUsage                    = 0x0080
pp_data->cap[168]->IsMultipleItemsForArray      = 0
pp_data->cap[168]->IsButtonCap                  = 0
pp_data->cap[168]->IsPadding                    = 0
pp_data->cap[168]->IsAbsolute                   = 1
pp_data->cap[168]->IsRange                      = 0
pp_data->cap[168]->IsAlias                      = 0
pp_data->cap[168]->IsStringRange                = 0
pp_data->cap[168]->IsDesignatorRange            = 0
pp_data->cap[168]->Reserved1                    = 0x000000
pp_data->cap[168]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[168]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[168]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[168]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[168]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[168]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[168]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[168]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[168]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[168]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[168]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[168]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[168]->NotRange.Usage                        = 0x0081
pp_data->cap[168]->NotRange.Reserved1                    = 0x0081
pp_data->cap[168]->NotRange.StringIndex                  = 0
pp_data->cap[168]->NotRange.Reserved2                    = 0
pp_data->cap[168]->NotRange.DesignatorIndex              = 0
pp_data->cap[168]->NotRange.Reserved3                    = 0
pp_data->cap[168]->NotRange.DataIndex                    = 81
pp_data->cap[168]->NotRange.Reserved4                    = 81
pp_data->cap[168]->NotButton.HasNull                   = 0
pp_data->cap[168]->NotButton.Reserved4                 = 0x000000
pp_data->cap[168]->NotButton.LogicalMin                = 0
pp_data->cap[168]->NotButton.LogicalMax                = 127
pp_data->cap[168]->NotButton.PhysicalMin               = 0
pp_data->cap[168]->NotButton.PhysicalMax               = 0
pp_data->cap[168]->Units                    = 0
pp_data->cap[168]->UnitsExp                 = 0

pp_data->cap[169]->UsagePage                    = 0xFF01
pp_data->cap[169]->ReportID                     = 0x80
pp_data->cap[169]->BitPosition                  = 0
pp_data->cap[169]->BitSize                      = 8
pp_data->cap[169]->ReportCount                  = 1
pp_data->cap[169]->BytePosition                 = 0x000C
pp_data->cap[169]->BitCount                     = 8
pp_data->cap[169]->BitField                     = 0x02
pp_data->cap[169]->NextBytePosition             = 0x000D
pp_data->cap[169]->LinkCollection               = 0x0003
pp_data->cap[169]->LinkUsagePage                = 0xFF01
pp_data->cap[169]->LinkUsage                    = 0x0080
pp_data->cap[169]->IsMultipleItemsForArray      = 0
pp_data->cap[169]->IsButtonCap                  = 0
pp_data->cap[169]->IsPadding                    = 0
pp_data->cap[169]->IsAbsolute                   = 1
pp_data->cap[169]->IsRange                      = 0
pp_data->cap[169]->IsAlias                      = 0
pp_data->cap[169]->IsStringRange                = 0
pp_data->cap[169]->IsDesignatorRange            = 0
pp_data->cap[169]->Reserved1                    = 0x000000
pp_data->cap[169]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[169]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[169]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[169]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[169]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[169]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[169]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[169]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[169]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[169]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[169]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[169]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[169]->NotRange.Usage                        = 0x0081
pp_data->cap[169]->NotRange.Reserved1                    = 0x0081
pp_data->cap[169]->NotRange.StringIndex                  = 0
pp_data->cap[169]->NotRange.Reserved2                    = 0
pp_data->cap[169]->NotRange.DesignatorIndex              = 0
pp_data->cap[169]->NotRange.Reserved3                    = 0
pp_data->cap[169]->NotRange.DataIndex                    = 82
pp_data->cap[169]->NotRange.Reserved4                    = 82
pp_data->cap[169]->NotButton.HasNull                   = 0
pp_data->cap[169]->NotButton.Reserved4                 = 0x000000
pp_data->cap[169]->NotButton.LogicalMin                = 0
pp_data->cap[169]->NotButton.LogicalMax                = 127
pp_data->cap[169]->NotButton.PhysicalMin               = 0
pp_data->cap[169]->NotButton.PhysicalMax               = 0
pp_data->cap[169]->Units                    = 0
pp_data->cap[169]->UnitsExp                 = 0

pp_data->cap[170]->UsagePage                    = 0xFF01
pp_data->cap[170]->ReportID                     = 0x80
pp_data->cap[170]->BitPosition                  = 0
pp_data->cap[170]->BitSize                      = 8
pp_data->cap[170]->ReportCount                  = 1
pp_data->cap[170]->BytePosition                 = 0x000B
pp_data->cap[170]->BitCount                     = 8
pp_data->cap[170]->BitField                     = 0x02
pp_data->cap[170]->NextBytePosition             = 0x000C
pp_data->cap[170]->LinkCollection               = 0x0003
pp_data->cap[170]->LinkUsagePage                = 0xFF01
pp_data->cap[170]->LinkUsage                    = 0x0080
pp_data->cap[170]->IsMultipleItemsForArray      = 0
pp_data->cap[170]->IsButtonCap                  = 0
pp_data->cap[170]->IsPadding                    = 0
pp_data->cap[170]->IsAbsolute                   = 1
pp_data->cap[170]->IsRange                      = 0
pp_data->cap[170]->IsAlias                      = 0
pp_data->cap[170]->IsStringRange                = 0
pp_data->cap[170]->IsDesignatorRange            = 0
pp_data->cap[170]->Reserved1                    = 0x000000
pp_data->cap[170]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[170]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[170]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[170]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[170]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[170]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[170]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[170]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[170]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[170]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[170]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[170]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[170]->NotRange.Usage                        = 0x0081
pp_data->cap[170]->NotRange.Reserved1                    = 0x0081
pp_data->cap[170]->NotRange.StringIndex                  = 0
pp_data->cap[170]->NotRange.Reserved2                    = 0
pp_data->cap[170]->NotRange.DesignatorIndex              = 0
pp_data->cap[170]->NotRange.Reserved3                    = 0
pp_data->cap[170]->NotRange.DataIndex                    = 83
pp_data->cap[170]->NotRange.Reserved4                    = 83
pp_data->cap[170]->NotButton.HasNull                   = 0
pp_data->cap[170]->NotButton.Reserved4                 = 0x000000
pp_data->cap[170]->NotButton.LogicalMin                = 0
pp_data->cap[170]->NotButton.LogicalMax                = 127
pp_data->cap[170]->NotButton.PhysicalMin               = 0
pp_data->cap[170]->NotButton.PhysicalMax               = 0
pp_data->cap[170]->Units                    = 0
pp_data->cap[170]->UnitsExp                 = 0

pp_data->cap[171]->UsagePage                    = 0xFF01
pp_data->cap[171]->ReportID                     = 0x80
pp_data->cap[171]->BitPosition                  = 0
pp_data->cap[171]->BitSize                      = 8
pp_data->cap[171]->ReportCount                  = 1
pp_data->cap[171]->BytePosition                 = 0x000A
pp_data->cap[171]->BitCount                     = 8
pp_data->cap[171]->BitField                     = 0x02
pp_data->cap[171]->NextBytePosition             = 0x000B
pp_data->cap[171]->LinkCollection               = 0x0003
pp_data->cap[171]->LinkUsagePage                = 0xFF01
pp_data->cap[171]->LinkUsage                    = 0x0080
pp_data->cap[171]->IsMultipleItemsForArray      = 0
pp_data->cap[171]->IsButtonCap                  = 0
pp_data->cap[171]->IsPadding                    = 0
pp_data->cap[171]->IsAbsolute                   = 1
pp_data->cap[171]->IsRange                      = 0
pp_data->cap[171]->IsAlias                      = 0
pp_data->cap[171]->IsStringRange                = 0
pp_data->cap[171]->IsDesignatorRange            = 0
pp_data->cap[171]->Reserved1                    = 0x000000
pp_data->cap[171]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[171]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[171]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[171]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[171]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[171]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[171]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[171]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[171]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[171]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[171]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[171]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[171]->NotRange.Usage                        = 0x0081
pp_data->cap[171]->NotRange.Reserved1                    = 0x0081
pp_data->cap[171]->NotRange.StringIndex                  = 0
pp_data->cap[171]->NotRange.Reserved2                    = 0
pp_data->cap[171]->NotRange.DesignatorIndex              = 0
pp_data->cap[171]->NotRange.Reserved3                    = 0
pp_data->cap[171]->NotRange.DataIndex                    = 84
pp_data->cap[171]->NotRange.Reserved4                    = 84
pp_data->cap[171]->NotButton.HasNull                   = 0
pp_data->cap[171]->NotButton.Reserved4                 = 0x000000
pp_data->cap[171]->NotButton.LogicalMin                = 0
pp_data->cap[171]->NotButton.LogicalMax                = 127
pp_data->cap[171]->NotButton.PhysicalMin               = 0
pp_data->cap[171]->NotButton.PhysicalMax               = 0
pp_data->cap[171]->Units                    = 0
pp_data->cap[171]->UnitsExp                 = 0

pp_data->cap[172]->UsagePage                    = 0xFF01
pp_data->cap[172]->ReportID                     = 0x80
pp_data->cap[172]->BitPosition                  = 0
pp_data->cap[172]->BitSize                      = 8
pp_data->cap[172]->ReportCount                  = 1
pp_data->cap[172]->BytePosition                 = 0x0009
pp_data->cap[172]->BitCount                     = 8
pp_data->cap[172]->BitField                     = 0x02
pp_data->cap[172]->NextBytePosition             = 0x000A
pp_data->cap[172]->LinkCollection               = 0x0003
pp_data->cap[172]->LinkUsagePage                = 0xFF01
pp_data->cap[172]->LinkUsage                    = 0x0080
pp_data->cap[172]->IsMultipleItemsForArray      = 0
pp_data->cap[172]->IsButtonCap                  = 0
pp_data->cap[172]->IsPadding                    = 0
pp_data->cap[172]->IsAbsolute                   = 1
pp_data->cap[172]->IsRange                      = 0
pp_data->cap[172]->IsAlias                      = 0
pp_data->cap[172]->IsStringRange                = 0
pp_data->cap[172]->IsDesignatorRange            = 0
pp_data->cap[172]->Reserved1                    = 0x000000
pp_data->cap[172]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[172]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[172]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[172]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[172]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[172]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[172]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[172]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[172]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[172]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[172]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[172]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[172]->NotRange.Usage                        = 0x0081
pp_data->cap[172]->NotRange.Reserved1                    = 0x0081
pp_data->cap[172]->NotRange.StringIndex                  = 0
pp_data->cap[172]->NotRange.Reserved2                    = 0
pp_data->cap[172]->NotRange.DesignatorIndex              = 0
pp_data->cap[172]->NotRange.Reserved3                    = 0
pp_data->cap[172]->NotRange.DataIndex                    = 85
pp_data->cap[172]->NotRange.Reserved4                    = 85
pp_data->cap[172]->NotButton.HasNull                   = 0
pp_data->cap[172]->NotButton.Reserved4                 = 0x000000
pp_data->cap[172]->NotButton.LogicalMin                = 0
pp_data->cap[172]->NotButton.LogicalMax                = 127
pp_data->cap[172]->NotButton.PhysicalMin               = 0
pp_data->cap[172]->NotButton.PhysicalMax               = 0
pp_data->cap[172]->Units                    = 0
pp_data->cap[172]->UnitsExp                 = 0

pp_data->cap[173]->UsagePage                    = 0xFF01
pp_data->cap[173]->ReportID                     = 0x80
pp_data->cap[173]->BitPosition                  = 0
pp_data->cap[173]->BitSize                      = 8
pp_data->cap[173]->ReportCount                  = 1
pp_data->cap[173]->BytePosition                 = 0x0008
pp_data->cap[173]->BitCount                     = 8
pp_data->cap[173]->BitField                     = 0x02
pp_data->cap[173]->NextBytePosition             = 0x0009
pp_data->cap[173]->LinkCollection               = 0x0003
pp_data->cap[173]->LinkUsagePage                = 0xFF01
pp_data->cap[173]->LinkUsage                    = 0x0080
pp_data->cap[173]->IsMultipleItemsForArray      = 0
pp_data->cap[173]->IsButtonCap                  = 0
pp_data->cap[173]->IsPadding                    = 0
pp_data->cap[173]->IsAbsolute                   = 1
pp_data->cap[173]->IsRange                      = 0
pp_data->cap[173]->IsAlias                      = 0
pp_data->cap[173]->IsStringRange                = 0
pp_data->cap[173]->IsDesignatorRange            = 0
pp_data->cap[173]->Reserved1                    = 0x000000
pp_data->cap[173]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[173]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[173]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[173]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[173]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[173]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[173]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[173]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[173]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[173]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[173]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[173]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[173]->NotRange.Usage                        = 0x0081
pp_data->cap[173]->NotRange.Reserved1                    = 0x0081
pp_data->cap[173]->NotRange.StringIndex                  = 0
pp_data->cap[173]->NotRange.Reserved2                    = 0
pp_data->cap[173]->NotRange.DesignatorIndex              = 0
pp_data->cap[173]->NotRange.Reserved3                    = 0
pp_data->cap[173]->NotRange.DataIndex                    = 86
pp_data->cap[173]->NotRange.Reserved4                    = 86
pp_data->cap[173]->NotButton.HasNull                   = 0
pp_data->cap[173]->NotButton.Reserved4                 = 0x000000
pp_data->cap[173]->NotButton.LogicalMin                = 0
pp_data->cap[173]->NotButton.LogicalMax                = 127
pp_data->cap[173]->NotButton.PhysicalMin               = 0
pp_data->cap[173]->NotButton.PhysicalMax               = 0
pp_data->cap[173]->Units                    = 0
pp_data->cap[173]->UnitsExp                 = 0

pp_data->cap[174]->UsagePage                    = 0xFF01
pp_data->cap[174]->ReportID                     = 0x80
pp_data->cap[174]->BitPosition                  = 0
pp_data->cap[174]->BitSize                      = 8
pp_data->cap[174]->ReportCount                  = 1
pp_data->cap[174]->BytePosition                 = 0x0007
pp_data->cap[174]->BitCount                     = 8
pp_data->cap[174]->BitField                     = 0x02
pp_data->cap[174]->NextBytePosition             = 0x0008
pp_data->cap[174]->LinkCollection               = 0x0003
pp_data->cap[174]->LinkUsagePage                = 0xFF01
pp_data->cap[174]->LinkUsage                    = 0x0080
pp_data->cap[174]->IsMultipleItemsForArray      = 0
pp_data->cap[174]->IsButtonCap                  = 0
pp_data->cap[174]->IsPadding                    = 0
pp_data->cap[174]->IsAbsolute                   = 1
pp_data->cap[174]->IsRange                      = 0
pp_data->cap[174]->IsAlias                      = 0
pp_data->cap[174]->IsStringRange                = 0
pp_data->cap[174]->IsDesignatorRange            = 0
pp_data->cap[174]->Reserved1                    = 0x000000
pp_data->cap[174]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[174]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[174]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[174]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[174]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[174]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[174]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[174]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[174]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[174]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[174]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[174]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[174]->NotRange.Usage                        = 0x0081
pp_data->cap[174]->NotRange.Reserved1                    = 0x0081
pp_data->cap[174]->NotRange.StringIndex                  = 0
pp_data->cap[174]->NotRange.Reserved2                    = 0
pp_data->cap[174]->NotRange.DesignatorIndex              = 0
pp_data->cap[174]->NotRange.Reserved3                    = 0
pp_data->cap[174]->NotRange.DataIndex                    = 87
pp_data->cap[174]->NotRange.Reserved4                    = 87
pp_data->cap[174]->NotButton.HasNull                   = 0
pp_data->cap[174]->NotButton.Reserved4                 = 0x000000
pp_data->cap[174]->NotButton.LogicalMin                = 0
pp_data->cap[174]->NotButton.LogicalMax                = 127
pp_data->cap[174]->NotButton.PhysicalMin               = 0
pp_data->cap[174]->NotButton.PhysicalMax               = 0
pp_data->cap[174]->Units                    = 0
pp_data->cap[174]->UnitsExp                 = 0

pp_data->cap[175]->UsagePage                    = 0xFF01
pp_data->cap[175]->ReportID                     = 0x80
pp_data->cap[175]->BitPosition                  = 0
pp_data->cap[175]->BitSize                      = 8
pp_data->cap[175]->ReportCount                  = 1
pp_data->cap[175]->BytePosition                 = 0x0006
pp_data->cap[175]->BitCount                     = 8
pp_data->cap[175]->BitField                     = 0x02
pp_data->cap[175]->NextBytePosition             = 0x0007
pp_data->cap[175]->LinkCollection               = 0x0003
pp_data->cap[175]->LinkUsagePage                = 0xFF01
pp_data->cap[175]->LinkUsage                    = 0x0080
pp_data->cap[175]->IsMultipleItemsForArray      = 0
pp_data->cap[175]->IsButtonCap                  = 0
pp_data->cap[175]->IsPadding                    = 0
pp_data->cap[175]->IsAbsolute                   = 1
pp_data->cap[175]->IsRange                      = 0
pp_data->cap[175]->IsAlias                      = 0
pp_data->cap[175]->IsStringRange                = 0
pp_data->cap[175]->IsDesignatorRange            = 0
pp_data->cap[175]->Reserved1                    = 0x000000
pp_data->cap[175]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[175]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[175]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[175]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[175]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[175]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[175]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[175]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[175]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[175]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[175]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[175]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[175]->NotRange.Usage                        = 0x0081
pp_data->cap[175]->NotRange.Reserved1                    = 0x0081
pp_data->cap[175]->NotRange.StringIndex                  = 0
pp_data->cap[175]->NotRange.Reserved2                    = 0
pp_data->cap[175]->NotRange.DesignatorIndex              = 0
pp_data->cap[175]->NotRange.Reserved3                    = 0
pp_data->cap[175]->NotRange.DataIndex                    = 88
pp_data->cap[175]->NotRange.Reserved4                    = 88
pp_data->cap[175]->NotButton.HasNull                   = 0
pp_data->cap[175]->NotButton.Reserved4                 = 0x000000
pp_data->cap[175]->NotButton.LogicalMin                = 0
pp_data->cap[175]->NotButton.LogicalMax                = 127
pp_data->cap[175]->NotButton.PhysicalMin               = 0
pp_data->cap[175]->NotButton.PhysicalMax               = 0
pp_data->cap[175]->Units                    = 0
pp_data->cap[175]->UnitsExp                 = 0

pp_data->cap[176]->UsagePage                    = 0xFF01
pp_data->cap[176]->ReportID                     = 0x80
pp_data->cap[176]->BitPosition                  = 0
pp_data->cap[176]->BitSize                      = 8
pp_data->cap[176]->ReportCount                  = 1
pp_data->cap[176]->BytePosition                 = 0x0005
pp_data->cap[176]->BitCount                     = 8
pp_data->cap[176]->BitField                     = 0x02
pp_data->cap[176]->NextBytePosition             = 0x0006
pp_data->cap[176]->LinkCollection               = 0x0003
pp_data->cap[176]->LinkUsagePage                = 0xFF01
pp_data->cap[176]->LinkUsage                    = 0x0080
pp_data->cap[176]->IsMultipleItemsForArray      = 0
pp_data->cap[176]->IsButtonCap                  = 0
pp_data->cap[176]->IsPadding                    = 0
pp_data->cap[176]->IsAbsolute                   = 1
pp_data->cap[176]->IsRange                      = 0
pp_data->cap[176]->IsAlias                      = 0
pp_data->cap[176]->IsStringRange                = 0
pp_data->cap[176]->IsDesignatorRange            = 0
pp_data->cap[176]->Reserved1                    = 0x000000
pp_data->cap[176]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[176]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[176]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[176]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[176]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[176]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[176]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[176]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[176]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[176]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[176]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[176]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[176]->NotRange.Usage                        = 0x0081
pp_data->cap[176]->NotRange.Reserved1                    = 0x0081
pp_data->cap[176]->NotRange.StringIndex                  = 0
pp_data->cap[176]->NotRange.Reserved2                    = 0
pp_data->cap[176]->NotRange.DesignatorIndex              = 0
pp_data->cap[176]->NotRange.Reserved3                    = 0
pp_data->cap[176]->NotRange.DataIndex                    = 89
pp_data->cap[176]->NotRange.Reserved4                    = 89
pp_data->cap[176]->NotButton.HasNull                   = 0
pp_data->cap[176]->NotButton.Reserved4                 = 0x000000
pp_data->cap[176]->NotButton.LogicalMin                = 0
pp_data->cap[176]->NotButton.LogicalMax                = 127
pp_data->cap[176]->NotButton.PhysicalMin               = 0
pp_data->cap[176]->NotButton.PhysicalMax               = 0
pp_data->cap[176]->Units                    = 0
pp_data->cap[176]->UnitsExp                 = 0

pp_data->cap[177]->UsagePage                    = 0xFF01
pp_data->cap[177]->ReportID                     = 0x80
pp_data->cap[177]->BitPosition                  = 0
pp_data->cap[177]->BitSize                      = 8
pp_data->cap[177]->ReportCount                  = 1
pp_data->cap[177]->BytePosition                 = 0x0004
pp_data->cap[177]->BitCount                     = 8
pp_data->cap[177]->BitField                     = 0x02
pp_data->cap[177]->NextBytePosition             = 0x0005
pp_data->cap[177]->LinkCollection               = 0x0003
pp_data->cap[177]->LinkUsagePage                = 0xFF01
pp_data->cap[177]->LinkUsage                    = 0x0080
pp_data->cap[177]->IsMultipleItemsForArray      = 0
pp_data->cap[177]->IsButtonCap                  = 0
pp_data->cap[177]->IsPadding                    = 0
pp_data->cap[177]->IsAbsolute                   = 1
pp_data->cap[177]->IsRange                      = 0
pp_data->cap[177]->IsAlias                      = 0
pp_data->cap[177]->IsStringRange                = 0
pp_data->cap[177]->IsDesignatorRange            = 0
pp_data->cap[177]->Reserved1                    = 0x000000
pp_data->cap[177]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[177]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[177]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[177]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[177]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[177]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[177]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[177]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[177]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[177]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[177]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[177]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[177]->NotRange.Usage                        = 0x0081
pp_data->cap[177]->NotRange.Reserved1                    = 0x0081
pp_data->cap[177]->NotRange.StringIndex                  = 0
pp_data->cap[177]->NotRange.Reserved2                    = 0
pp_data->cap[177]->NotRange.DesignatorIndex              = 0
pp_data->cap[177]->NotRange.Reserved3                    = 0
pp_data->cap[177]->NotRange.DataIndex                    = 90
pp_data->cap[177]->NotRange.Reserved4                    = 90
pp_data->cap[177]->NotButton.HasNull                   = 0
pp_data->cap[177]->NotButton.Reserved4                 = 0x000000
pp_data->cap[177]->NotButton.LogicalMin                = 0
pp_data->cap[177]->NotButton.LogicalMax                = 127
pp_data->cap[177]->NotButton.PhysicalMin               = 0
pp_data->cap[177]->NotButton.PhysicalMax               = 0
pp_data->cap[177]->Units                    = 0
pp_data->cap[177]->UnitsExp                 = 0

pp_data->cap[178]->UsagePage                    = 0xFF01
pp_data->cap[178]->ReportID                     = 0x80
pp_data->cap[178]->BitPosition                  = 0
pp_data->cap[178]->BitSize                      = 8
pp_data->cap[178]->ReportCount                  = 1
pp_data->cap[178]->BytePosition                 = 0x0003
pp_data->cap[178]->BitCount                     = 8
pp_data->cap[178]->BitField                     = 0x02
pp_data->cap[178]->NextBytePosition             = 0x0004
pp_data->cap[178]->LinkCollection               = 0x0003
pp_data->cap[178]->LinkUsagePage                = 0xFF01
pp_data->cap[178]->LinkUsage                    = 0x0080
pp_data->cap[178]->IsMultipleItemsForArray      = 0
pp_data->cap[178]->IsButtonCap                  = 0
pp_data->cap[178]->IsPadding                    = 0
pp_data->cap[178]->IsAbsolute                   = 1
pp_data->cap[178]->IsRange                      = 0
pp_data->cap[178]->IsAlias                      = 0
pp_data->cap[178]->IsStringRange                = 0
pp_data->cap[178]->IsDesignatorRange            = 0
pp_data->cap[178]->Reserved1                    = 0x000000
pp_data->cap[178]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[178]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[178]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[178]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[178]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[178]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[178]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[178]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[178]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[178]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[178]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[178]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[178]->NotRange.Usage                        = 0x0081
pp_data->cap[178]->NotRange.Reserved1                    = 0x0081
pp_data->cap[178]->NotRange.StringIndex                  = 0
pp_data->cap[178]->NotRange.Reserved2                    = 0
pp_data->cap[178]->NotRange.DesignatorIndex              = 0
pp_data->cap[178]->NotRange.Reserved3                    = 0
pp_data->cap[178]->NotRange.DataIndex                    = 91
pp_data->cap[178]->NotRange.Reserved4                    = 91
pp_data->cap[178]->NotButton.HasNull                   = 0
pp_data->cap[178]->NotButton.Reserved4                 = 0x000000
pp_data->cap[178]->NotButton.LogicalMin                = 0
pp_data->cap[178]->NotButton.LogicalMax                = 127
pp_data->cap[178]->NotButton.PhysicalMin               = 0
pp_data->cap[178]->NotButton.PhysicalMax               = 0
pp_data->cap[178]->Units                    = 0
pp_data->cap[178]->UnitsExp                 = 0

pp_data->cap[179]->UsagePage                    = 0xFF01
pp_data->cap[179]->ReportID                     = 0x80
pp_data->cap[179]->BitPosition                  = 0
pp_data->cap[179]->BitSize                      = 8
pp_data->cap[179]->ReportCount                  = 1
pp_data->cap[179]->BytePosition                 = 0x0002
pp_data->cap[179]->BitCount                     = 8
pp_data->cap[179]->BitField                     = 0x02
pp_data->cap[179]->NextBytePosition             = 0x0003
pp_data->cap[179]->LinkCollection               = 0x0003
pp_data->cap[179]->LinkUsagePage                = 0xFF01
pp_data->cap[179]->LinkUsage                    = 0x0080
pp_data->cap[179]->IsMultipleItemsForArray      = 0
pp_data->cap[179]->IsButtonCap                  = 0
pp_data->cap[179]->IsPadding                    = 0
pp_data->cap[179]->IsAbsolute                   = 1
pp_data->cap[179]->IsRange                      = 0
pp_data->cap[179]->IsAlias                      = 0
pp_data->cap[179]->IsStringRange                = 0
pp_data->cap[179]->IsDesignatorRange            = 0
pp_data->cap[179]->Reserved1                    = 0x000000
pp_data->cap[179]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[179]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[179]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[179]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[179]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[179]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[179]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[179]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[179]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[179]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[179]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[179]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[179]->NotRange.Usage                        = 0x0081
pp_data->cap[179]->NotRange.Reserved1                    = 0x0081
pp_data->cap[179]->NotRange.StringIndex                  = 0
pp_data->cap[179]->NotRange.Reserved2                    = 0
pp_data->cap[179]->NotRange.DesignatorIndex              = 0
pp_data->cap[179]->NotRange.Reserved3                    = 0
pp_data->cap[179]->NotRange.DataIndex                    = 92
pp_data->cap[179]->NotRange.Reserved4                    = 92
pp_data->cap[179]->NotButton.HasNull                   = 0
pp_data->cap[179]->NotButton.Reserved4                 = 0x000000
pp_data->cap[179]->NotButton.LogicalMin                = 0
pp_data->cap[179]->NotButton.LogicalMax                = 127
pp_data->cap[179]->NotButton.PhysicalMin               = 0
pp_data->cap[179]->NotButton.PhysicalMax               = 0
pp_data->cap[179]->Units                    = 0
pp_data->cap[179]->UnitsExp                 = 0

pp_data->cap[180]->UsagePage                    = 0xFF01
pp_data->cap[180]->ReportID                     = 0x80
pp_data->cap[180]->BitPosition                  = 0
pp_data->cap[180]->BitSize                      = 8
pp_data->cap[180]->ReportCount                  = 1
pp_data->cap[180]->BytePosition                 = 0x0001
pp_data->cap[180]->BitCount                     = 8
pp_data->cap[180]->BitField                     = 0x02
pp_data->cap[180]->NextBytePosition             = 0x0002
pp_data->cap[180]->LinkCollection               = 0x0003
pp_data->cap[180]->LinkUsagePage                = 0xFF01
pp_data->cap[180]->LinkUsage                    = 0x0080
pp_data->cap[180]->IsMultipleItemsForArray      = 0
pp_data->cap[180]->IsButtonCap                  = 0
pp_data->cap[180]->IsPadding                    = 0
pp_data->cap[180]->IsAbsolute                   = 1
pp_data->cap[180]->IsRange                      = 0
pp_data->cap[180]->IsAlias                      = 0
pp_data->cap[180]->IsStringRange                = 0
pp_data->cap[180]->IsDesignatorRange            = 0
pp_data->cap[180]->Reserved1                    = 0x000000
pp_data->cap[180]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[180]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[180]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[180]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[180]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[180]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[180]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[180]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[180]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[180]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[180]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[180]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[180]->NotRange.Usage                        = 0x0081
pp_data->cap[180]->NotRange.Reserved1                    = 0x0081
pp_data->cap[180]->NotRange.StringIndex                  = 0
pp_data->cap[180]->NotRange.Reserved2                    = 0
pp_data->cap[180]->NotRange.DesignatorIndex              = 0
pp_data->cap[180]->NotRange.Reserved3                    = 0
pp_data->cap[180]->NotRange.DataIndex                    = 93
pp_data->cap[180]->NotRange.Reserved4                    = 93
pp_data->cap[180]->NotButton.HasNull                   = 0
pp_data->cap[180]->NotButton.Reserved4                 = 0x000000
pp_data->cap[180]->NotButton.LogicalMin                = 0
pp_data->cap[180]->NotButton.LogicalMax                = 127
pp_data->cap[180]->NotButton.PhysicalMin               = 0
pp_data->cap[180]->NotButton.PhysicalMax               = 0
pp_data->cap[180]->Units                    = 0
pp_data->cap[180]->UnitsExp                 = 0

pp_data->cap[181]->UsagePage                    = 0xFF01
pp_data->cap[181]->ReportID                     = 0x81
pp_data->cap[181]->BitPosition                  = 0
pp_data->cap[181]->BitSize                      = 8
pp_data->cap[181]->ReportCount                  = 1
pp_data->cap[181]->BytePosition                 = 0x0028
pp_data->cap[181]->BitCount                     = 8
pp_data->cap[181]->BitField                     = 0x02
pp_data->cap[181]->NextBytePosition             = 0x0029
pp_data->cap[181]->LinkCollection               = 0x0004
pp_data->cap[181]->LinkUsagePage                = 0xFF01
pp_data->cap[181]->LinkUsage                    = 0x0080
pp_data->cap[181]->IsMultipleItemsForArray      = 0
pp_data->cap[181]->IsButtonCap                  = 0
pp_data->cap[181]->IsPadding                    = 0
pp_data->cap[181]->IsAbsolute                   = 1
pp_data->cap[181]->IsRange                      = 0
pp_data->cap[181]->IsAlias                      = 0
pp_data->cap[181]->IsStringRange                = 0
pp_data->cap[181]->IsDesignatorRange            = 0
pp_data->cap[181]->Reserved1                    = 0x000000
pp_data->cap[181]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[181]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[181]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[181]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[181]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[181]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[181]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[181]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[181]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[181]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[181]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[181]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[181]->NotRange.Usage                        = 0x0081
pp_data->cap[181]->NotRange.Reserved1                    = 0x0081
pp_data->cap[181]->NotRange.StringIndex                  = 0
pp_data->cap[181]->NotRange.Reserved2                    = 0
pp_data->cap[181]->NotRange.DesignatorIndex              = 0
pp_data->cap[181]->NotRange.Reserved3                    = 0
pp_data->cap[181]->NotRange.DataIndex                    = 94
pp_data->cap[181]->NotRange.Reserved4                    = 94
pp_data->cap[181]->NotButton.HasNull                   = 0
pp_data->cap[181]->NotButton.Reserved4                 = 0x000000
pp_data->cap[181]->NotButton.LogicalMin                = 0
pp_data->cap[181]->NotButton.LogicalMax                = 127
pp_data->cap[181]->NotButton.PhysicalMin               = 0
pp_data->cap[181]->NotButton.PhysicalMax               = 0
pp_data->cap[181]->Units                    = 0
pp_data->cap[181]->UnitsExp                 = 0

pp_data->cap[182]->UsagePage                    = 0xFF01
pp_data->cap[182]->ReportID                     = 0x81
pp_data->cap[182]->BitPosition                  = 0
pp_data->cap[182]->BitSize                      = 8
pp_data->cap[182]->ReportCount                  = 1
pp_data->cap[182]->BytePosition                 = 0x0027
pp_data->cap[182]->BitCount                     = 8
pp_data->cap[182]->BitField                     = 0x02
pp_data->cap[182]->NextBytePosition             = 0x0028
pp_data->cap[182]->LinkCollection               = 0x0004
pp_data->cap[182]->LinkUsagePage                = 0xFF01
pp_data->cap[182]->LinkUsage                    = 0x0080
pp_data->cap[182]->IsMultipleItemsForArray      = 0
pp_data->cap[182]->IsButtonCap                  = 0
pp_data->cap[182]->IsPadding                    = 0
pp_data->cap[182]->IsAbsolute                   = 1
pp_data->cap[182]->IsRange                      = 0
pp_data->cap[182]->IsAlias                      = 0
pp_data->cap[182]->IsStringRange                = 0
pp_data->cap[182]->IsDesignatorRange            = 0
pp_data->cap[182]->Reserved1                    = 0x000000
pp_data->cap[182]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[182]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[182]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[182]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[182]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[182]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[182]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[182]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[182]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[182]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[182]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[182]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[182]->NotRange.Usage                        = 0x0081
pp_data->cap[182]->NotRange.Reserved1                    = 0x0081
pp_data->cap[182]->NotRange.StringIndex                  = 0
pp_data->cap[182]->NotRange.Reserved2                    = 0
pp_data->cap[182]->NotRange.DesignatorIndex              = 0
pp_data->cap[182]->NotRange.Reserved3                    = 0
pp_data->cap[182]->NotRange.DataIndex                    = 95
pp_data->cap[182]->NotRange.Reserved4                    = 95
pp_data->cap[182]->NotButton.HasNull                   = 0
pp_data->cap[182]->NotButton.Reserved4                 = 0x000000
pp_data->cap[182]->NotButton.LogicalMin                = 0
pp_data->cap[182]->NotButton.LogicalMax                = 127
pp_data->cap[182]->NotButton.PhysicalMin               = 0
pp_data->cap[182]->NotButton.PhysicalMax               = 0
pp_data->cap[182]->Units                    = 0
pp_data->cap[182]->UnitsExp                 = 0

pp_data->cap[183]->UsagePage                    = 0xFF01
pp_data->cap[183]->ReportID                     = 0x81
pp_data->cap[183]->BitPosition                  = 0
pp_data->cap[183]->BitSize                      = 8
pp_data->cap[183]->ReportCount                  = 1
pp_data->cap[183]->BytePosition                 = 0x0026
pp_data->cap[183]->BitCount                     = 8
pp_data->cap[183]->BitField                     = 0x02
pp_data->cap[183]->NextBytePosition             = 0x0027
pp_data->cap[183]->LinkCollection               = 0x0004
pp_data->cap[183]->LinkUsagePage                = 0xFF01
pp_data->cap[183]->LinkUsage                    = 0x0080
pp_data->cap[183]->IsMultipleItemsForArray      = 0
pp_data->cap[183]->IsButtonCap                  = 0
pp_data->cap[183]->IsPadding                    = 0
pp_data->cap[183]->IsAbsolute                   = 1
pp_data->cap[183]->IsRange                      = 0
pp_data->cap[183]->IsAlias                      = 0
pp_data->cap[183]->IsStringRange                = 0
pp_data->cap[183]->IsDesignatorRange            = 0
pp_data->cap[183]->Reserved1                    = 0x000000
pp_data->cap[183]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[183]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[183]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[183]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[183]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[183]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[183]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[183]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[183]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[183]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[183]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[183]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[183]->NotRange.Usage                        = 0x0081
pp_data->cap[183]->NotRange.Reserved1                    = 0x0081
pp_data->cap[183]->NotRange.StringIndex                  = 0
pp_data->cap[183]->NotRange.Reserved2                    = 0
pp_data->cap[183]->NotRange.DesignatorIndex              = 0
pp_data->cap[183]->NotRange.Reserved3                    = 0
pp_data->cap[183]->NotRange.DataIndex                    = 96
pp_data->cap[183]->NotRange.Reserved4                    = 96
pp_data->cap[183]->NotButton.HasNull                   = 0
pp_data->cap[183]->NotButton.Reserved4                 = 0x000000
pp_data->cap[183]->NotButton.LogicalMin                = 0
pp_data->cap[183]->NotButton.LogicalMax                = 127
pp_data->cap[183]->NotButton.PhysicalMin               = 0
pp_data->cap[183]->NotButton.PhysicalMax               = 0
pp_data->cap[183]->Units                    = 0
pp_data->cap[183]->UnitsExp                 = 0

pp_data->cap[184]->UsagePage                    = 0xFF01
pp_data->cap[184]->ReportID                     = 0x81
pp_data->cap[184]->BitPosition                  = 0
pp_data->cap[184]->BitSize                      = 8
pp_data->cap[184]->ReportCount                  = 1
pp_data->cap[184]->BytePosition                 = 0x0025
pp_data->cap[184]->BitCount                     = 8
pp_data->cap[184]->BitField                     = 0x02
pp_data->cap[184]->NextBytePosition             = 0x0026
pp_data->cap[184]->LinkCollection               = 0x0004
pp_data->cap[184]->LinkUsagePage                = 0xFF01
pp_data->cap[184]->LinkUsage                    = 0x0080
pp_data->cap[184]->IsMultipleItemsForArray      = 0
pp_data->cap[184]->IsButtonCap                  = 0
pp_data->cap[184]->IsPadding                    = 0
pp_data->cap[184]->IsAbsolute                   = 1
pp_data->cap[184]->IsRange                      = 0
pp_data->cap[184]->IsAlias                      = 0
pp_data->cap[184]->IsStringRange                = 0
pp_data->cap[184]->IsDesignatorRange            = 0
pp_data->cap[184]->Reserved1                    = 0x000000
pp_data->cap[184]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[184]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[184]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[184]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[184]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[184]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[184]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[184]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[184]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[184]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[184]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[184]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[184]->NotRange.Usage                        = 0x0081
pp_data->cap[184]->NotRange.Reserved1                    = 0x0081
pp_data->cap[184]->NotRange.StringIndex                  = 0
pp_data->cap[184]->NotRange.Reserved2                    = 0
pp_data->cap[184]->NotRange.DesignatorIndex              = 0
pp_data->cap[184]->NotRange.Reserved3                    = 0
pp_data->cap[184]->NotRange.DataIndex                    = 97
pp_data->cap[184]->NotRange.Reserved4                    = 97
pp_data->cap[184]->NotButton.HasNull                   = 0
pp_data->cap[184]->NotButton.Reserved4                 = 0x000000
pp_data->cap[184]->NotButton.LogicalMin                = 0
pp_data->cap[184]->NotButton.LogicalMax                = 127
pp_data->cap[184]->NotButton.PhysicalMin               = 0
pp_data->cap[184]->NotButton.PhysicalMax               = 0
pp_data->cap[184]->Units                    = 0
pp_data->cap[184]->UnitsExp                 = 0

pp_data->cap[185]->UsagePage                    = 0xFF01
pp_data->cap[185]->ReportID                     = 0x81
pp_data->cap[185]->BitPosition                  = 0
pp_data->cap[185]->BitSize                      = 8
pp_data->cap[185]->ReportCount                  = 1
pp_data->cap[185]->BytePosition                 = 0x0024
pp_data->cap[185]->BitCount                     = 8
pp_data->cap[185]->BitField                     = 0x02
pp_data->cap[185]->NextBytePosition             = 0x0025
pp_data->cap[185]->LinkCollection               = 0x0004
pp_data->cap[185]->LinkUsagePage                = 0xFF01
pp_data->cap[185]->LinkUsage                    = 0x0080
pp_data->cap[185]->IsMultipleItemsForArray      = 0
pp_data->cap[185]->IsButtonCap                  = 0
pp_data->cap[185]->IsPadding                    = 0
pp_data->cap[185]->IsAbsolute                   = 1
pp_data->cap[185]->IsRange                      = 0
pp_data->cap[185]->IsAlias                      = 0
pp_data->cap[185]->IsStringRange                = 0
pp_data->cap[185]->IsDesignatorRange            = 0
pp_data->cap[185]->Reserved1                    = 0x000000
pp_data->cap[185]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[185]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[185]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[185]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[185]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[185]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[185]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[185]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[185]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[185]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[185]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[185]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[185]->NotRange.Usage                        = 0x0081
pp_data->cap[185]->NotRange.Reserved1                    = 0x0081
pp_data->cap[185]->NotRange.StringIndex                  = 0
pp_data->cap[185]->NotRange.Reserved2                    = 0
pp_data->cap[185]->NotRange.DesignatorIndex              = 0
pp_data->cap[185]->NotRange.Reserved3                    = 0
pp_data->cap[185]->NotRange.DataIndex                    = 98
pp_data->cap[185]->NotRange.Reserved4                    = 98
pp_data->cap[185]->NotButton.HasNull                   = 0
pp_data->cap[185]->NotButton.Reserved4                 = 0x000000
pp_data->cap[185]->NotButton.LogicalMin                = 0
pp_data->cap[185]->NotButton.LogicalMax                = 127
pp_data->cap[185]->NotButton.PhysicalMin               = 0
pp_data->cap[185]->NotButton.PhysicalMax               = 0
pp_data->cap[185]->Units                    = 0
pp_data->cap[185]->UnitsExp                 = 0

pp_data->cap[186]->UsagePage                    = 0xFF01
pp_data->cap[186]->ReportID                     = 0x81
pp_data->cap[186]->BitPosition                  = 0
pp_data->cap[186]->BitSize                      = 8
pp_data->cap[186]->ReportCount                  = 1
pp_data->cap[186]->BytePosition                 = 0x0023
pp_data->cap[186]->BitCount                     = 8
pp_data->cap[186]->BitField                     = 0x02
pp_data->cap[186]->NextBytePosition             = 0x0024
pp_data->cap[186]->LinkCollection               = 0x0004
pp_data->cap[186]->LinkUsagePage                = 0xFF01
pp_data->cap[186]->LinkUsage                    = 0x0080
pp_data->cap[186]->IsMultipleItemsForArray      = 0
pp_data->cap[186]->IsButtonCap                  = 0
pp_data->cap[186]->IsPadding                    = 0
pp_data->cap[186]->IsAbsolute                   = 1
pp_data->cap[186]->IsRange                      = 0
pp_data->cap[186]->IsAlias                      = 0
pp_data->cap[186]->IsStringRange                = 0
pp_data->cap[186]->IsDesignatorRange            = 0
pp_data->cap[186]->Reserved1                    = 0x000000
pp_data->cap[186]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[186]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[186]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[186]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[186]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[186]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[186]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[186]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[186]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[186]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[186]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[186]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[186]->NotRange.Usage                        = 0x0081
pp_data->cap[186]->NotRange.Reserved1                    = 0x0081
pp_data->cap[186]->NotRange.StringIndex                  = 0
pp_data->cap[186]->NotRange.Reserved2                    = 0
pp_data->cap[186]->NotRange.DesignatorIndex              = 0
pp_data->cap[186]->NotRange.Reserved3                    = 0
pp_data->cap[186]->NotRange.DataIndex                    = 99
pp_data->cap[186]->NotRange.Reserved4                    = 99
pp_data->cap[186]->NotButton.HasNull                   = 0
pp_data->cap[186]->NotButton.Reserved4                 = 0x000000
pp_data->cap[186]->NotButton.LogicalMin                = 0
pp_data->cap[186]->NotButton.LogicalMax                = 127
pp_data->cap[186]->NotButton.PhysicalMin               = 0
pp_data->cap[186]->NotButton.PhysicalMax               = 0
pp_data->cap[186]->Units                    = 0
pp_data->cap[186]->UnitsExp                 = 0

pp_data->cap[187]->UsagePage                    = 0xFF01
pp_data->cap[187]->ReportID                     = 0x81
pp_data->cap[187]->BitPosition                  = 0
pp_data->cap[187]->BitSize                      = 8
pp_data->cap[187]->ReportCount                  = 1
pp_data->cap[187]->BytePosition                 = 0x0022
pp_data->cap[187]->BitCount                     = 8
pp_data->cap[187]->BitField                     = 0x02
pp_data->cap[187]->NextBytePosition             = 0x0023
pp_data->cap[187]->LinkCollection               = 0x0004
pp_data->cap[187]->LinkUsagePage                = 0xFF01
pp_data->cap[187]->LinkUsage                    = 0x0080
pp_data->cap[187]->IsMultipleItemsForArray      = 0
pp_data->cap[187]->IsButtonCap                  = 0
pp_data->cap[187]->IsPadding                    = 0
pp_data->cap[187]->IsAbsolute                   = 1
pp_data->cap[187]->IsRange                      = 0
pp_data->cap[187]->IsAlias                      = 0
pp_data->cap[187]->IsStringRange                = 0
pp_data->cap[187]->IsDesignatorRange            = 0
pp_data->cap[187]->Reserved1                    = 0x000000
pp_data->cap[187]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[187]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[187]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[187]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[187]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[187]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[187]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[187]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[187]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[187]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[187]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[187]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[187]->NotRange.Usage                        = 0x0081
pp_data->cap[187]->NotRange.Reserved1                    = 0x0081
pp_data->cap[187]->NotRange.StringIndex                  = 0
pp_data->cap[187]->NotRange.Reserved2                    = 0
pp_data->cap[187]->NotRange.DesignatorIndex              = 0
pp_data->cap[187]->NotRange.Reserved3                    = 0
pp_data->cap[187]->NotRange.DataIndex                    = 100
pp_data->cap[187]->NotRange.Reserved4                    = 100
pp_data->cap[187]->NotButton.HasNull                   = 0
pp_data->cap[187]->NotButton.Reserved4                 = 0x000000
pp_data->cap[187]->NotButton.LogicalMin                = 0
pp_data->cap[187]->NotButton.LogicalMax                = 127
pp_data->cap[187]->NotButton.PhysicalMin               = 0
pp_data->cap[187]->NotButton.PhysicalMax               = 0
pp_data->cap[187]->Units                    = 0
pp_data->cap[187]->UnitsExp                 = 0

pp_data->cap[188]->UsagePage                    = 0xFF01
pp_data->cap[188]->ReportID                     = 0x81
pp_data->cap[188]->BitPosition                  = 0
pp_data->cap[188]->BitSize                      = 8
pp_data->cap[188]->ReportCount                  = 1
pp_data->cap[188]->BytePosition                 = 0x0021
pp_data->cap[188]->BitCount                     = 8
pp_data->cap[188]->BitField                     = 0x02
pp_data->cap[188]->NextBytePosition             = 0x0022
pp_data->cap[188]->LinkCollection               = 0x0004
pp_data->cap[188]->LinkUsagePage                = 0xFF01
pp_data->cap[188]->LinkUsage                    = 0x0080
pp_data->cap[188]->IsMultipleItemsForArray      = 0
pp_data->cap[188]->IsButtonCap                  = 0
pp_data->cap[188]->IsPadding                    = 0
pp_data->cap[188]->IsAbsolute                   = 1
pp_data->cap[188]->IsRange                      = 0
pp_data->cap[188]->IsAlias                      = 0
pp_data->cap[188]->IsStringRange                = 0
pp_data->cap[188]->IsDesignatorRange            = 0
pp_data->cap[188]->Reserved1                    = 0x000000
pp_data->cap[188]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[188]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[188]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[188]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[188]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[188]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[188]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[188]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[188]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[188]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[188]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[188]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[188]->NotRange.Usage                        = 0x0081
pp_data->cap[188]->NotRange.Reserved1                    = 0x0081
pp_data->cap[188]->NotRange.StringIndex                  = 0
pp_data->cap[188]->NotRange.Reserved2                    = 0
pp_data->cap[188]->NotRange.DesignatorIndex              = 0
pp_data->cap[188]->NotRange.Reserved3                    = 0
pp_data->cap[188]->NotRange.DataIndex                    = 101
pp_data->cap[188]->NotRange.Reserved4                    = 101
pp_data->cap[188]->NotButton.HasNull                   = 0
pp_data->cap[188]->NotButton.Reserved4                 = 0x000000
pp_data->cap[188]->NotButton.LogicalMin                = 0
pp_data->cap[188]->NotButton.LogicalMax                = 127
pp_data->cap[188]->NotButton.PhysicalMin               = 0
pp_data->cap[188]->NotButton.PhysicalMax               = 0
pp_data->cap[188]->Units                    = 0
pp_data->cap[188]->UnitsExp                 = 0

pp_data->cap[189]->UsagePage                    = 0xFF01
pp_data->cap[189]->ReportID                     = 0x81
pp_data->cap[189]->BitPosition                  = 0
pp_data->cap[189]->BitSize                      = 8
pp_data->cap[189]->ReportCount                  = 1
pp_data->cap[189]->BytePosition                 = 0x0020
pp_data->cap[189]->BitCount                     = 8
pp_data->cap[189]->BitField                     = 0x02
pp_data->cap[189]->NextBytePosition             = 0x0021
pp_data->cap[189]->LinkCollection               = 0x0004
pp_data->cap[189]->LinkUsagePage                = 0xFF01
pp_data->cap[189]->LinkUsage                    = 0x0080
pp_data->cap[189]->IsMultipleItemsForArray      = 0
pp_data->cap[189]->IsButtonCap                  = 0
pp_data->cap[189]->IsPadding                    = 0
pp_data->cap[189]->IsAbsolute                   = 1
pp_data->cap[189]->IsRange                      = 0
pp_data->cap[189]->IsAlias                      = 0
pp_data->cap[189]->IsStringRange                = 0
pp_data->cap[189]->IsDesignatorRange            = 0
pp_data->cap[189]->Reserved1                    = 0x000000
pp_data->cap[189]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[189]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[189]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[189]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[189]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[189]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[189]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[189]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[189]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[189]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[189]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[189]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[189]->NotRange.Usage                        = 0x0081
pp_data->cap[189]->NotRange.Reserved1                    = 0x0081
pp_data->cap[189]->NotRange.StringIndex                  = 0
pp_data->cap[189]->NotRange.Reserved2                    = 0
pp_data->cap[189]->NotRange.DesignatorIndex              = 0
pp_data->cap[189]->NotRange.Reserved3                    = 0
pp_data->cap[189]->NotRange.DataIndex                    = 102
pp_data->cap[189]->NotRange.Reserved4                    = 102
pp_data->cap[189]->NotButton.HasNull                   = 0
pp_data->cap[189]->NotButton.Reserved4                 = 0x000000
pp_data->cap[189]->NotButton.LogicalMin                = 0
pp_data->cap[189]->NotButton.LogicalMax                = 127
pp_data->cap[189]->NotButton.PhysicalMin               = 0
pp_data->cap[189]->NotButton.PhysicalMax               = 0
pp_data->cap[189]->Units                    = 0
pp_data->cap[189]->UnitsExp                 = 0

pp_data->cap[190]->UsagePage                    = 0xFF01
pp_data->cap[190]->ReportID                     = 0x81
pp_data->cap[190]->BitPosition                  = 0
pp_data->cap[190]->BitSize                      = 8
pp_data->cap[190]->ReportCount                  = 1
pp_data->cap[190]->BytePosition                 = 0x001F
pp_data->cap[190]->BitCount                     = 8
pp_data->cap[190]->BitField                     = 0x02
pp_data->cap[190]->NextBytePosition             = 0x0020
pp_data->cap[190]->LinkCollection               = 0x0004
pp_data->cap[190]->LinkUsagePage                = 0xFF01
pp_data->cap[190]->LinkUsage                    = 0x0080
pp_data->cap[190]->IsMultipleItemsForArray      = 0
pp_data->cap[190]->IsButtonCap                  = 0
pp_data->cap[190]->IsPadding                    = 0
pp_data->cap[190]->IsAbsolute                   = 1
pp_data->cap[190]->IsRange                      = 0
pp_data->cap[190]->IsAlias                      = 0
pp_data->cap[190]->IsStringRange                = 0
pp_data->cap[190]->IsDesignatorRange            = 0
pp_data->cap[190]->Reserved1                    = 0x000000
pp_data->cap[190]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[190]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[190]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[190]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[190]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[190]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[190]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[190]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[190]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[190]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[190]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[190]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[190]->NotRange.Usage                        = 0x0081
pp_data->cap[190]->NotRange.Reserved1                    = 0x0081
pp_data->cap[190]->NotRange.StringIndex                  = 0
pp_data->cap[190]->NotRange.Reserved2                    = 0
pp_data->cap[190]->NotRange.DesignatorIndex              = 0
pp_data->cap[190]->NotRange.Reserved3                    = 0
pp_data->cap[190]->NotRange.DataIndex                    = 103
pp_data->cap[190]->NotRange.Reserved4                    = 103
pp_data->cap[190]->NotButton.HasNull                   = 0
pp_data->cap[190]->NotButton.Reserved4                 = 0x000000
pp_data->cap[190]->NotButton.LogicalMin                = 0
pp_data->cap[190]->NotButton.LogicalMax                = 127
pp_data->cap[190]->NotButton.PhysicalMin               = 0
pp_data->cap[190]->NotButton.PhysicalMax               = 0
pp_data->cap[190]->Units                    = 0
pp_data->cap[190]->UnitsExp                 = 0

pp_data->cap[191]->UsagePage                    = 0xFF01
pp_data->cap[191]->ReportID                     = 0x81
pp_data->cap[191]->BitPosition                  = 0
pp_data->cap[191]->BitSize                      = 8
pp_data->cap[191]->ReportCount                  = 1
pp_data->cap[191]->BytePosition                 = 0x001E
pp_data->cap[191]->BitCount                     = 8
pp_data->cap[191]->BitField                     = 0x02
pp_data->cap[191]->NextBytePosition             = 0x001F
pp_data->cap[191]->LinkCollection               = 0x0004
pp_data->cap[191]->LinkUsagePage                = 0xFF01
pp_data->cap[191]->LinkUsage                    = 0x0080
pp_data->cap[191]->IsMultipleItemsForArray      = 0
pp_data->cap[191]->IsButtonCap                  = 0
pp_data->cap[191]->IsPadding                    = 0
pp_data->cap[191]->IsAbsolute                   = 1
pp_data->cap[191]->IsRange                      = 0
pp_data->cap[191]->IsAlias                      = 0
pp_data->cap[191]->IsStringRange                = 0
pp_data->cap[191]->IsDesignatorRange            = 0
pp_data->cap[191]->Reserved1                    = 0x000000
pp_data->cap[191]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[191]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[191]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[191]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[191]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[191]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[191]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[191]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[191]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[191]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[191]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[191]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[191]->NotRange.Usage                        = 0x0081
pp_data->cap[191]->NotRange.Reserved1                    = 0x0081
pp_data->cap[191]->NotRange.StringIndex                  = 0
pp_data->cap[191]->NotRange.Reserved2                    = 0
pp_data->cap[191]->NotRange.DesignatorIndex              = 0
pp_data->cap[191]->NotRange.Reserved3                    = 0
pp_data->cap[191]->NotRange.DataIndex                    = 104
pp_data->cap[191]->NotRange.Reserved4                    = 104
pp_data->cap[191]->NotButton.HasNull                   = 0
pp_data->cap[191]->NotButton.Reserved4                 = 0x000000
pp_data->cap[191]->NotButton.LogicalMin                = 0
pp_data->cap[191]->NotButton.LogicalMax                = 127
pp_data->cap[191]->NotButton.PhysicalMin               = 0
pp_data->cap[191]->NotButton.PhysicalMax               = 0
pp_data->cap[191]->Units                    = 0
pp_data->cap[191]->UnitsExp                 = 0

pp_data->cap[192]->UsagePage                    = 0xFF01
pp_data->cap[192]->ReportID                     = 0x81
pp_data->cap[192]->BitPosition                  = 0
pp_data->cap[192]->BitSize                      = 8
pp_data->cap[192]->ReportCount                  = 1
pp_data->cap[192]->BytePosition                 = 0x001D
pp_data->cap[192]->BitCount                     = 8
pp_data->cap[192]->BitField                     = 0x02
pp_data->cap[192]->NextBytePosition             = 0x001E
pp_data->cap[192]->LinkCollection               = 0x0004
pp_data->cap[192]->LinkUsagePage                = 0xFF01
pp_data->cap[192]->LinkUsage                    = 0x0080
pp_data->cap[192]->IsMultipleItemsForArray      = 0
pp_data->cap[192]->IsButtonCap                  = 0
pp_data->cap[192]->IsPadding                    = 0
pp_data->cap[192]->IsAbsolute                   = 1
pp_data->cap[192]->IsRange                      = 0
pp_data->cap[192]->IsAlias                      = 0
pp_data->cap[192]->IsStringRange                = 0
pp_data->cap[192]->IsDesignatorRange            = 0
pp_data->cap[192]->Reserved1                    = 0x000000
pp_data->cap[192]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[192]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[192]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[192]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[192]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[192]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[192]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[192]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[192]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[192]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[192]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[192]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[192]->NotRange.Usage                        = 0x0081
pp_data->cap[192]->NotRange.Reserved1                    = 0x0081
pp_data->cap[192]->NotRange.StringIndex                  = 0
pp_data->cap[192]->NotRange.Reserved2                    = 0
pp_data->cap[192]->NotRange.DesignatorIndex              = 0
pp_data->cap[192]->NotRange.Reserved3                    = 0
pp_data->cap[192]->NotRange.DataIndex                    = 105
pp_data->cap[192]->NotRange.Reserved4                    = 105
pp_data->cap[192]->NotButton.HasNull                   = 0
pp_data->cap[192]->NotButton.Reserved4                 = 0x000000
pp_data->cap[192]->NotButton.LogicalMin                = 0
pp_data->cap[192]->NotButton.LogicalMax                = 127
pp_data->cap[192]->NotButton.PhysicalMin               = 0
pp_data->cap[192]->NotButton.PhysicalMax               = 0
pp_data->cap[192]->Units                    = 0
pp_data->cap[192]->UnitsExp                 = 0

pp_data->cap[193]->UsagePage                    = 0xFF01
pp_data->cap[193]->ReportID                     = 0x81
pp_data->cap[193]->BitPosition                  = 0
pp_data->cap[193]->BitSize                      = 8
pp_data->cap[193]->ReportCount                  = 1
pp_data->cap[193]->BytePosition                 = 0x001C
pp_data->cap[193]->BitCount                     = 8
pp_data->cap[193]->BitField                     = 0x02
pp_data->cap[193]->NextBytePosition             = 0x001D
pp_data->cap[193]->LinkCollection               = 0x0004
pp_data->cap[193]->LinkUsagePage                = 0xFF01
pp_data->cap[193]->LinkUsage                    = 0x0080
pp_data->cap[193]->IsMultipleItemsForArray      = 0
pp_data->cap[193]->IsButtonCap                  = 0
pp_data->cap[193]->IsPadding                    = 0
pp_data->cap[193]->IsAbsolute                   = 1
pp_data->cap[193]->IsRange                      = 0
pp_data->cap[193]->IsAlias                      = 0
pp_data->cap[193]->IsStringRange                = 0
pp_data->cap[193]->IsDesignatorRange            = 0
pp_data->cap[193]->Reserved1                    = 0x000000
pp_data->cap[193]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[193]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[193]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[193]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[193]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[193]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[193]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[193]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[193]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[193]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[193]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[193]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[193]->NotRange.Usage                        = 0x0081
pp_data->cap[193]->NotRange.Reserved1                    = 0x0081
pp_data->cap[193]->NotRange.StringIndex                  = 0
pp_data->cap[193]->NotRange.Reserved2                    = 0
pp_data->cap[193]->NotRange.DesignatorIndex              = 0
pp_data->cap[193]->NotRange.Reserved3                    = 0
pp_data->cap[193]->NotRange.DataIndex                    = 106
pp_data->cap[193]->NotRange.Reserved4                    = 106
pp_data->cap[193]->NotButton.HasNull                   = 0
pp_data->cap[193]->NotButton.Reserved4                 = 0x000000
pp_data->cap[193]->NotButton.LogicalMin                = 0
pp_data->cap[193]->NotButton.LogicalMax                = 127
pp_data->cap[193]->NotButton.PhysicalMin               = 0
pp_data->cap[193]->NotButton.PhysicalMax               = 0
pp_data->cap[193]->Units                    = 0
pp_data->cap[193]->UnitsExp                 = 0

pp_data->cap[194]->UsagePage                    = 0xFF01
pp_data->cap[194]->ReportID                     = 0x81
pp_data->cap[194]->BitPosition                  = 0
pp_data->cap[194]->BitSize                      = 8
pp_data->cap[194]->ReportCount                  = 1
pp_data->cap[194]->BytePosition                 = 0x001B
pp_data->cap[194]->BitCount                     = 8
pp_data->cap[194]->BitField                     = 0x02
pp_data->cap[194]->NextBytePosition             = 0x001C
pp_data->cap[194]->LinkCollection               = 0x0004
pp_data->cap[194]->LinkUsagePage                = 0xFF01
pp_data->cap[194]->LinkUsage                    = 0x0080
pp_data->cap[194]->IsMultipleItemsForArray      = 0
pp_data->cap[194]->IsButtonCap                  = 0
pp_data->cap[194]->IsPadding                    = 0
pp_data->cap[194]->IsAbsolute                   = 1
pp_data->cap[194]->IsRange                      = 0
pp_data->cap[194]->IsAlias                      = 0
pp_data->cap[194]->IsStringRange                = 0
pp_data->cap[194]->IsDesignatorRange            = 0
pp_data->cap[194]->Reserved1                    = 0x000000
pp_data->cap[194]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[194]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[194]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[194]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[194]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[194]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[194]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[194]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[194]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[194]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[194]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[194]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[194]->NotRange.Usage                        = 0x0081
pp_data->cap[194]->NotRange.Reserved1                    = 0x0081
pp_data->cap[194]->NotRange.StringIndex                  = 0
pp_data->cap[194]->NotRange.Reserved2                    = 0
pp_data->cap[194]->NotRange.DesignatorIndex              = 0
pp_data->cap[194]->NotRange.Reserved3                    = 0
pp_data->cap[194]->NotRange.DataIndex                    = 107
pp_data->cap[194]->NotRange.Reserved4                    = 107
pp_data->cap[194]->NotButton.HasNull                   = 0
pp_data->cap[194]->NotButton.Reserved4                 = 0x000000
pp_data->cap[194]->NotButton.LogicalMin                = 0
pp_data->cap[194]->NotButton.LogicalMax                = 127
pp_data->cap[194]->NotButton.PhysicalMin               = 0
pp_data->cap[194]->NotButton.PhysicalMax               = 0
pp_data->cap[194]->Units                    = 0
pp_data->cap[194]->UnitsExp                 = 0

pp_data->cap[195]->UsagePage                    = 0xFF01
pp_data->cap[195]->ReportID                     = 0x81
pp_data->cap[195]->BitPosition                  = 0
pp_data->cap[195]->BitSize                      = 8
pp_data->cap[195]->ReportCount                  = 1
pp_data->cap[195]->BytePosition                 = 0x001A
pp_data->cap[195]->BitCount                     = 8
pp_data->cap[195]->BitField                     = 0x02
pp_data->cap[195]->NextBytePosition             = 0x001B
pp_data->cap[195]->LinkCollection               = 0x0004
pp_data->cap[195]->LinkUsagePage                = 0xFF01
pp_data->cap[195]->LinkUsage                    = 0x0080
pp_data->cap[195]->IsMultipleItemsForArray      = 0
pp_data->cap[195]->IsButtonCap                  = 0
pp_data->cap[195]->IsPadding                    = 0
pp_data->cap[195]->IsAbsolute                   = 1
pp_data->cap[195]->IsRange                      = 0
pp_data->cap[195]->IsAlias                      = 0
pp_data->cap[195]->IsStringRange                = 0
pp_data->cap[195]->IsDesignatorRange            = 0
pp_data->cap[195]->Reserved1                    = 0x000000
pp_data->cap[195]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[195]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[195]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[195]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[195]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[195]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[195]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[195]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[195]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[195]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[195]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[195]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[195]->NotRange.Usage                        = 0x0081
pp_data->cap[195]->NotRange.Reserved1                    = 0x0081
pp_data->cap[195]->NotRange.StringIndex                  = 0
pp_data->cap[195]->NotRange.Reserved2                    = 0
pp_data->cap[195]->NotRange.DesignatorIndex              = 0
pp_data->cap[195]->NotRange.Reserved3                    = 0
pp_data->cap[195]->NotRange.DataIndex                    = 108
pp_data->cap[195]->NotRange.Reserved4                    = 108
pp_data->cap[195]->NotButton.HasNull                   = 0
pp_data->cap[195]->NotButton.Reserved4                 = 0x000000
pp_data->cap[195]->NotButton.LogicalMin                = 0
pp_data->cap[195]->NotButton.LogicalMax                = 127
pp_data->cap[195]->NotButton.PhysicalMin               = 0
pp_data->cap[195]->NotButton.PhysicalMax               = 0
pp_data->cap[195]->Units                    = 0
pp_data->cap[195]->UnitsExp                 = 0

pp_data->cap[196]->UsagePage                    = 0xFF01
pp_data->cap[196]->ReportID                     = 0x81
pp_data->cap[196]->BitPosition                  = 0
pp_data->cap[196]->BitSize                      = 8
pp_data->cap[196]->ReportCount                  = 1
pp_data->cap[196]->BytePosition                 = 0x0019
pp_data->cap[196]->BitCount                     = 8
pp_data->cap[196]->BitField                     = 0x02
pp_data->cap[196]->NextBytePosition             = 0x001A
pp_data->cap[196]->LinkCollection               = 0x0004
pp_data->cap[196]->LinkUsagePage                = 0xFF01
pp_data->cap[196]->LinkUsage                    = 0x0080
pp_data->cap[196]->IsMultipleItemsForArray      = 0
pp_data->cap[196]->IsButtonCap                  = 0
pp_data->cap[196]->IsPadding                    = 0
pp_data->cap[196]->IsAbsolute                   = 1
pp_data->cap[196]->IsRange                      = 0
pp_data->cap[196]->IsAlias                      = 0
pp_data->cap[196]->IsStringRange                = 0
pp_data->cap[196]->IsDesignatorRange            = 0
pp_data->cap[196]->Reserved1                    = 0x000000
pp_data->cap[196]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[196]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[196]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[196]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[196]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[196]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[196]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[196]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[196]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[196]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[196]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[196]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[196]->NotRange.Usage                        = 0x0081
pp_data->cap[196]->NotRange.Reserved1                    = 0x0081
pp_data->cap[196]->NotRange.StringIndex                  = 0
pp_data->cap[196]->NotRange.Reserved2                    = 0
pp_data->cap[196]->NotRange.DesignatorIndex              = 0
pp_data->cap[196]->NotRange.Reserved3                    = 0
pp_data->cap[196]->NotRange.DataIndex                    = 109
pp_data->cap[196]->NotRange.Reserved4                    = 109
pp_data->cap[196]->NotButton.HasNull                   = 0
pp_data->cap[196]->NotButton.Reserved4                 = 0x000000
pp_data->cap[196]->NotButton.LogicalMin                = 0
pp_data->cap[196]->NotButton.LogicalMax                = 127
pp_data->cap[196]->NotButton.PhysicalMin               = 0
pp_data->cap[196]->NotButton.PhysicalMax               = 0
pp_data->cap[196]->Units                    = 0
pp_data->cap[196]->UnitsExp                 = 0

pp_data->cap[197]->UsagePage                    = 0xFF01
pp_data->cap[197]->ReportID                     = 0x81
pp_data->cap[197]->BitPosition                  = 0
pp_data->cap[197]->BitSize                      = 8
pp_data->cap[197]->ReportCount                  = 1
pp_data->cap[197]->BytePosition                 = 0x0018
pp_data->cap[197]->BitCount                     = 8
pp_data->cap[197]->BitField                     = 0x02
pp_data->cap[197]->NextBytePosition             = 0x0019
pp_data->cap[197]->LinkCollection               = 0x0004
pp_data->cap[197]->LinkUsagePage                = 0xFF01
pp_data->cap[197]->LinkUsage                    = 0x0080
pp_data->cap[197]->IsMultipleItemsForArray      = 0
pp_data->cap[197]->IsButtonCap                  = 0
pp_data->cap[197]->IsPadding                    = 0
pp_data->cap[197]->IsAbsolute                   = 1
pp_data->cap[197]->IsRange                      = 0
pp_data->cap[197]->IsAlias                      = 0
pp_data->cap[197]->IsStringRange                = 0
pp_data->cap[197]->IsDesignatorRange            = 0
pp_data->cap[197]->Reserved1                    = 0x000000
pp_data->cap[197]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[197]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[197]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[197]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[197]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[197]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[197]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[197]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[197]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[197]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[197]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[197]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[197]->NotRange.Usage                        = 0x0081
pp_data->cap[197]->NotRange.Reserved1                    = 0x0081
pp_data->cap[197]->NotRange.StringIndex                  = 0
pp_data->cap[197]->NotRange.Reserved2                    = 0
pp_data->cap[197]->NotRange.DesignatorIndex              = 0
pp_data->cap[197]->NotRange.Reserved3                    = 0
pp_data->cap[197]->NotRange.DataIndex                    = 110
pp_data->cap[197]->NotRange.Reserved4                    = 110
pp_data->cap[197]->NotButton.HasNull                   = 0
pp_data->cap[197]->NotButton.Reserved4                 = 0x000000
pp_data->cap[197]->NotButton.LogicalMin                = 0
pp_data->cap[197]->NotButton.LogicalMax                = 127
pp_data->cap[197]->NotButton.PhysicalMin               = 0
pp_data->cap[197]->NotButton.PhysicalMax               = 0
pp_data->cap[197]->Units                    = 0
pp_data->cap[197]->UnitsExp                 = 0

pp_data->cap[198]->UsagePage                    = 0xFF01
pp_data->cap[198]->ReportID                     = 0x81
pp_data->cap[198]->BitPosition                  = 0
pp_data->cap[198]->BitSize                      = 8
pp_data->cap[198]->ReportCount                  = 1
pp_data->cap[198]->BytePosition                 = 0x0017
pp_data->cap[198]->BitCount                     = 8
pp_data->cap[198]->BitField                     = 0x02
pp_data->cap[198]->NextBytePosition             = 0x0018
pp_data->cap[198]->LinkCollection               = 0x0004
pp_data->cap[198]->LinkUsagePage                = 0xFF01
pp_data->cap[198]->LinkUsage                    = 0x0080
pp_data->cap[198]->IsMultipleItemsForArray      = 0
pp_data->cap[198]->IsButtonCap                  = 0
pp_data->cap[198]->IsPadding                    = 0
pp_data->cap[198]->IsAbsolute                   = 1
pp_data->cap[198]->IsRange                      = 0
pp_data->cap[198]->IsAlias                      = 0
pp_data->cap[198]->IsStringRange                = 0
pp_data->cap[198]->IsDesignatorRange            = 0
pp_data->cap[198]->Reserved1                    = 0x000000
pp_data->cap[198]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[198]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[198]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[198]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[198]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[198]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[198]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[198]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[198]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[198]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[198]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[198]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[198]->NotRange.Usage                        = 0x0081
pp_data->cap[198]->NotRange.Reserved1                    = 0x0081
pp_data->cap[198]->NotRange.StringIndex                  = 0
pp_data->cap[198]->NotRange.Reserved2                    = 0
pp_data->cap[198]->NotRange.DesignatorIndex              = 0
pp_data->cap[198]->NotRange.Reserved3                    = 0
pp_data->cap[198]->NotRange.DataIndex                    = 111
pp_data->cap[198]->NotRange.Reserved4                    = 111
pp_data->cap[198]->NotButton.HasNull                   = 0
pp_data->cap[198]->NotButton.Reserved4                 = 0x000000
pp_data->cap[198]->NotButton.LogicalMin                = 0
pp_data->cap[198]->NotButton.LogicalMax                = 127
pp_data->cap[198]->NotButton.PhysicalMin               = 0
pp_data->cap[198]->NotButton.PhysicalMax               = 0
pp_data->cap[198]->Units                    = 0
pp_data->cap[198]->UnitsExp                 = 0

pp_data->cap[199]->UsagePage                    = 0xFF01
pp_data->cap[199]->ReportID                     = 0x81
pp_data->cap[199]->BitPosition                  = 0
pp_data->cap[199]->BitSize                      = 8
pp_data->cap[199]->ReportCount                  = 1
pp_data->cap[199]->BytePosition                 = 0x0016
pp_data->cap[199]->BitCount                     = 8
pp_data->cap[199]->BitField                     = 0x02
pp_data->cap[199]->NextBytePosition             = 0x0017
pp_data->cap[199]->LinkCollection               = 0x0004
pp_data->cap[199]->LinkUsagePage                = 0xFF01
pp_data->cap[199]->LinkUsage                    = 0x0080
pp_data->cap[199]->IsMultipleItemsForArray      = 0
pp_data->cap[199]->IsButtonCap                  = 0
pp_data->cap[199]->IsPadding                    = 0
pp_data->cap[199]->IsAbsolute                   = 1
pp_data->cap[199]->IsRange                      = 0
pp_data->cap[199]->IsAlias                      = 0
pp_data->cap[199]->IsStringRange                = 0
pp_data->cap[199]->IsDesignatorRange            = 0
pp_data->cap[199]->Reserved1                    = 0x000000
pp_data->cap[199]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[199]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[199]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[199]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[199]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[199]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[199]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[199]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[199]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[199]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[199]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[199]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[199]->NotRange.Usage                        = 0x0081
pp_data->cap[199]->NotRange.Reserved1                    = 0x0081
pp_data->cap[199]->NotRange.StringIndex                  = 0
pp_data->cap[199]->NotRange.Reserved2                    = 0
pp_data->cap[199]->NotRange.DesignatorIndex              = 0
pp_data->cap[199]->NotRange.Reserved3                    = 0
pp_data->cap[199]->NotRange.DataIndex                    = 112
pp_data->cap[199]->NotRange.Reserved4                    = 112
pp_data->cap[199]->NotButton.HasNull                   = 0
pp_data->cap[199]->NotButton.Reserved4                 = 0x000000
pp_data->cap[199]->NotButton.LogicalMin                = 0
pp_data->cap[199]->NotButton.LogicalMax                = 127
pp_data->cap[199]->NotButton.PhysicalMin               = 0
pp_data->cap[199]->NotButton.PhysicalMax               = 0
pp_data->cap[199]->Units                    = 0
pp_data->cap[199]->UnitsExp                 = 0

pp_data->cap[200]->UsagePage                    = 0xFF01
pp_data->cap[200]->ReportID                     = 0x81
pp_data->cap[200]->BitPosition                  = 0
pp_data->cap[200]->BitSize                      = 8
pp_data->cap[200]->ReportCount                  = 1
pp_data->cap[200]->BytePosition                 = 0x0015
pp_data->cap[200]->BitCount                     = 8
pp_data->cap[200]->BitField                     = 0x02
pp_data->cap[200]->NextBytePosition             = 0x0016
pp_data->cap[200]->LinkCollection               = 0x0004
pp_data->cap[200]->LinkUsagePage                = 0xFF01
pp_data->cap[200]->LinkUsage                    = 0x0080
pp_data->cap[200]->IsMultipleItemsForArray      = 0
pp_data->cap[200]->IsButtonCap                  = 0
pp_data->cap[200]->IsPadding                    = 0
pp_data->cap[200]->IsAbsolute                   = 1
pp_data->cap[200]->IsRange                      = 0
pp_data->cap[200]->IsAlias                      = 0
pp_data->cap[200]->IsStringRange                = 0
pp_data->cap[200]->IsDesignatorRange            = 0
pp_data->cap[200]->Reserved1                    = 0x000000
pp_data->cap[200]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[200]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[200]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[200]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[200]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[200]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[200]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[200]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[200]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[200]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[200]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[200]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[200]->NotRange.Usage                        = 0x0081
pp_data->cap[200]->NotRange.Reserved1                    = 0x0081
pp_data->cap[200]->NotRange.StringIndex                  = 0
pp_data->cap[200]->NotRange.Reserved2                    = 0
pp_data->cap[200]->NotRange.DesignatorIndex              = 0
pp_data->cap[200]->NotRange.Reserved3                    = 0
pp_data->cap[200]->NotRange.DataIndex                    = 113
pp_data->cap[200]->NotRange.Reserved4                    = 113
pp_data->cap[200]->NotButton.HasNull                   = 0
pp_data->cap[200]->NotButton.Reserved4                 = 0x000000
pp_data->cap[200]->NotButton.LogicalMin                = 0
pp_data->cap[200]->NotButton.LogicalMax                = 127
pp_data->cap[200]->NotButton.PhysicalMin               = 0
pp_data->cap[200]->NotButton.PhysicalMax               = 0
pp_data->cap[200]->Units                    = 0
pp_data->cap[200]->UnitsExp                 = 0

pp_data->cap[201]->UsagePage                    = 0xFF01
pp_data->cap[201]->ReportID                     = 0x81
pp_data->cap[201]->BitPosition                  = 0
pp_data->cap[201]->BitSize                      = 8
pp_data->cap[201]->ReportCount                  = 1
pp_data->cap[201]->BytePosition                 = 0x0014
pp_data->cap[201]->BitCount                     = 8
pp_data->cap[201]->BitField                     = 0x02
pp_data->cap[201]->NextBytePosition             = 0x0015
pp_data->cap[201]->LinkCollection               = 0x0004
pp_data->cap[201]->LinkUsagePage                = 0xFF01
pp_data->cap[201]->LinkUsage                    = 0x0080
pp_data->cap[201]->IsMultipleItemsForArray      = 0
pp_data->cap[201]->IsButtonCap                  = 0
pp_data->cap[201]->IsPadding                    = 0
pp_data->cap[201]->IsAbsolute                   = 1
pp_data->cap[201]->IsRange                      = 0
pp_data->cap[201]->IsAlias                      = 0
pp_data->cap[201]->IsStringRange                = 0
pp_data->cap[201]->IsDesignatorRange            = 0
pp_data->cap[201]->Reserved1                    = 0x000000
pp_data->cap[201]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[201]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[201]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[201]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[201]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[201]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[201]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[201]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[201]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[201]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[201]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[201]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[201]->NotRange.Usage                        = 0x0081
pp_data->cap[201]->NotRange.Reserved1                    = 0x0081
pp_data->cap[201]->NotRange.StringIndex                  = 0
pp_data->cap[201]->NotRange.Reserved2                    = 0
pp_data->cap[201]->NotRange.DesignatorIndex              = 0
pp_data->cap[201]->NotRange.Reserved3                    = 0
pp_data->cap[201]->NotRange.DataIndex                    = 114
pp_data->cap[201]->NotRange.Reserved4                    = 114
pp_data->cap[201]->NotButton.HasNull                   = 0
pp_data->cap[201]->NotButton.Reserved4                 = 0x000000
pp_data->cap[201]->NotButton.LogicalMin                = 0
pp_data->cap[201]->NotButton.LogicalMax                = 127
pp_data->cap[201]->NotButton.PhysicalMin               = 0
pp_data->cap[201]->NotButton.PhysicalMax               = 0
pp_data->cap[201]->Units                    = 0
pp_data->cap[201]->UnitsExp                 = 0

pp_data->cap[202]->UsagePage                    = 0xFF01
pp_data->cap[202]->ReportID                     = 0x81
pp_data->cap[202]->BitPosition                  = 0
pp_data->cap[202]->BitSize                      = 8
pp_data->cap[202]->ReportCount                  = 1
pp_data->cap[202]->BytePosition                 = 0x0013
pp_data->cap[202]->BitCount                     = 8
pp_data->cap[202]->BitField                     = 0x02
pp_data->cap[202]->NextBytePosition             = 0x0014
pp_data->cap[202]->LinkCollection               = 0x0004
pp_data->cap[202]->LinkUsagePage                = 0xFF01
pp_data->cap[202]->LinkUsage                    = 0x0080
pp_data->cap[202]->IsMultipleItemsForArray      = 0
pp_data->cap[202]->IsButtonCap                  = 0
pp_data->cap[202]->IsPadding                    = 0
pp_data->cap[202]->IsAbsolute                   = 1
pp_data->cap[202]->IsRange                      = 0
pp_data->cap[202]->IsAlias                      = 0
pp_data->cap[202]->IsStringRange                = 0
pp_data->cap[202]->IsDesignatorRange            = 0
pp_data->cap[202]->Reserved1                    = 0x000000
pp_data->cap[202]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[202]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[202]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[202]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[202]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[202]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[202]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[202]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[202]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[202]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[202]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[202]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[202]->NotRange.Usage                        = 0x0081
pp_data->cap[202]->NotRange.Reserved1                    = 0x0081
pp_data->cap[202]->NotRange.StringIndex                  = 0
pp_data->cap[202]->NotRange.Reserved2                    = 0
pp_data->cap[202]->NotRange.DesignatorIndex              = 0
pp_data->cap[202]->NotRange.Reserved3                    = 0
pp_data->cap[202]->NotRange.DataIndex                    = 115
pp_data->cap[202]->NotRange.Reserved4                    = 115
pp_data->cap[202]->NotButton.HasNull                   = 0
pp_data->cap[202]->NotButton.Reserved4                 = 0x000000
pp_data->cap[202]->NotButton.LogicalMin                = 0
pp_data->cap[202]->NotButton.LogicalMax                = 127
pp_data->cap[202]->NotButton.PhysicalMin               = 0
pp_data->cap[202]->NotButton.PhysicalMax               = 0
pp_data->cap[202]->Units                    = 0
pp_data->cap[202]->UnitsExp                 = 0

pp_data->cap[203]->UsagePage                    = 0xFF01
pp_data->cap[203]->ReportID                     = 0x81
pp_data->cap[203]->BitPosition                  = 0
pp_data->cap[203]->BitSize                      = 8
pp_data->cap[203]->ReportCount                  = 1
pp_data->cap[203]->BytePosition                 = 0x0012
pp_data->cap[203]->BitCount                     = 8
pp_data->cap[203]->BitField                     = 0x02
pp_data->cap[203]->NextBytePosition             = 0x0013
pp_data->cap[203]->LinkCollection               = 0x0004
pp_data->cap[203]->LinkUsagePage                = 0xFF01
pp_data->cap[203]->LinkUsage                    = 0x0080
pp_data->cap[203]->IsMultipleItemsForArray      = 0
pp_data->cap[203]->IsButtonCap                  = 0
pp_data->cap[203]->IsPadding                    = 0
pp_data->cap[203]->IsAbsolute                   = 1
pp_data->cap[203]->IsRange                      = 0
pp_data->cap[203]->IsAlias                      = 0
pp_data->cap[203]->IsStringRange                = 0
pp_data->cap[203]->IsDesignatorRange            = 0
pp_data->cap[203]->Reserved1                    = 0x000000
pp_data->cap[203]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[203]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[203]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[203]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[203]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[203]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[203]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[203]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[203]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[203]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[203]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[203]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[203]->NotRange.Usage                        = 0x0081
pp_data->cap[203]->NotRange.Reserved1                    = 0x0081
pp_data->cap[203]->NotRange.StringIndex                  = 0
pp_data->cap[203]->NotRange.Reserved2                    = 0
pp_data->cap[203]->NotRange.DesignatorIndex              = 0
pp_data->cap[203]->NotRange.Reserved3                    = 0
pp_data->cap[203]->NotRange.DataIndex                    = 116
pp_data->cap[203]->NotRange.Reserved4                    = 116
pp_data->cap[203]->NotButton.HasNull                   = 0
pp_data->cap[203]->NotButton.Reserved4                 = 0x000000
pp_data->cap[203]->NotButton.LogicalMin                = 0
pp_data->cap[203]->NotButton.LogicalMax                = 127
pp_data->cap[203]->NotButton.PhysicalMin               = 0
pp_data->cap[203]->NotButton.PhysicalMax               = 0
pp_data->cap[203]->Units                    = 0
pp_data->cap[203]->UnitsExp                 = 0

pp_data->cap[204]->UsagePage                    = 0xFF01
pp_data->cap[204]->ReportID                     = 0x81
pp_data->cap[204]->BitPosition                  = 0
pp_data->cap[204]->BitSize                      = 8
pp_data->cap[204]->ReportCount                  = 1
pp_data->cap[204]->BytePosition                 = 0x0011
pp_data->cap[204]->BitCount                     = 8
pp_data->cap[204]->BitField                     = 0x02
pp_data->cap[204]->NextBytePosition             = 0x0012
pp_data->cap[204]->LinkCollection               = 0x0004
pp_data->cap[204]->LinkUsagePage                = 0xFF01
pp_data->cap[204]->LinkUsage                    = 0x0080
pp_data->cap[204]->IsMultipleItemsForArray      = 0
pp_data->cap[204]->IsButtonCap                  = 0
pp_data->cap[204]->IsPadding                    = 0
pp_data->cap[204]->IsAbsolute                   = 1
pp_data->cap[204]->IsRange                      = 0
pp_data->cap[204]->IsAlias                      = 0
pp_data->cap[204]->IsStringRange                = 0
pp_data->cap[204]->IsDesignatorRange            = 0
pp_data->cap[204]->Reserved1                    = 0x000000
pp_data->cap[204]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[204]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[204]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[204]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[204]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[204]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[204]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[204]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[204]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[204]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[204]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[204]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[204]->NotRange.Usage                        = 0x0081
pp_data->cap[204]->NotRange.Reserved1                    = 0x0081
pp_data->cap[204]->NotRange.StringIndex                  = 0
pp_data->cap[204]->NotRange.Reserved2                    = 0
pp_data->cap[204]->NotRange.DesignatorIndex              = 0
pp_data->cap[204]->NotRange.Reserved3                    = 0
pp_data->cap[204]->NotRange.DataIndex                    = 117
pp_data->cap[204]->NotRange.Reserved4                    = 117
pp_data->cap[204]->NotButton.HasNull                   = 0
pp_data->cap[204]->NotButton.Reserved4                 = 0x000000
pp_data->cap[204]->NotButton.LogicalMin                = 0
pp_data->cap[204]->NotButton.LogicalMax                = 127
pp_data->cap[204]->NotButton.PhysicalMin               = 0
pp_data->cap[204]->NotButton.PhysicalMax               = 0
pp_data->cap[204]->Units                    = 0
pp_data->cap[204]->UnitsExp                 = 0

pp_data->cap[205]->UsagePage                    = 0xFF01
pp_data->cap[205]->ReportID                     = 0x81
pp_data->cap[205]->BitPosition                  = 0
pp_data->cap[205]->BitSize                      = 8
pp_data->cap[205]->ReportCount                  = 1
pp_data->cap[205]->BytePosition                 = 0x0010
pp_data->cap[205]->BitCount                     = 8
pp_data->cap[205]->BitField                     = 0x02
pp_data->cap[205]->NextBytePosition             = 0x0011
pp_data->cap[205]->LinkCollection               = 0x0004
pp_data->cap[205]->LinkUsagePage                = 0xFF01
pp_data->cap[205]->LinkUsage                    = 0x0080
pp_data->cap[205]->IsMultipleItemsForArray      = 0
pp_data->cap[205]->IsButtonCap                  = 0
pp_data->cap[205]->IsPadding                    = 0
pp_data->cap[205]->IsAbsolute                   = 1
pp_data->cap[205]->IsRange                      = 0
pp_data->cap[205]->IsAlias                      = 0
pp_data->cap[205]->IsStringRange                = 0
pp_data->cap[205]->IsDesignatorRange            = 0
pp_data->cap[205]->Reserved1                    = 0x000000
pp_data->cap[205]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[205]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[205]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[205]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[205]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[205]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[205]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[205]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[205]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[205]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[205]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[205]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[205]->NotRange.Usage                        = 0x0081
pp_data->cap[205]->NotRange.Reserved1                    = 0x0081
pp_data->cap[205]->NotRange.StringIndex                  = 0
pp_data->cap[205]->NotRange.Reserved2                    = 0
pp_data->cap[205]->NotRange.DesignatorIndex              = 0
pp_data->cap[205]->NotRange.Reserved3                    = 0
pp_data->cap[205]->NotRange.DataIndex                    = 118
pp_data->cap[205]->NotRange.Reserved4                    = 118
pp_data->cap[205]->NotButton.HasNull                   = 0
pp_data->cap[205]->NotButton.Reserved4                 = 0x000000
pp_data->cap[205]->NotButton.LogicalMin                = 0
pp_data->cap[205]->NotButton.LogicalMax                = 127
pp_data->cap[205]->NotButton.PhysicalMin               = 0
pp_data->cap[205]->NotButton.PhysicalMax               = 0
pp_data->cap[205]->Units                    = 0
pp_data->cap[205]->UnitsExp                 = 0

pp_data->cap[206]->UsagePage                    = 0xFF01
pp_data->cap[206]->ReportID                     = 0x81
pp_data->cap[206]->BitPosition                  = 0
pp_data->cap[206]->BitSize                      = 8
pp_data->cap[206]->ReportCount                  = 1
pp_data->cap[206]->BytePosition                 = 0x000F
pp_data->cap[206]->BitCount                     = 8
pp_data->cap[206]->BitField                     = 0x02
pp_data->cap[206]->NextBytePosition             = 0x0010
pp_data->cap[206]->LinkCollection               = 0x0004
pp_data->cap[206]->LinkUsagePage                = 0xFF01
pp_data->cap[206]->LinkUsage                    = 0x0080
pp_data->cap[206]->IsMultipleItemsForArray      = 0
pp_data->cap[206]->IsButtonCap                  = 0
pp_data->cap[206]->IsPadding                    = 0
pp_data->cap[206]->IsAbsolute                   = 1
pp_data->cap[206]->IsRange                      = 0
pp_data->cap[206]->IsAlias                      = 0
pp_data->cap[206]->IsStringRange                = 0
pp_data->cap[206]->IsDesignatorRange            = 0
pp_data->cap[206]->Reserved1                    = 0x000000
pp_data->cap[206]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[206]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[206]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[206]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[206]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[206]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[206]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[206]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[206]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[206]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[206]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[206]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[206]->NotRange.Usage                        = 0x0081
pp_data->cap[206]->NotRange.Reserved1                    = 0x0081
pp_data->cap[206]->NotRange.StringIndex                  = 0
pp_data->cap[206]->NotRange.Reserved2                    = 0
pp_data->cap[206]->NotRange.DesignatorIndex              = 0
pp_data->cap[206]->NotRange.Reserved3                    = 0
pp_data->cap[206]->NotRange.DataIndex                    = 119
pp_data->cap[206]->NotRange.Reserved4                    = 119
pp_data->cap[206]->NotButton.HasNull                   = 0
pp_data->cap[206]->NotButton.Reserved4                 = 0x000000
pp_data->cap[206]->NotButton.LogicalMin                = 0
pp_data->cap[206]->NotButton.LogicalMax                = 127
pp_data->cap[206]->NotButton.PhysicalMin               = 0
pp_data->cap[206]->NotButton.PhysicalMax               = 0
pp_data->cap[206]->Units                    = 0
pp_data->cap[206]->UnitsExp                 = 0

pp_data->cap[207]->UsagePage                    = 0xFF01
pp_data->cap[207]->ReportID                     = 0x81
pp_data->cap[207]->BitPosition                  = 0
pp_data->cap[207]->BitSize                      = 8
pp_data->cap[207]->ReportCount                  = 1
pp_data->cap[207]->BytePosition                 = 0x000E
pp_data->cap[207]->BitCount                     = 8
pp_data->cap[207]->BitField                     = 0x02
pp_data->cap[207]->NextBytePosition             = 0x000F
pp_data->cap[207]->LinkCollection               = 0x0004
pp_data->cap[207]->LinkUsagePage                = 0xFF01
pp_data->cap[207]->LinkUsage                    = 0x0080
pp_data->cap[207]->IsMultipleItemsForArray      = 0
pp_data->cap[207]->IsButtonCap                  = 0
pp_data->cap[207]->IsPadding                    = 0
pp_data->cap[207]->IsAbsolute                   = 1
pp_data->cap[207]->IsRange                      = 0
pp_data->cap[207]->IsAlias                      = 0
pp_data->cap[207]->IsStringRange                = 0
pp_data->cap[207]->IsDesignatorRange            = 0
pp_data->cap[207]->Reserved1                    = 0x000000
pp_data->cap[207]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[207]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[207]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[207]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[207]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[207]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[207]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[207]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[207]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[207]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[207]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[207]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[207]->NotRange.Usage                        = 0x0081
pp_data->cap[207]->NotRange.Reserved1                    = 0x0081
pp_data->cap[207]->NotRange.StringIndex                  = 0
pp_data->cap[207]->NotRange.Reserved2                    = 0
pp_data->cap[207]->NotRange.DesignatorIndex              = 0
pp_data->cap[207]->NotRange.Reserved3                    = 0
pp_data->cap[207]->NotRange.DataIndex                    = 120
pp_data->cap[207]->NotRange.Reserved4                    = 120
pp_data->cap[207]->NotButton.HasNull                   = 0
pp_data->cap[207]->NotButton.Reserved4                 = 0x000000
pp_data->cap[207]->NotButton.LogicalMin                = 0
pp_data->cap[207]->NotButton.LogicalMax                = 127
pp_data->cap[207]->NotButton.PhysicalMin               = 0
pp_data->cap[207]->NotButton.PhysicalMax               = 0
pp_data->cap[207]->Units                    = 0
pp_data->cap[207]->UnitsExp                 = 0

pp_data->cap[208]->UsagePage                    = 0xFF01
pp_data->cap[208]->ReportID                     = 0x81
pp_data->cap[208]->BitPosition                  = 0
pp_data->cap[208]->BitSize                      = 8
pp_data->cap[208]->ReportCount                  = 1
pp_data->cap[208]->BytePosition                 = 0x000D
pp_data->cap[208]->BitCount                     = 8
pp_data->cap[208]->BitField                     = 0x02
pp_data->cap[208]->NextBytePosition             = 0x000E
pp_data->cap[208]->LinkCollection               = 0x0004
pp_data->cap[208]->LinkUsagePage                = 0xFF01
pp_data->cap[208]->LinkUsage                    = 0x0080
pp_data->cap[208]->IsMultipleItemsForArray      = 0
pp_data->cap[208]->IsButtonCap                  = 0
pp_data->cap[208]->IsPadding                    = 0
pp_data->cap[208]->IsAbsolute                   = 1
pp_data->cap[208]->IsRange                      = 0
pp_data->cap[208]->IsAlias                      = 0
pp_data->cap[208]->IsStringRange                = 0
pp_data->cap[208]->IsDesignatorRange            = 0
pp_data->cap[208]->Reserved1                    = 0x000000
pp_data->cap[208]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[208]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[208]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[208]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[208]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[208]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[208]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[208]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[208]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[208]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[208]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[208]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[208]->NotRange.Usage                        = 0x0081
pp_data->cap[208]->NotRange.Reserved1                    = 0x0081
pp_data->cap[208]->NotRange.StringIndex                  = 0
pp_data->cap[208]->NotRange.Reserved2                    = 0
pp_data->cap[208]->NotRange.DesignatorIndex              = 0
pp_data->cap[208]->NotRange.Reserved3                    = 0
pp_data->cap[208]->NotRange.DataIndex                    = 121
pp_data->cap[208]->NotRange.Reserved4                    = 121
pp_data->cap[208]->NotButton.HasNull                   = 0
pp_data->cap[208]->NotButton.Reserved4                 = 0x000000
pp_data->cap[208]->NotButton.LogicalMin                = 0
pp_data->cap[208]->NotButton.LogicalMax                = 127
pp_data->cap[208]->NotButton.PhysicalMin               = 0
pp_data->cap[208]->NotButton.PhysicalMax               = 0
pp_data->cap[208]->Units                    = 0
pp_data->cap[208]->UnitsExp                 = 0

pp_data->cap[209]->UsagePage                    = 0xFF01
pp_data->cap[209]->ReportID                     = 0x81
pp_data->cap[209]->BitPosition                  = 0
pp_data->cap[209]->BitSize                      = 8
pp_data->cap[209]->ReportCount                  = 1
pp_data->cap[209]->BytePosition                 = 0x000C
pp_data->cap[209]->BitCount                     = 8
pp_data->cap[209]->BitField                     = 0x02
pp_data->cap[209]->NextBytePosition             = 0x000D
pp_data->cap[209]->LinkCollection               = 0x0004
pp_data->cap[209]->LinkUsagePage                = 0xFF01
pp_data->cap[209]->LinkUsage                    = 0x0080
pp_data->cap[209]->IsMultipleItemsForArray      = 0
pp_data->cap[209]->IsButtonCap                  = 0
pp_data->cap[209]->IsPadding                    = 0
pp_data->cap[209]->IsAbsolute                   = 1
pp_data->cap[209]->IsRange                      = 0
pp_data->cap[209]->IsAlias                      = 0
pp_data->cap[209]->IsStringRange                = 0
pp_data->cap[209]->IsDesignatorRange            = 0
pp_data->cap[209]->Reserved1                    = 0x000000
pp_data->cap[209]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[209]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[209]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[209]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[209]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[209]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[209]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[209]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[209]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[209]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[209]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[209]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[209]->NotRange.Usage                        = 0x0081
pp_data->cap[209]->NotRange.Reserved1                    = 0x0081
pp_data->cap[209]->NotRange.StringIndex                  = 0
pp_data->cap[209]->NotRange.Reserved2                    = 0
pp_data->cap[209]->NotRange.DesignatorIndex              = 0
pp_data->cap[209]->NotRange.Reserved3                    = 0
pp_data->cap[209]->NotRange.DataIndex                    = 122
pp_data->cap[209]->NotRange.Reserved4                    = 122
pp_data->cap[209]->NotButton.HasNull                   = 0
pp_data->cap[209]->NotButton.Reserved4                 = 0x000000
pp_data->cap[209]->NotButton.LogicalMin                = 0
pp_data->cap[209]->NotButton.LogicalMax                = 127
pp_data->cap[209]->NotButton.PhysicalMin               = 0
pp_data->cap[209]->NotButton.PhysicalMax               = 0
pp_data->cap[209]->Units                    = 0
pp_data->cap[209]->UnitsExp                 = 0

pp_data->cap[210]->UsagePage                    = 0xFF01
pp_data->cap[210]->ReportID                     = 0x81
pp_data->cap[210]->BitPosition                  = 0
pp_data->cap[210]->BitSize                      = 8
pp_data->cap[210]->ReportCount                  = 1
pp_data->cap[210]->BytePosition                 = 0x000B
pp_data->cap[210]->BitCount                     = 8
pp_data->cap[210]->BitField                     = 0x02
pp_data->cap[210]->NextBytePosition             = 0x000C
pp_data->cap[210]->LinkCollection               = 0x0004
pp_data->cap[210]->LinkUsagePage                = 0xFF01
pp_data->cap[210]->LinkUsage                    = 0x0080
pp_data->cap[210]->IsMultipleItemsForArray      = 0
pp_data->cap[210]->IsButtonCap                  = 0
pp_data->cap[210]->IsPadding                    = 0
pp_data->cap[210]->IsAbsolute                   = 1
pp_data->cap[210]->IsRange                      = 0
pp_data->cap[210]->IsAlias                      = 0
pp_data->cap[210]->IsStringRange                = 0
pp_data->cap[210]->IsDesignatorRange            = 0
pp_data->cap[210]->Reserved1                    = 0x000000
pp_data->cap[210]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[210]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[210]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[210]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[210]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[210]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[210]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[210]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[210]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[210]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[210]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[210]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[210]->NotRange.Usage                        = 0x0081
pp_data->cap[210]->NotRange.Reserved1                    = 0x0081
pp_data->cap[210]->NotRange.StringIndex                  = 0
pp_data->cap[210]->NotRange.Reserved2                    = 0
pp_data->cap[210]->NotRange.DesignatorIndex              = 0
pp_data->cap[210]->NotRange.Reserved3                    = 0
pp_data->cap[210]->NotRange.DataIndex                    = 123
pp_data->cap[210]->NotRange.Reserved4                    = 123
pp_data->cap[210]->NotButton.HasNull                   = 0
pp_data->cap[210]->NotButton.Reserved4                 = 0x000000
pp_data->cap[210]->NotButton.LogicalMin                = 0
pp_data->cap[210]->NotButton.LogicalMax                = 127
pp_data->cap[210]->NotButton.PhysicalMin               = 0
pp_data->cap[210]->NotButton.PhysicalMax               = 0
pp_data->cap[210]->Units                    = 0
pp_data->cap[210]->UnitsExp                 = 0

pp_data->cap[211]->UsagePage                    = 0xFF01
pp_data->cap[211]->ReportID                     = 0x81
pp_data->cap[211]->BitPosition                  = 0
pp_data->cap[211]->BitSize                      = 8
pp_data->cap[211]->ReportCount                  = 1
pp_data->cap[211]->BytePosition                 = 0x000A
pp_data->cap[211]->BitCount                     = 8
pp_data->cap[211]->BitField                     = 0x02
pp_data->cap[211]->NextBytePosition             = 0x000B
pp_data->cap[211]->LinkCollection               = 0x0004
pp_data->cap[211]->LinkUsagePage                = 0xFF01
pp_data->cap[211]->LinkUsage                    = 0x0080
pp_data->cap[211]->IsMultipleItemsForArray      = 0
pp_data->cap[211]->IsButtonCap                  = 0
pp_data->cap[211]->IsPadding                    = 0
pp_data->cap[211]->IsAbsolute                   = 1
pp_data->cap[211]->IsRange                      = 0
pp_data->cap[211]->IsAlias                      = 0
pp_data->cap[211]->IsStringRange                = 0
pp_data->cap[211]->IsDesignatorRange            = 0
pp_data->cap[211]->Reserved1                    = 0x000000
pp_data->cap[211]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[211]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[211]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[211]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[211]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[211]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[211]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[211]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[211]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[211]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[211]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[211]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[211]->NotRange.Usage                        = 0x0081
pp_data->cap[211]->NotRange.Reserved1                    = 0x0081
pp_data->cap[211]->NotRange.StringIndex                  = 0
pp_data->cap[211]->NotRange.Reserved2                    = 0
pp_data->cap[211]->NotRange.DesignatorIndex              = 0
pp_data->cap[211]->NotRange.Reserved3                    = 0
pp_data->cap[211]->NotRange.DataIndex                    = 124
pp_data->cap[211]->NotRange.Reserved4                    = 124
pp_data->cap[211]->NotButton.HasNull                   = 0
pp_data->cap[211]->NotButton.Reserved4                 = 0x000000
pp_data->cap[211]->NotButton.LogicalMin                = 0
pp_data->cap[211]->NotButton.LogicalMax                = 127
pp_data->cap[211]->NotButton.PhysicalMin               = 0
pp_data->cap[211]->NotButton.PhysicalMax               = 0
pp_data->cap[211]->Units                    = 0
pp_data->cap[211]->UnitsExp                 = 0

pp_data->cap[212]->UsagePage                    = 0xFF01
pp_data->cap[212]->ReportID                     = 0x81
pp_data->cap[212]->BitPosition                  = 0
pp_data->cap[212]->BitSize                      = 8
pp_data->cap[212]->ReportCount                  = 1
pp_data->cap[212]->BytePosition                 = 0x0009
pp_data->cap[212]->BitCount                     = 8
pp_data->cap[212]->BitField                     = 0x02
pp_data->cap[212]->NextBytePosition             = 0x000A
pp_data->cap[212]->LinkCollection               = 0x0004
pp_data->cap[212]->LinkUsagePage                = 0xFF01
pp_data->cap[212]->LinkUsage                    = 0x0080
pp_data->cap[212]->IsMultipleItemsForArray      = 0
pp_data->cap[212]->IsButtonCap                  = 0
pp_data->cap[212]->IsPadding                    = 0
pp_data->cap[212]->IsAbsolute                   = 1
pp_data->cap[212]->IsRange                      = 0
pp_data->cap[212]->IsAlias                      = 0
pp_data->cap[212]->IsStringRange                = 0
pp_data->cap[212]->IsDesignatorRange            = 0
pp_data->cap[212]->Reserved1                    = 0x000000
pp_data->cap[212]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[212]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[212]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[212]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[212]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[212]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[212]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[212]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[212]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[212]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[212]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[212]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[212]->NotRange.Usage                        = 0x0081
pp_data->cap[212]->NotRange.Reserved1                    = 0x0081
pp_data->cap[212]->NotRange.StringIndex                  = 0
pp_data->cap[212]->NotRange.Reserved2                    = 0
pp_data->cap[212]->NotRange.DesignatorIndex              = 0
pp_data->cap[212]->NotRange.Reserved3                    = 0
pp_data->cap[212]->NotRange.DataIndex                    = 125
pp_data->cap[212]->NotRange.Reserved4                    = 125
pp_data->cap[212]->NotButton.HasNull                   = 0
pp_data->cap[212]->NotButton.Reserved4                 = 0x000000
pp_data->cap[212]->NotButton.LogicalMin                = 0
pp_data->cap[212]->NotButton.LogicalMax                = 127
pp_data->cap[212]->NotButton.PhysicalMin               = 0
pp_data->cap[212]->NotButton.PhysicalMax               = 0
pp_data->cap[212]->Units                    = 0
pp_data->cap[212]->UnitsExp                 = 0

pp_data->cap[213]->UsagePage                    = 0xFF01
pp_data->cap[213]->ReportID                     = 0x81
pp_data->cap[213]->BitPosition                  = 0
pp_data->cap[213]->BitSize                      = 8
pp_data->cap[213]->ReportCount                  = 1
pp_data->cap[213]->BytePosition                 = 0x0008
pp_data->cap[213]->BitCount                     = 8
pp_data->cap[213]->BitField                     = 0x02
pp_data->cap[213]->NextBytePosition             = 0x0009
pp_data->cap[213]->LinkCollection               = 0x0004
pp_data->cap[213]->LinkUsagePage                = 0xFF01
pp_data->cap[213]->LinkUsage                    = 0x0080
pp_data->cap[213]->IsMultipleItemsForArray      = 0
pp_data->cap[213]->IsButtonCap                  = 0
pp_data->cap[213]->IsPadding                    = 0
pp_data->cap[213]->IsAbsolute                   = 1
pp_data->cap[213]->IsRange                      = 0
pp_data->cap[213]->IsAlias                      = 0
pp_data->cap[213]->IsStringRange                = 0
pp_data->cap[213]->IsDesignatorRange            = 0
pp_data->cap[213]->Reserved1                    = 0x000000
pp_data->cap[213]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[213]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[213]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[213]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[213]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[213]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[213]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[213]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[213]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[213]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[213]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[213]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[213]->NotRange.Usage                        = 0x0081
pp_data->cap[213]->NotRange.Reserved1                    = 0x0081
pp_data->cap[213]->NotRange.StringIndex                  = 0
pp_data->cap[213]->NotRange.Reserved2                    = 0
pp_data->cap[213]->NotRange.DesignatorIndex              = 0
pp_data->cap[213]->NotRange.Reserved3                    = 0
pp_data->cap[213]->NotRange.DataIndex                    = 126
pp_data->cap[213]->NotRange.Reserved4                    = 126
pp_data->cap[213]->NotButton.HasNull                   = 0
pp_data->cap[213]->NotButton.Reserved4                 = 0x000000
pp_data->cap[213]->NotButton.LogicalMin                = 0
pp_data->cap[213]->NotButton.LogicalMax                = 127
pp_data->cap[213]->NotButton.PhysicalMin               = 0
pp_data->cap[213]->NotButton.PhysicalMax               = 0
pp_data->cap[213]->Units                    = 0
pp_data->cap[213]->UnitsExp                 = 0

pp_data->cap[214]->UsagePage                    = 0xFF01
pp_data->cap[214]->ReportID                     = 0x81
pp_data->cap[214]->BitPosition                  = 0
pp_data->cap[214]->BitSize                      = 8
pp_data->cap[214]->ReportCount                  = 1
pp_data->cap[214]->BytePosition                 = 0x0007
pp_data->cap[214]->BitCount                     = 8
pp_data->cap[214]->BitField                     = 0x02
pp_data->cap[214]->NextBytePosition             = 0x0008
pp_data->cap[214]->LinkCollection               = 0x0004
pp_data->cap[214]->LinkUsagePage                = 0xFF01
pp_data->cap[214]->LinkUsage                    = 0x0080
pp_data->cap[214]->IsMultipleItemsForArray      = 0
pp_data->cap[214]->IsButtonCap                  = 0
pp_data->cap[214]->IsPadding                    = 0
pp_data->cap[214]->IsAbsolute                   = 1
pp_data->cap[214]->IsRange                      = 0
pp_data->cap[214]->IsAlias                      = 0
pp_data->cap[214]->IsStringRange                = 0
pp_data->cap[214]->IsDesignatorRange            = 0
pp_data->cap[214]->Reserved1                    = 0x000000
pp_data->cap[214]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[214]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[214]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[214]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[214]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[214]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[214]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[214]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[214]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[214]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[214]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[214]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[214]->NotRange.Usage                        = 0x0081
pp_data->cap[214]->NotRange.Reserved1                    = 0x0081
pp_data->cap[214]->NotRange.StringIndex                  = 0
pp_data->cap[214]->NotRange.Reserved2                    = 0
pp_data->cap[214]->NotRange.DesignatorIndex              = 0
pp_data->cap[214]->NotRange.Reserved3                    = 0
pp_data->cap[214]->NotRange.DataIndex                    = 127
pp_data->cap[214]->NotRange.Reserved4                    = 127
pp_data->cap[214]->NotButton.HasNull                   = 0
pp_data->cap[214]->NotButton.Reserved4                 = 0x000000
pp_data->cap[214]->NotButton.LogicalMin                = 0
pp_data->cap[214]->NotButton.LogicalMax                = 127
pp_data->cap[214]->NotButton.PhysicalMin               = 0
pp_data->cap[214]->NotButton.PhysicalMax               = 0
pp_data->cap[214]->Units                    = 0
pp_data->cap[214]->UnitsExp                 = 0

pp_data->cap[215]->UsagePage                    = 0xFF01
pp_data->cap[215]->ReportID                     = 0x81
pp_data->cap[215]->BitPosition                  = 0
pp_data->cap[215]->BitSize                      = 8
pp_data->cap[215]->ReportCount                  = 1
pp_data->cap[215]->BytePosition                 = 0x0006
pp_data->cap[215]->BitCount                     = 8
pp_data->cap[215]->BitField                     = 0x02
pp_data->cap[215]->NextBytePosition             = 0x0007
pp_data->cap[215]->LinkCollection               = 0x0004
pp_data->cap[215]->LinkUsagePage                = 0xFF01
pp_data->cap[215]->LinkUsage                    = 0x0080
pp_data->cap[215]->IsMultipleItemsForArray      = 0
pp_data->cap[215]->IsButtonCap                  = 0
pp_data->cap[215]->IsPadding                    = 0
pp_data->cap[215]->IsAbsolute                   = 1
pp_data->cap[215]->IsRange                      = 0
pp_data->cap[215]->IsAlias                      = 0
pp_data->cap[215]->IsStringRange                = 0
pp_data->cap[215]->IsDesignatorRange            = 0
pp_data->cap[215]->Reserved1                    = 0x000000
pp_data->cap[215]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[215]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[215]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[215]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[215]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[215]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[215]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[215]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[215]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[215]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[215]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[215]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[215]->NotRange.Usage                        = 0x0081
pp_data->cap[215]->NotRange.Reserved1                    = 0x0081
pp_data->cap[215]->NotRange.StringIndex                  = 0
pp_data->cap[215]->NotRange.Reserved2                    = 0
pp_data->cap[215]->NotRange.DesignatorIndex              = 0
pp_data->cap[215]->NotRange.Reserved3                    = 0
pp_data->cap[215]->NotRange.DataIndex                    = 128
pp_data->cap[215]->NotRange.Reserved4                    = 128
pp_data->cap[215]->NotButton.HasNull                   = 0
pp_data->cap[215]->NotButton.Reserved4                 = 0x000000
pp_data->cap[215]->NotButton.LogicalMin                = 0
pp_data->cap[215]->NotButton.LogicalMax                = 127
pp_data->cap[215]->NotButton.PhysicalMin               = 0
pp_data->cap[215]->NotButton.PhysicalMax               = 0
pp_data->cap[215]->Units                    = 0
pp_data->cap[215]->UnitsExp                 = 0

pp_data->cap[216]->UsagePage                    = 0xFF01
pp_data->cap[216]->ReportID                     = 0x81
pp_data->cap[216]->BitPosition                  = 0
pp_data->cap[216]->BitSize                      = 8
pp_data->cap[216]->ReportCount                  = 1
pp_data->cap[216]->BytePosition                 = 0x0005
pp_data->cap[216]->BitCount                     = 8
pp_data->cap[216]->BitField                     = 0x02
pp_data->cap[216]->NextBytePosition             = 0x0006
pp_data->cap[216]->LinkCollection               = 0x0004
pp_data->cap[216]->LinkUsagePage                = 0xFF01
pp_data->cap[216]->LinkUsage                    = 0x0080
pp_data->cap[216]->IsMultipleItemsForArray      = 0
pp_data->cap[216]->IsButtonCap                  = 0
pp_data->cap[216]->IsPadding                    = 0
pp_data->cap[216]->IsAbsolute                   = 1
pp_data->cap[216]->IsRange                      = 0
pp_data->cap[216]->IsAlias                      = 0
pp_data->cap[216]->IsStringRange                = 0
pp_data->cap[216]->IsDesignatorRange            = 0
pp_data->cap[216]->Reserved1                    = 0x000000
pp_data->cap[216]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[216]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[216]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[216]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[216]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[216]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[216]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[216]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[216]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[216]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[216]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[216]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[216]->NotRange.Usage                        = 0x0081
pp_data->cap[216]->NotRange.Reserved1                    = 0x0081
pp_data->cap[216]->NotRange.StringIndex                  = 0
pp_data->cap[216]->NotRange.Reserved2                    = 0
pp_data->cap[216]->NotRange.DesignatorIndex              = 0
pp_data->cap[216]->NotRange.Reserved3                    = 0
pp_data->cap[216]->NotRange.DataIndex                    = 129
pp_data->cap[216]->NotRange.Reserved4                    = 129
pp_data->cap[216]->NotButton.HasNull                   = 0
pp_data->cap[216]->NotButton.Reserved4                 = 0x000000
pp_data->cap[216]->NotButton.LogicalMin                = 0
pp_data->cap[216]->NotButton.LogicalMax                = 127
pp_data->cap[216]->NotButton.PhysicalMin               = 0
pp_data->cap[216]->NotButton.PhysicalMax               = 0
pp_data->cap[216]->Units                    = 0
pp_data->cap[216]->UnitsExp                 = 0

pp_data->cap[217]->UsagePage                    = 0xFF01
pp_data->cap[217]->ReportID                     = 0x81
pp_data->cap[217]->BitPosition                  = 0
pp_data->cap[217]->BitSize                      = 8
pp_data->cap[217]->ReportCount                  = 1
pp_data->cap[217]->BytePosition                 = 0x0004
pp_data->cap[217]->BitCount                     = 8
pp_data->cap[217]->BitField                     = 0x02
pp_data->cap[217]->NextBytePosition             = 0x0005
pp_data->cap[217]->LinkCollection               = 0x0004
pp_data->cap[217]->LinkUsagePage                = 0xFF01
pp_data->cap[217]->LinkUsage                    = 0x0080
pp_data->cap[217]->IsMultipleItemsForArray      = 0
pp_data->cap[217]->IsButtonCap                  = 0
pp_data->cap[217]->IsPadding                    = 0
pp_data->cap[217]->IsAbsolute                   = 1
pp_data->cap[217]->IsRange                      = 0
pp_data->cap[217]->IsAlias                      = 0
pp_data->cap[217]->IsStringRange                = 0
pp_data->cap[217]->IsDesignatorRange            = 0
pp_data->cap[217]->Reserved1                    = 0x000000
pp_data->cap[217]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[217]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[217]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[217]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[217]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[217]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[217]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[217]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[217]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[217]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[217]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[217]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[217]->NotRange.Usage                        = 0x0081
pp_data->cap[217]->NotRange.Reserved1                    = 0x0081
pp_data->cap[217]->NotRange.StringIndex                  = 0
pp_data->cap[217]->NotRange.Reserved2                    = 0
pp_data->cap[217]->NotRange.DesignatorIndex              = 0
pp_data->cap[217]->NotRange.Reserved3                    = 0
pp_data->cap[217]->NotRange.DataIndex                    = 130
pp_data->cap[217]->NotRange.Reserved4                    = 130
pp_data->cap[217]->NotButton.HasNull                   = 0
pp_data->cap[217]->NotButton.Reserved4                 = 0x000000
pp_data->cap[217]->NotButton.LogicalMin                = 0
pp_data->cap[217]->NotButton.LogicalMax                = 127
pp_data->cap[217]->NotButton.PhysicalMin               = 0
pp_data->cap[217]->NotButton.PhysicalMax               = 0
pp_data->cap[217]->Units                    = 0
pp_data->cap[217]->UnitsExp                 = 0

pp_data->cap[218]->UsagePage                    = 0xFF01
pp_data->cap[218]->ReportID                     = 0x81
pp_data->cap[218]->BitPosition                  = 0
pp_data->cap[218]->BitSize                      = 8
pp_data->cap[218]->ReportCount                  = 1
pp_data->cap[218]->BytePosition                 = 0x0003
pp_data->cap[218]->BitCount                     = 8
pp_data->cap[218]->BitField                     = 0x02
pp_data->cap[218]->NextBytePosition             = 0x0004
pp_data->cap[218]->LinkCollection               = 0x0004
pp_data->cap[218]->LinkUsagePage                = 0xFF01
pp_data->cap[218]->LinkUsage                    = 0x0080
pp_data->cap[218]->IsMultipleItemsForArray      = 0
pp_data->cap[218]->IsButtonCap                  = 0
pp_data->cap[218]->IsPadding                    = 0
pp_data->cap[218]->IsAbsolute                   = 1
pp_data->cap[218]->IsRange                      = 0
pp_data->cap[218]->IsAlias                      = 0
pp_data->cap[218]->IsStringRange                = 0
pp_data->cap[218]->IsDesignatorRange            = 0
pp_data->cap[218]->Reserved1                    = 0x000000
pp_data->cap[218]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[218]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[218]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[218]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[218]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[218]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[218]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[218]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[218]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[218]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[218]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[218]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[218]->NotRange.Usage                        = 0x0081
pp_data->cap[218]->NotRange.Reserved1                    = 0x0081
pp_data->cap[218]->NotRange.StringIndex                  = 0
pp_data->cap[218]->NotRange.Reserved2                    = 0
pp_data->cap[218]->NotRange.DesignatorIndex              = 0
pp_data->cap[218]->NotRange.Reserved3                    = 0
pp_data->cap[218]->NotRange.DataIndex                    = 131
pp_data->cap[218]->NotRange.Reserved4                    = 131
pp_data->cap[218]->NotButton.HasNull                   = 0
pp_data->cap[218]->NotButton.Reserved4                 = 0x000000
pp_data->cap[218]->NotButton.LogicalMin                = 0
pp_data->cap[218]->NotButton.LogicalMax                = 127
pp_data->cap[218]->NotButton.PhysicalMin               = 0
pp_data->cap[218]->NotButton.PhysicalMax               = 0
pp_data->cap[218]->Units                    = 0
pp_data->cap[218]->UnitsExp                 = 0

pp_data->cap[219]->UsagePage                    = 0xFF01
pp_data->cap[219]->ReportID                     = 0x81
pp_data->cap[219]->BitPosition                  = 0
pp_data->cap[219]->BitSize                      = 8
pp_data->cap[219]->ReportCount                  = 1
pp_data->cap[219]->BytePosition                 = 0x0002
pp_data->cap[219]->BitCount                     = 8
pp_data->cap[219]->BitField                     = 0x02
pp_data->cap[219]->NextBytePosition             = 0x0003
pp_data->cap[219]->LinkCollection               = 0x0004
pp_data->cap[219]->LinkUsagePage                = 0xFF01
pp_data->cap[219]->LinkUsage                    = 0x0080
pp_data->cap[219]->IsMultipleItemsForArray      = 0
pp_data->cap[219]->IsButtonCap                  = 0
pp_data->cap[219]->IsPadding                    = 0
pp_data->cap[219]->IsAbsolute                   = 1
pp_data->cap[219]->IsRange                      = 0
pp_data->cap[219]->IsAlias                      = 0
pp_data->cap[219]->IsStringRange                = 0
pp_data->cap[219]->IsDesignatorRange            = 0
pp_data->cap[219]->Reserved1                    = 0x000000
pp_data->cap[219]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[219]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[219]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[219]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[219]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[219]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[219]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[219]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[219]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[219]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[219]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[219]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[219]->NotRange.Usage                        = 0x0081
pp_data->cap[219]->NotRange.Reserved1                    = 0x0081
pp_data->cap[219]->NotRange.StringIndex                  = 0
pp_data->cap[219]->NotRange.Reserved2                    = 0
pp_data->cap[219]->NotRange.DesignatorIndex              = 0
pp_data->cap[219]->NotRange.Reserved3                    = 0
pp_data->cap[219]->NotRange.DataIndex                    = 132
pp_data->cap[219]->NotRange.Reserved4                    = 132
pp_data->cap[219]->NotButton.HasNull                   = 0
pp_data->cap[219]->NotButton.Reserved4                 = 0x000000
pp_data->cap[219]->NotButton.LogicalMin                = 0
pp_data->cap[219]->NotButton.LogicalMax                = 127
pp_data->cap[219]->NotButton.PhysicalMin               = 0
pp_data->cap[219]->NotButton.PhysicalMax               = 0
pp_data->cap[219]->Units                    = 0
pp_data->cap[219]->UnitsExp                 = 0

pp_data->cap[220]->UsagePage                    = 0xFF01
pp_data->cap[220]->ReportID                     = 0x81
pp_data->cap[220]->BitPosition                  = 0
pp_data->cap[220]->BitSize                      = 8
pp_data->cap[220]->ReportCount                  = 1
pp_data->cap[220]->BytePosition                 = 0x0001
pp_data->cap[220]->BitCount                     = 8
pp_data->cap[220]->BitField                     = 0x02
pp_data->cap[220]->NextBytePosition             = 0x0002
pp_data->cap[220]->LinkCollection               = 0x0004
pp_data->cap[220]->LinkUsagePage                = 0xFF01
pp_data->cap[220]->LinkUsage                    = 0x0080
pp_data->cap[220]->IsMultipleItemsForArray      = 0
pp_data->cap[220]->IsButtonCap                  = 0
pp_data->cap[220]->IsPadding                    = 0
pp_data->cap[220]->IsAbsolute                   = 1
pp_data->cap[220]->IsRange                      = 0
pp_data->cap[220]->IsAlias                      = 0
pp_data->cap[220]->IsStringRange                = 0
pp_data->cap[220]->IsDesignatorRange            = 0
pp_data->cap[220]->Reserved1                    = 0x000000
pp_data->cap[220]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[220]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[220]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[220]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[220]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[220]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[220]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[220]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[220]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[220]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[220]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[220]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[220]->NotRange.Usage                        = 0x0081
pp_data->cap[220]->NotRange.Reserved1                    = 0x0081
pp_data->cap[220]->NotRange.StringIndex                  = 0
pp_data->cap[220]->NotRange.Reserved2                    = 0
pp_data->cap[220]->NotRange.DesignatorIndex              = 0
pp_data->cap[220]->NotRange.Reserved3                    = 0
pp_data->cap[220]->NotRange.DataIndex                    = 133
pp_data->cap[220]->NotRange.Reserved4                    = 133
pp_data->cap[220]->NotButton.HasNull                   = 0
pp_data->cap[220]->NotButton.Reserved4                 = 0x000000
pp_data->cap[220]->NotButton.LogicalMin                = 0
pp_data->cap[220]->NotButton.LogicalMax                = 127
pp_data->cap[220]->NotButton.PhysicalMin               = 0
pp_data->cap[220]->NotButton.PhysicalMax               = 0
pp_data->cap[220]->Units                    = 0
pp_data->cap[220]->UnitsExp                 = 0

# Feature hid_pp_cap struct:
pp_data->cap[221]->UsagePage                    = 0xFF01
pp_data->cap[221]->ReportID                     = 0xD0
pp_data->cap[221]->BitPosition                  = 0
pp_data->cap[221]->BitSize                      = 8
pp_data->cap[221]->ReportCount                  = 32
pp_data->cap[221]->BytePosition                 = 0x0001
pp_data->cap[221]->BitCount                     = 256
pp_data->cap[221]->BitField                     = 0x82
pp_data->cap[221]->NextBytePosition             = 0x0021
pp_data->cap[221]->LinkCollection               = 0x0005
pp_data->cap[221]->LinkUsagePage                = 0xFF01
pp_data->cap[221]->LinkUsage                    = 0x00D0
pp_data->cap[221]->IsMultipleItemsForArray      = 0
pp_data->cap[221]->IsButtonCap                  = 0
pp_data->cap[221]->IsPadding                    = 0
pp_data->cap[221]->IsAbsolute                   = 1
pp_data->cap[221]->IsRange                      = 0
pp_data->cap[221]->IsAlias                      = 0
pp_data->cap[221]->IsStringRange                = 0
pp_data->cap[221]->IsDesignatorRange            = 0
pp_data->cap[221]->Reserved1                    = 0x000000
pp_data->cap[221]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[221]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[221]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[221]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[221]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[221]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[221]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[221]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[221]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[221]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[221]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[221]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[221]->NotRange.Usage                        = 0x00D1
pp_data->cap[221]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[221]->NotRange.StringIndex                  = 0
pp_data->cap[221]->NotRange.Reserved2                    = 0
pp_data->cap[221]->NotRange.DesignatorIndex              = 0
pp_data->cap[221]->NotRange.Reserved3                    = 0
pp_data->cap[221]->NotRange.DataIndex                    = 0
pp_data->cap[221]->NotRange.Reserved4                    = 0
pp_data->cap[221]->NotButton.HasNull                   = 0
pp_data->cap[221]->NotButton.Reserved4                 = 0x000000
pp_data->cap[221]->NotButton.LogicalMin                = 0
pp_data->cap[221]->NotButton.LogicalMax                = 255
pp_data->cap[221]->NotButton.PhysicalMin               = 0
pp_data->cap[221]->NotButton.PhysicalMax               = 0
pp_data->cap[221]->Units                    = 0
pp_data->cap[221]->UnitsExp                 = 0

pp_data->cap[222]->UsagePage                    = 0xFF01
pp_data->cap[222]->ReportID                     = 0xD1
pp_data->cap[222]->BitPosition                  = 0
pp_data->cap[222]->BitSize                      = 8
pp_data->cap[222]->ReportCount                  = 32
pp_data->cap[222]->BytePosition                 = 0x0001
pp_data->cap[222]->BitCount                     = 256
pp_data->cap[222]->BitField                     = 0x82
pp_data->cap[222]->NextBytePosition             = 0x0021
pp_data->cap[222]->LinkCollection               = 0x0006
pp_data->cap[222]->LinkUsagePage                = 0xFF01
pp_data->cap[222]->LinkUsage                    = 0x00D0
pp_data->cap[222]->IsMultipleItemsForArray      = 0
pp_data->cap[222]->IsButtonCap                  = 0
pp_data->cap[222]->IsPadding                    = 0
pp_data->cap[222]->IsAbsolute                   = 1
pp_data->cap[222]->IsRange                      = 0
pp_data->cap[222]->IsAlias                      = 0
pp_data->cap[222]->IsStringRange                = 0
pp_data->cap[222]->IsDesignatorRange            = 0
pp_data->cap[222]->Reserved1                    = 0x000000
pp_data->cap[222]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[222]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[222]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[222]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[222]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[222]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[222]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[222]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[222]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[222]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[222]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[222]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[222]->NotRange.Usage                        = 0x00D1
pp_data->cap[222]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[222]->NotRange.StringIndex                  = 0
pp_data->cap[222]->NotRange.Reserved2                    = 0
pp_data->cap[222]->NotRange.DesignatorIndex              = 0
pp_data->cap[222]->NotRange.Reserved3                    = 0
pp_data->cap[222]->NotRange.DataIndex                    = 1
pp_data->cap[222]->NotRange.Reserved4                    = 1
pp_data->cap[222]->NotButton.HasNull                   = 0
pp_data->cap[222]->NotButton.Reserved4                 = 0x000000
pp_data->cap[222]->NotButton.LogicalMin                = 0
pp_data->cap[222]->NotButton.LogicalMax                = 255
pp_data->cap[222]->NotButton.PhysicalMin               = 0
pp_data->cap[222]->NotButton.PhysicalMax               = 0
pp_data->cap[222]->Units                    = 0
pp_data->cap[222]->UnitsExp                 = 0

pp_data->cap[223]->UsagePage                    = 0xFF01
pp_data->cap[223]->ReportID                     = 0xD2
pp_data->cap[223]->BitPosition                  = 0
pp_data->cap[223]->BitSize                      = 8
pp_data->cap[223]->ReportCount                  = 32
pp_data->cap[223]->BytePosition                 = 0x0001
pp_data->cap[223]->BitCount                     = 256
pp_data->cap[223]->BitField                     = 0x82
pp_data->cap[223]->NextBytePosition             = 0x0021
pp_data->cap[223]->LinkCollection               = 0x0007
pp_data->cap[223]->LinkUsagePage                = 0xFF01
pp_data->cap[223]->LinkUsage                    = 0x00D0
pp_data->cap[223]->IsMultipleItemsForArray      = 0
pp_data->cap[223]->IsButtonCap                  = 0
pp_data->cap[223]->IsPadding                    = 0
pp_data->cap[223]->IsAbsolute                   = 1
pp_data->cap[223]->IsRange                      = 0
pp_data->cap[223]->IsAlias                      = 0
pp_data->cap[223]->IsStringRange                = 0
pp_data->cap[223]->IsDesignatorRange            = 0
pp_data->cap[223]->Reserved1                    = 0x000000
pp_data->cap[223]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[223]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[223]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[223]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[223]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[223]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[223]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[223]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[223]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[223]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[223]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[223]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[223]->NotRange.Usage                        = 0x00D1
pp_data->cap[223]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[223]->NotRange.StringIndex                  = 0
pp_data->cap[223]->NotRange.Reserved2                    = 0
pp_data->cap[223]->NotRange.DesignatorIndex              = 0
pp_data->cap[223]->NotRange.Reserved3                    = 0
pp_data->cap[223]->NotRange.DataIndex                    = 2
pp_data->cap[223]->NotRange.Reserved4                    = 2
pp_data->cap[223]->NotButton.HasNull                   = 0
pp_data->cap[223]->NotButton.Reserved4                 = 0x000000
pp_data->cap[223]->NotButton.LogicalMin                = 0
pp_data->cap[223]->NotButton.LogicalMax                = 255
pp_data->cap[223]->NotButton.PhysicalMin               = 0
pp_data->cap[223]->NotButton.PhysicalMax               = 0
pp_data->cap[223]->Units                    = 0
pp_data->cap[223]->UnitsExp                 = 0

pp_data->cap[224]->UsagePage                    = 0xFF01
pp_data->cap[224]->ReportID                     = 0xD3
pp_data->cap[224]->BitPosition                  = 0
pp_data->cap[224]->BitSize                      = 8
pp_data->cap[224]->ReportCount                  = 32
pp_data->cap[224]->BytePosition                 = 0x0001
pp_data->cap[224]->BitCount                     = 256
pp_data->cap[224]->BitField                     = 0x82
pp_data->cap[224]->NextBytePosition             = 0x0021
pp_data->cap[224]->LinkCollection               = 0x0008
pp_data->cap[224]->LinkUsagePage                = 0xFF01
pp_data->cap[224]->LinkUsage                    = 0x00D0
pp_data->cap[224]->IsMultipleItemsForArray      = 0
pp_data->cap[224]->IsButtonCap                  = 0
pp_data->cap[224]->IsPadding                    = 0
pp_data->cap[224]->IsAbsolute                   = 1
pp_data->cap[224]->IsRange                      = 0
pp_data->cap[224]->IsAlias                      = 0
pp_data->cap[224]->IsStringRange                = 0
pp_data->cap[224]->IsDesignatorRange            = 0
pp_data->cap[224]->Reserved1                    = 0x000000
pp_data->cap[224]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[224]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[224]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[224]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[224]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[224]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[224]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[224]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[224]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[224]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[224]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[224]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[224]->NotRange.Usage                        = 0x00D1
pp_data->cap[224]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[224]->NotRange.StringIndex                  = 0
pp_data->cap[224]->NotRange.Reserved2                    = 0
pp_data->cap[224]->NotRange.DesignatorIndex              = 0
pp_data->cap[224]->NotRange.Reserved3                    = 0
pp_data->cap[224]->NotRange.DataIndex                    = 3
pp_data->cap[224]->NotRange.Reserved4                    = 3
pp_data->cap[224]->NotButton.HasNull                   = 0
pp_data->cap[224]->NotButton.Reserved4                 = 0x000000
pp_data->cap[224]->NotButton.LogicalMin                = 0
pp_data->cap[224]->NotButton.LogicalMax                = 255
pp_data->cap[224]->NotButton.PhysicalMin               = 0
pp_data->cap[224]->NotButton.PhysicalMax               = 0
pp_data->cap[224]->Units                    = 0
pp_data->cap[224]->UnitsExp                 = 0

pp_data->cap[225]->UsagePage                    = 0xFF01
pp_data->cap[225]->ReportID                     = 0xD4
pp_data->cap[225]->BitPosition                  = 0
pp_data->cap[225]->BitSize                      = 8
pp_data->cap[225]->ReportCount                  = 32
pp_data->cap[225]->BytePosition                 = 0x0001
pp_data->cap[225]->BitCount                     = 256
pp_data->cap[225]->BitField                     = 0x82
pp_data->cap[225]->NextBytePosition             = 0x0021
pp_data->cap[225]->LinkCollection               = 0x0009
pp_data->cap[225]->LinkUsagePage                = 0xFF01
pp_data->cap[225]->LinkUsage                    = 0x00D0
pp_data->cap[225]->IsMultipleItemsForArray      = 0
pp_data->cap[225]->IsButtonCap                  = 0
pp_data->cap[225]->IsPadding                    = 0
pp_data->cap[225]->IsAbsolute                   = 1
pp_data->cap[225]->IsRange                      = 0
pp_data->cap[225]->IsAlias                      = 0
pp_data->cap[225]->IsStringRange                = 0
pp_data->cap[225]->IsDesignatorRange            = 0
pp_data->cap[225]->Reserved1                    = 0x000000
pp_data->cap[225]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[225]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[225]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[225]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[225]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[225]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[225]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[225]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[225]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[225]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[225]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[225]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[225]->NotRange.Usage                        = 0x00D1
pp_data->cap[225]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[225]->NotRange.StringIndex                  = 0
pp_data->cap[225]->NotRange.Reserved2                    = 0
pp_data->cap[225]->NotRange.DesignatorIndex              = 0
pp_data->cap[225]->NotRange.Reserved3                    = 0
pp_data->cap[225]->NotRange.DataIndex                    = 4
pp_data->cap[225]->NotRange.Reserved4                    = 4
pp_data->cap[225]->NotButton.HasNull                   = 0
pp_data->cap[225]->NotButton.Reserved4                 = 0x000000
pp_data->cap[225]->NotButton.LogicalMin                = 0
pp_data->cap[225]->NotButton.LogicalMax                = 255
pp_data->cap[225]->NotButton.PhysicalMin               = 0
pp_data->cap[225]->NotButton.PhysicalMax               = 0
pp_data->cap[225]->Units                    = 0
pp_data->cap[225]->UnitsExp                 = 0

pp_data->cap[226]->UsagePage                    = 0xFF01
pp_data->cap[226]->ReportID                     = 0xD5
pp_data->cap[226]->BitPosition                  = 0
pp_data->cap[226]->BitSize                      = 8
pp_data->cap[226]->ReportCount                  = 32
pp_data->cap[226]->BytePosition                 = 0x0001
pp_data->cap[226]->BitCount                     = 256
pp_data->cap[226]->BitField                     = 0x82
pp_data->cap[226]->NextBytePosition             = 0x0021
pp_data->cap[226]->LinkCollection               = 0x000A
pp_data->cap[226]->LinkUsagePage                = 0xFF01
pp_data->cap[226]->LinkUsage                    = 0x00D0
pp_data->cap[226]->IsMultipleItemsForArray      = 0
pp_data->cap[226]->IsButtonCap                  = 0
pp_data->cap[226]->IsPadding                    = 0
pp_data->cap[226]->IsAbsolute                   = 1
pp_data->cap[226]->IsRange                      = 0
pp_data->cap[226]->IsAlias                      = 0
pp_data->cap[226]->IsStringRange                = 0
pp_data->cap[226]->IsDesignatorRange            = 0
pp_data->cap[226]->Reserved1                    = 0x000000
pp_data->cap[226]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[226]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[226]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[226]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[226]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[226]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[226]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[226]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[226]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[226]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[226]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[226]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[226]->NotRange.Usage                        = 0x00D1
pp_data->cap[226]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[226]->NotRange.StringIndex                  = 0
pp_data->cap[226]->NotRange.Reserved2                    = 0
pp_data->cap[226]->NotRange.DesignatorIndex              = 0
pp_data->cap[226]->NotRange.Reserved3                    = 0
pp_data->cap[226]->NotRange.DataIndex                    = 5
pp_data->cap[226]->NotRange.Reserved4                    = 5
pp_data->cap[226]->NotButton.HasNull                   = 0
pp_data->cap[226]->NotButton.Reserved4                 = 0x000000
pp_data->cap[226]->NotButton.LogicalMin                = 0
pp_data->cap[226]->NotButton.LogicalMax                = 255
pp_data->cap[226]->NotButton.PhysicalMin               = 0
pp_data->cap[226]->NotButton.PhysicalMax               = 0
pp_data->cap[226]->Units                    = 0
pp_data->cap[226]->UnitsExp                 = 0

pp_data->cap[227]->UsagePage                    = 0xFF01
pp_data->cap[227]->ReportID                     = 0xD6
pp_data->cap[227]->BitPosition                  = 0
pp_data->cap[227]->BitSize                      = 8
pp_data->cap[227]->ReportCount                  = 32
pp_data->cap[227]->BytePosition                 = 0x0001
pp_data->cap[227]->BitCount                     = 256
pp_data->cap[227]->BitField                     = 0x82
pp_data->cap[227]->NextBytePosition             = 0x0021
pp_data->cap[227]->LinkCollection               = 0x000B
pp_data->cap[227]->LinkUsagePage                = 0xFF01
pp_data->cap[227]->LinkUsage                    = 0x00D0
pp_data->cap[227]->IsMultipleItemsForArray      = 0
pp_data->cap[227]->IsButtonCap                  = 0
pp_data->cap[227]->IsPadding                    = 0
pp_data->cap[227]->IsAbsolute                   = 1
pp_data->cap[227]->IsRange                      = 0
pp_data->cap[227]->IsAlias                      = 0
pp_data->cap[227]->IsStringRange                = 0
pp_data->cap[227]->IsDesignatorRange            = 0
pp_data->cap[227]->Reserved1                    = 0x000000
pp_data->cap[227]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[227]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[227]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[227]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[227]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[227]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[227]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[227]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[227]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[227]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[227]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[227]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[227]->NotRange.Usage                        = 0x00D1
pp_data->cap[227]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[227]->NotRange.StringIndex                  = 0
pp_data->cap[227]->NotRange.Reserved2                    = 0
pp_data->cap[227]->NotRange.DesignatorIndex              = 0
pp_data->cap[227]->NotRange.Reserved3                    = 0
pp_data->cap[227]->NotRange.DataIndex                    = 6
pp_data->cap[227]->NotRange.Reserved4                    = 6
pp_data->cap[227]->NotButton.HasNull                   = 0
pp_data->cap[227]->NotButton.Reserved4                 = 0x000000
pp_data->cap[227]->NotButton.LogicalMin                = 0
pp_data->cap[227]->NotButton.LogicalMax                = 255
pp_data->cap[227]->NotButton.PhysicalMin               = 0
pp_data->cap[227]->NotButton.PhysicalMax               = 0
pp_data->cap[227]->Units                    = 0
pp_data->cap[227]->UnitsExp                 = 0

pp_data->cap[228]->UsagePage                    = 0xFF01
pp_data->cap[228]->ReportID                     = 0xD8
pp_data->cap[228]->BitPosition                  = 0
pp_data->cap[228]->BitSize                      = 8
pp_data->cap[228]->ReportCount                  = 32
pp_data->cap[228]->BytePosition                 = 0x0001
pp_data->cap[228]->BitCount                     = 256
pp_data->cap[228]->BitField                     = 0x82
pp_data->cap[228]->NextBytePosition             = 0x0021
pp_data->cap[228]->LinkCollection               = 0x000C
pp_data->cap[228]->LinkUsagePage                = 0xFF01
pp_data->cap[228]->LinkUsage                    = 0x00D0
pp_data->cap[228]->IsMultipleItemsForArray      = 0
pp_data->cap[228]->IsButtonCap                  = 0
pp_data->cap[228]->IsPadding                    = 0
pp_data->cap[228]->IsAbsolute                   = 1
pp_data->cap[228]->IsRange                      = 0
pp_data->cap[228]->IsAlias                      = 0
pp_data->cap[228]->IsStringRange                = 0
pp_data->cap[228]->IsDesignatorRange            = 0
pp_data->cap[228]->Reserved1                    = 0x000000
pp_data->cap[228]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[228]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[228]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[228]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[228]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[228]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[228]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[228]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[228]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[228]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[228]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[228]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[228]->NotRange.Usage                        = 0x00D1
pp_data->cap[228]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[228]->NotRange.StringIndex                  = 0
pp_data->cap[228]->NotRange.Reserved2                    = 0
pp_data->cap[228]->NotRange.DesignatorIndex              = 0
pp_data->cap[228]->NotRange.Reserved3                    = 0
pp_data->cap[228]->NotRange.DataIndex                    = 7
pp_data->cap[228]->NotRange.Reserved4                    = 7
pp_data->cap[228]->NotButton.HasNull                   = 0
pp_data->cap[228]->NotButton.Reserved4                 = 0x000000
pp_data->cap[228]->NotButton.LogicalMin                = 0
pp_data->cap[228]->NotButton.LogicalMax                = 255
pp_data->cap[228]->NotButton.PhysicalMin               = 0
pp_data->cap[228]->NotButton.PhysicalMax               = 0
pp_data->cap[228]->Units                    = 0
pp_data->cap[228]->UnitsExp                 = 0

pp_data->cap[229]->UsagePage                    = 0xFF01
pp_data->cap[229]->ReportID                     = 0xD9
pp_data->cap[229]->BitPosition                  = 0
pp_data->cap[229]->BitSize                      = 8
pp_data->cap[229]->ReportCount                  = 32
pp_data->cap[229]->BytePosition                 = 0x0001
pp_data->cap[229]->BitCount                     = 256
pp_data->cap[229]->BitField                     = 0x82
pp_data->cap[229]->NextBytePosition             = 0x0021
pp_data->cap[229]->LinkCollection               = 0x000D
pp_data->cap[229]->LinkUsagePage                = 0xFF01
pp_data->cap[229]->LinkUsage                    = 0x00D0
pp_data->cap[229]->IsMultipleItemsForArray      = 0
pp_data->cap[229]->IsButtonCap                  = 0
pp_data->cap[229]->IsPadding                    = 0
pp_data->cap[229]->IsAbsolute                   = 1
pp_data->cap[229]->IsRange                      = 0
pp_data->cap[229]->IsAlias                      = 0
pp_data->cap[229]->IsStringRange                = 0
pp_data->cap[229]->IsDesignatorRange            = 0
pp_data->cap[229]->Reserved1                    = 0x000000
pp_data->cap[229]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[229]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[229]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[229]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[229]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[229]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[229]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[229]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[229]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[229]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[229]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[229]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[229]->NotRange.Usage                        = 0x00D1
pp_data->cap[229]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[229]->NotRange.StringIndex                  = 0
pp_data->cap[229]->NotRange.Reserved2                    = 0
pp_data->cap[229]->NotRange.DesignatorIndex              = 0
pp_data->cap[229]->NotRange.Reserved3                    = 0
pp_data->cap[229]->NotRange.DataIndex                    = 8
pp_data->cap[229]->NotRange.Reserved4                    = 8
pp_data->cap[229]->NotButton.HasNull                   = 0
pp_data->cap[229]->NotButton.Reserved4                 = 0x000000
pp_data->cap[229]->NotButton.LogicalMin                = 0
pp_data->cap[229]->NotButton.LogicalMax                = 255
pp_data->cap[229]->NotButton.PhysicalMin               = 0
pp_data->cap[229]->NotButton.PhysicalMax               = 0
pp_data->cap[229]->Units                    = 0
pp_data->cap[229]->UnitsExp                 = 0

pp_data->cap[230]->UsagePage                    = 0xFF01
pp_data->cap[230]->ReportID                     = 0xF1
pp_data->cap[230]->BitPosition                  = 0
pp_data->cap[230]->BitSize                      = 8
pp_data->cap[230]->ReportCount                  = 2
pp_data->cap[230]->BytePosition                 = 0x0001
pp_data->cap[230]->BitCount                     = 16
pp_data->cap[230]->BitField                     = 0x82
pp_data->cap[230]->NextBytePosition             = 0x0003
pp_data->cap[230]->LinkCollection               = 0x000E
pp_data->cap[230]->LinkUsagePage                = 0xFF01
pp_data->cap[230]->LinkUsage                    = 0x00D0
pp_data->cap[230]->IsMultipleItemsForArray      = 0
pp_data->cap[230]->IsButtonCap                  = 0
pp_data->cap[230]->IsPadding                    = 0
pp_data->cap[230]->IsAbsolute                   = 1
pp_data->cap[230]->IsRange                      = 0
pp_data->cap[230]->IsAlias                      = 0
pp_data->cap[230]->IsStringRange                = 0
pp_data->cap[230]->IsDesignatorRange            = 0
pp_data->cap[230]->Reserved1                    = 0x000000
pp_data->cap[230]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[230]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[230]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[230]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[230]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[230]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[230]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[230]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[230]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[230]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[230]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[230]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[230]->NotRange.Usage                        = 0x00D1
pp_data->cap[230]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[230]->NotRange.StringIndex                  = 0
pp_data->cap[230]->NotRange.Reserved2                    = 0
pp_data->cap[230]->NotRange.DesignatorIndex              = 0
pp_data->cap[230]->NotRange.Reserved3                    = 0
pp_data->cap[230]->NotRange.DataIndex                    = 9
pp_data->cap[230]->NotRange.Reserved4                    = 9
pp_data->cap[230]->NotButton.HasNull                   = 0
pp_data->cap[230]->NotButton.Reserved4                 = 0x000000
pp_data->cap[230]->NotButton.LogicalMin                = 0
pp_data->cap[230]->NotButton.LogicalMax                = 255
pp_data->cap[230]->NotButton.PhysicalMin               = 0
pp_data->cap[230]->NotButton.PhysicalMax               = 0
pp_data->cap[230]->Units                    = 0
pp_data->cap[230]->UnitsExp                 = 0

pp_data->cap[231]->UsagePage                    = 0xFF01
pp_data->cap[231]->ReportID                     = 0xF3
pp_data->cap[231]->BitPosition                  = 0
pp_data->cap[231]->BitSize                      = 8
pp_data->cap[231]->ReportCount                  = 2
pp_data->cap[231]->BytePosition                 = 0x0001
pp_data->cap[231]->BitCount                     = 16
pp_data->cap[231]->BitField                     = 0x82
pp_data->cap[231]->NextBytePosition             = 0x0003
pp_data->cap[231]->LinkCollection               = 0x000F
pp_data->cap[231]->LinkUsagePage                = 0xFF01
pp_data->cap[231]->LinkUsage                    = 0x00D0
pp_data->cap[231]->IsMultipleItemsForArray      = 0
pp_data->cap[231]->IsButtonCap                  = 0
pp_data->cap[231]->IsPadding                    = 0
pp_data->cap[231]->IsAbsolute                   = 1
pp_data->cap[231]->IsRange                      = 0
pp_data->cap[231]->IsAlias                      = 0
pp_data->cap[231]->IsStringRange                = 0
pp_data->cap[231]->IsDesignatorRange            = 0
pp_data->cap[231]->Reserved1                    = 0x000000
pp_data->cap[231]->pp_cap->UnknownTokens[0].Token    = 0x00
pp_data->cap[231]->pp_cap->UnknownTokens[0].Reserved = 0x000000
pp_data->cap[231]->pp_cap->UnknownTokens[0].BitField = 0x00000000
pp_data->cap[231]->pp_cap->UnknownTokens[1].Token    = 0x00
pp_data->cap[231]->pp_cap->UnknownTokens[1].Reserved = 0x000000
pp_data->cap[231]->pp_cap->UnknownTokens[1].BitField = 0x00000000
pp_data->cap[231]->pp_cap->UnknownTokens[2].Token    = 0x00
pp_data->cap[231]->pp_cap->UnknownTokens[2].Reserved = 0x000000
pp_data->cap[231]->pp_cap->UnknownTokens[2].BitField = 0x00000000
pp_data->cap[231]->pp_cap->UnknownTokens[3].Token    = 0x00
pp_data->cap[231]->pp_cap->UnknownTokens[3].Reserved = 0x000000
pp_data->cap[231]->pp_cap->UnknownTokens[3].BitField = 0x00000000
pp_data->cap[231]->NotRange.Usage                        = 0x00D1
pp_data->cap[231]->NotRange.Reserved1                    = 0x00D1
pp_data->cap[231]->NotRange.StringIndex                  = 0
pp_data->cap[231]->NotRange.Reserved2                    = 0
pp_data->cap[231]->NotRange.DesignatorIndex              = 0
pp_data->cap[231]->NotRange.Reserved3                    = 0
pp_data->cap[231]->NotRange.DataIndex                    = 10
pp_data->cap[231]->NotRange.Reserved4                    = 10
pp_data->cap[231]->NotButton.HasNull                   = 0
pp_data->cap[231]->NotButton.Reserved4                 = 0x000000
pp_data->cap[231]->NotButton.LogicalMin                = 0
pp_data->cap[231]->NotButton.LogicalMax                = 127
pp_data->cap[231]->NotButton.PhysicalMin               = 0
pp_data->cap[231]->NotButton.PhysicalMax               = 0
pp_data->cap[231]->Units                    = 0
pp_data->cap[231]->UnitsExp                 = 0

# Link Collections:
pp_data->LinkCollectionArray[0]->LinkUsage          = 0x0000
pp_data->LinkCollectionArray[0]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[0]->Parent             = 0
pp_data->LinkCollectionArray[0]->NumberOfChildren   = 15
pp_data->LinkCollectionArray[0]->NextSibling        = 0
pp_data->LinkCollectionArray[0]->FirstChild         = 15
pp_data->LinkCollectionArray[0]->CollectionType     = 1
pp_data->LinkCollectionArray[0]->IsAlias            = 0
pp_data->LinkCollectionArray[0]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[1]->LinkUsage          = 0x0001
pp_data->LinkCollectionArray[1]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[1]->Parent             = 0
pp_data->LinkCollectionArray[1]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[1]->NextSibling        = 0
pp_data->LinkCollectionArray[1]->FirstChild         = 0
pp_data->LinkCollectionArray[1]->CollectionType     = 2
pp_data->LinkCollectionArray[1]->IsAlias            = 0
pp_data->LinkCollectionArray[1]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[2]->LinkUsage          = 0x0002
pp_data->LinkCollectionArray[2]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[2]->Parent             = 0
pp_data->LinkCollectionArray[2]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[2]->NextSibling        = 1
pp_data->LinkCollectionArray[2]->FirstChild         = 0
pp_data->LinkCollectionArray[2]->CollectionType     = 2
pp_data->LinkCollectionArray[2]->IsAlias            = 0
pp_data->LinkCollectionArray[2]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[3]->LinkUsage          = 0x0080
pp_data->LinkCollectionArray[3]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[3]->Parent             = 0
pp_data->LinkCollectionArray[3]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[3]->NextSibling        = 2
pp_data->LinkCollectionArray[3]->FirstChild         = 0
pp_data->LinkCollectionArray[3]->CollectionType     = 2
pp_data->LinkCollectionArray[3]->IsAlias            = 0
pp_data->LinkCollectionArray[3]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[4]->LinkUsage          = 0x0080
pp_data->LinkCollectionArray[4]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[4]->Parent             = 0
pp_data->LinkCollectionArray[4]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[4]->NextSibling        = 3
pp_data->LinkCollectionArray[4]->FirstChild         = 0
pp_data->LinkCollectionArray[4]->CollectionType     = 2
pp_data->LinkCollectionArray[4]->IsAlias            = 0
pp_data->LinkCollectionArray[4]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[5]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[5]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[5]->Parent             = 0
pp_data->LinkCollectionArray[5]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[5]->NextSibling        = 4
pp_data->LinkCollectionArray[5]->FirstChild         = 0
pp_data->LinkCollectionArray[5]->CollectionType     = 2
pp_data->LinkCollectionArray[5]->IsAlias            = 0
pp_data->LinkCollectionArray[5]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[6]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[6]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[6]->Parent             = 0
pp_data->LinkCollectionArray[6]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[6]->NextSibling        = 5
pp_data->LinkCollectionArray[6]->FirstChild         = 0
pp_data->LinkCollectionArray[6]->CollectionType     = 2
pp_data->LinkCollectionArray[6]->IsAlias            = 0
pp_data->LinkCollectionArray[6]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[7]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[7]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[7]->Parent             = 0
pp_data->LinkCollectionArray[7]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[7]->NextSibling        = 6
pp_data->LinkCollectionArray[7]->FirstChild         = 0
pp_data->LinkCollectionArray[7]->CollectionType     = 2
pp_data->LinkCollectionArray[7]->IsAlias            = 0
pp_data->LinkCollectionArray[7]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[8]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[8]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[8]->Parent             = 0
pp_data->LinkCollectionArray[8]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[8]->NextSibling        = 7
pp_data->LinkCollectionArray[8]->FirstChild         = 0
pp_data->LinkCollectionArray[8]->CollectionType     = 2
pp_data->LinkCollectionArray[8]->IsAlias            = 0
pp_data->LinkCollectionArray[8]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[9]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[9]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[9]->Parent             = 0
pp_data->LinkCollectionArray[9]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[9]->NextSibling        = 8
pp_data->LinkCollectionArray[9]->FirstChild         = 0
pp_data->LinkCollectionArray[9]->CollectionType     = 2
pp_data->LinkCollectionArray[9]->IsAlias            = 0
pp_data->LinkCollectionArray[9]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[10]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[10]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[10]->Parent             = 0
pp_data->LinkCollectionArray[10]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[10]->NextSibling        = 9
pp_data->LinkCollectionArray[10]->FirstChild         = 0
pp_data->LinkCollectionArray[10]->CollectionType     = 2
pp_data->LinkCollectionArray[10]->IsAlias            = 0
pp_data->LinkCollectionArray[10]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[11]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[11]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[11]->Parent             = 0
pp_data->LinkCollectionArray[11]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[11]->NextSibling        = 10
pp_data->LinkCollectionArray[11]->FirstChild         = 0
pp_data->LinkCollectionArray[11]->CollectionType     = 2
pp_data->LinkCollectionArray[11]->IsAlias            = 0
pp_data->LinkCollectionArray[11]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[12]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[12]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[12]->Parent             = 0
pp_data->LinkCollectionArray[12]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[12]->NextSibling        = 11
pp_data->LinkCollectionArray[12]->FirstChild         = 0
pp_data->LinkCollectionArray[12]->CollectionType     = 2
pp_data->LinkCollectionArray[12]->IsAlias            = 0
pp_data->LinkCollectionArray[12]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[13]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[13]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[13]->Parent             = 0
pp_data->LinkCollectionArray[13]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[13]->NextSibling        = 12
pp_data->LinkCollectionArray[13]->FirstChild         = 0
pp_data->LinkCollectionArray[13]->CollectionType     = 2
pp_data->LinkCollectionArray[13]->IsAlias            = 0
pp_data->LinkCollectionArray[13]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[14]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[14]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[14]->Parent             = 0
pp_data->LinkCollectionArray[14]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[14]->NextSibling        = 13
pp_data->LinkCollectionArray[14]->FirstChild         = 0
pp_data->LinkCollectionArray[14]->CollectionType     = 2
pp_data->LinkCollectionArray[14]->IsAlias            = 0
pp_data->LinkCollectionArray[14]->Reserved           = 0x00000000
pp_data->LinkCollectionArray[15]->LinkUsage          = 0x00D0
pp_data->LinkCollectionArray[15]->LinkUsagePage      = 0xFF01
pp_data->LinkCollectionArray[15]->Parent             = 0
pp_data->LinkCollectionArray[15]->NumberOfChildren   = 0
pp_data->LinkCollectionArray[15]->NextSibling        = 14
pp_data->LinkCollectionArray[15]->FirstChild         = 0
pp_data->LinkCollectionArray[15]->CollectionType     = 2
pp_data->LinkCollectionArray[15]->IsAlias            = 0
pp_data->LinkCollectionArray[15]->Reserved           = 0x00000000
