Share via


HIDP_BUTTON_CAPS

Other versions of this page are also available for the following:

Windows Mobile Not SupportedWindows Embedded CE Supported

8/28/2008

This structure contains information about the capability of a HID control button usage or a set of buttons associated with a usage range.

Syntax

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

Header hidpi.h
Windows Embedded CE Windows CE .NET 4.2 and later

See Also

Reference

HIDP_CAPS
HidP_GetButtonCaps
HidP_GetCaps
HidP_GetSpecificButtonCaps
HidP_GetSpecificValueCaps
HidP_GetValueCaps
HIDP_VALUE_CAPS