Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This structure contains information about the capability of a HID control button usage or a set of buttons associated with a usage range.
typedef struct _HIDP_BUTTON_CAPS { USAGE UsagePage; UCHAR ReportID; BOOLEAN IsAlias; USHORT BitField; USHORT LinkCollection; USAGE LinkUsage; USAGE LinkUsagePage; BOOLEAN IsRange; BOOLEAN IsStringRange; BOOLEAN IsDesignatorRange; BOOLEAN IsAbsolute; ULONG Reserved[10]; union { struct { USAGE UsageMin, UsageMax; USHORT StringMin, StringMax; USHORT DesignatorMin, DesignatorMax; USHORT DataIndexMin, DataIndexMax; } Range; struct { USAGE Usage, Reserved1; USHORT StringIndex, Reserved2; USHORT DesignatorIndex, Reserved3; USHORT DataIndex, Reserved4; } NotRange; };} HIDP_BUTTON_CAPS, * PHIDP_BUTTON_CAPS;
Members
- UsagePage
Usage page for a usage or usage range. - ReportID
Report identifier of the HID report that contains the usage or usage range. - IsAlias
Button usage indicator. If TRUE, a button has a set of aliased usages. If FALSE, the button has only one usage. - BitField
Data fields of one or two bytes associated with an input, output, or feature main item. - LinkCollection
Index of the link collection in a top-level collection's link collection array that contains the usage or usage range. If LinkCollection is zero, the usage or usage range is contained in the top-level collection. - LinkUsage
Usage of the link collection that contains the usage or usage range. If LinkCollection is zero, LinkUsage specifies the usage of the top-level collection. - LinkUsagePage
Usage page of the link collection that contains the usage or usage range. If LinkCollection is zero, LinkUsagePage specifies the usage page of the top-level collection. - IsRange
Usage indicator. If TRUE, the structure describes a usage range. If FALSE, the structure describes a single usage. - IsStringRange
String descriptor indicator. If TRUE, the usage or usage range has a set of string descriptors. If FALSE, the usage or usage range has zero or one string descriptor. - IsDesignatorRange
Usage designator indicator. If TRUE, that the usage or usage range has a set of designators. If FALSE, the usage or usage range has zero or one designator. - IsAbsolute
Usage data indicator. If TRUE, that the button usage or usage range provides absolute data. If FALSE, the button data is the change in state from the previous value. - Reserved
Reserved for internal system use. - Range.UsageMin
Inclusive lower bound of usage range whose inclusive upper bound is specified by Range.UsageMax. - Range.UsageMax
Inclusive upper bound of a usage range whose inclusive lower bound is indicated by Range.UsageMin. - Range.StringMin
Inclusive lower bound of a range of string descriptors specified by string minimum and string maximum items whose inclusive upper bound is indicated by Range.StringMax. - Range.StringMax
Inclusive upper bound of a range of string descriptors specified by string minimum and string maximum items whose inclusive lower bound is indicated by Range.StringMax. - Range.DesignatorMin
Inclusive lower bound of a range of designators specified by designator minimum and designator maximum items whose inclusive upper bound is indicated by Range.DesignatorMax. - Range.DesignatorMax
Inclusive upper bound of a range of designators specified by designator minimum and designator maximum items whose inclusive lower bound is indicated by Range.DesignatorMax. - Range.DataIndexMin
Inclusive lower bound of a sequential range of data indexes that correspond, one-to-one and in the same order, to the usages specified by the usage range Range.UsageMin to Range.UsageMax. - Range.DataIndexMax
Inclusive upper bound of a sequential range of data indexes that correspond, one-to-one and in the same order, to the usages specified by the usage range Range.UsageMin to Range.UsageMax. - Range
Usage indicator. If IsRange is TRUE, information about a usage range. If IsRange is FALSE, NotRange contains information about a single usage. - **NotRange.**Usage
Usage identifier. - **NotRange.**Reserved1
Reserved for internal system use. - **NotRange.**StringIndex
Indicator for a string descriptor identifier for the usage specified by NotRange.Usage. - **NotRange.**Reserved2
Reserved for internal system use. - **NotRange.**DesignatorIndex
Indicator for a designator identifier for the usage specified by NotRange.Usage. - **NotRange.**Reserved3
Reserved for internal system use - **NotRange.**DataIndex
Indicator for the data index of the usage specified by NotRange.Usage. - **NotRange.**Reserved4
Reserved for internal system use. - NotRange
Indicator for usage. If IsRange is FALSE, information about a single usage. If IsRange is TRUE, Range contains information about a usage range.
Remarks
The terms button and usage are used synonymously.
Clients obtain a button capability array by calling the HidP_GetButtonCaps or HidP_GetSpecificButtonCaps function. These functions return an array of HIDP_BUTTON_CAPS structures in a caller-allocated buffer. The HIDP_CAPS structure, which the HidP_GetCaps function returns, specifies the required buffer length.
Requirements
OS Versions: Windows CE .NET 4.2 and later.
Header: Hidpi.h.
See Also
HIDP_CAPS | HidP_GetButtonCaps | HidP_GetCaps | HidP_GetSpecificButtonCaps | HidP_GetSpecificValueCaps | HidP_GetValueCaps | HIDP_VALUE_CAPS
Send Feedback on this topic to the authors