Hid usages, Report descriptor – MagTek MICRSafe99875466 User Manual
Page 31

Section 5. USB Communications
23
HID USAGES
HID devices send data in reports. Elements of data in a report are identified by unique identifiers
called usages. The structure of the device’s reports and the device’s capabilities are reported to
the host in a report descriptor. The host usually gets the report descriptor only once, right after
the device is plugged in. The report descriptor usages identify the device’s capabilities and
report structures. For example, a device could be identified as a keyboard by analyzing the
device’s report descriptor. Usages are four byte integers. The most significant two bytes are
called the usage page and the least significant two bytes are called usage IDs. Usages that are
related can share a common usage page. Usages can be standardized or they can be vendor-
defined. Standardized usages, such as usages for mice and keyboards, can be found in the HID
Usage Tables document and can be downloaded free at
must have a usage page in the range 0xFF00 – 0xFFFF. All usages for this device use the
standard HID keyboard usages or vendor-defined magnetic stripe reader usage page 0xFF00.
The vendor-defined usage IDs for this device are defined in the following table. The usage types
are also listed. These usage types are defined in the HID Usage Tables document.
Magnetic Stripe Reader usage page 0xFF00:
Usage ID
(Hex)
Usage Name
Usage
Type
Report
Type
20
Command message
Data
Feature
REPORT DESCRIPTOR
The HID report descriptor is structured as follows:
Item
Value(Hex)
Usage Page (Generic Desktop)
05 01
Usage (Keyboard)
09 06
Collection (Application)
A1 01
Usage Page (Key Codes)
05 07
Usage Minimum (224)
19 E0
Usage Maximum (231)
29 E7
Logical Minimum (0)
15 00
Logical Maximum (1)
25 01
Report Size (1)
75 01
Report Count (8)
95 08
Input (Data, Variable, Absolute)
81 02
Report Count (1)
95 01
Report Size (8)
75 08
Input (Constant)
81 03
Report Count (5)
95 05
Report Size (1)
75 01
Usage Page (LEDs)
05 08
Usage Minimum (1)
19 01
Usage Maximum (5)
29 05
Output (Data, Variable, Absolute)
91 02
Report Count (1)
95 01