User guide
Section 4. USB Communications
11
PROGRAMMABLE CONFIGURATION OPTIONS 
This device has a number of programmable configuration properties. These properties are stored 
in non-volatile EEPROM memory. These properties can be configured at the factory or by the 
end user using a program supplied by MagTek. Programming these parameters requires low 
level communications with the device. During normal device operation, the device acts like a 
USB HID keyboard so the host operating system takes care of all low level communications with 
the device so that the application developer is not burdened with these low level details.  Details 
on how to communicate with the device to change programmable configuration properties 
follows in the next few sections. These details are included as a reference only. Most users will 
not need to know these details because the device will be configured at the factory or by a 
program supplied by MagTek. Most users may want to skip over the next few sections on low 
level communications and continue with the details of the configuration properties. 
LOW LEVEL COMMUNICATIONS 
It is strongly recommended that application software developers become familiar with the HID 
specification the USB specification before attempting to communicate directly with this device.  
This document assumes that the reader is familiar with these specifications. These specifications 
can be downloaded free from www.usb.org
.
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 devices 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 www.usb.org. Vendor defined usages 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 










