### X-keys Stick Data Report | Main Page

General Information

VID | 05f3h
PID | 02B5h or 693
Consumer Usage Page | 1
Usage Page | 000Ch or 12

X-keys Stick Input Report

Figure 1: X-keys Stick key reference

Endpoint: 1, consumer usage page

Report Length: 32 bytes

1. General Incoming Data

This is received when switches are pressed, unit ID changes, Program Switch changes position.

Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Bytes 8-32
Constant | Keys | Keys | Keys | Keys | Unit ID (0-255) | Program Switch Position | Reserved
2 | D1 | D2 | D3 | D4 | <data> | Swpos | value

D1: for all bits 0 for key up, 1 for key down. Bit 1=Key 0, bit 2=Key 4, bit 3=Key 8, bit 4=Key 12, bits 5-8=0 always.
D2: for all bits 0 for key up, 1 for key down. Bit 1=Key 1, bit 2=Key 5, bit 3=Key 9, bit 4=Key 13, bits 5-8=0 always.
D3: for all bits 0 for key up, 1 for key down. Bit 1=Key 2, bit 2=Key 6, bit 3=Key 10, bit 4=Key 14, bits 5-8=0 always.
D4: for all bits 0 for key up, 1 for key down. Bit 1=Key 3, bit 2=Key 7, bit 3=Key 11, bit 4=Key 15, bits 5-8=0 always.
Swpos: Bits 1-3=0, bit 4=0 if program switch is down, 1 if program switch is up, Bit 5=1, Bits 6-8=0.

X-keys Stick Output Report

The following types of output reports are available; Set LEDs, Set Unit ID, Set Key, Check Key and Backlighting. The Unit ID is a value between 0 and 255 which can be set and read. This number stays permanently in the device independent of computer. It is useful if more than one device of the same PID will be connected to the same computer in order to distinguish the devices uniquely. The Set Key and Check Key reports are for the dongle feature, non PC users of this feature please contact P. I. Engineering for further details. Individual key backlighting control is available on the X-keys Stick.

Endpoint: 2, vendor defined usage page

Report Length: 8 bytes.

1. Set LEDs

Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8
Constant | LED Command | Constant | Constant | Constant | Constant | Constant | LED Control
2 | 186 | 0 | 0 | 0 | 0 | 0 | LED

LED: Bits 1-6=0, Bit 7=1 to turn on Green LED or 0 to turn off Green LED, Bit 8=1 to turn on Red LED or 0 to turn off Red LED.

2. Set Unit ID*

Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8
Constant | Unit ID Command | Unit ID (0-255) | Constant | Constant | Constant | Constant | Constant
2 | 189 | value | 0 | 0 | 0 | 0 | 0

*Make sure the programming switch is set before sending the WriteData() command in order to write the Unit ID to the eeprom.

3. Backlighting

Byte 1 | Byte 2 | Byte 3 | Byte 4 | Byte 5 | Byte 6 | Byte 7 | Byte 8
Constant | Backlighting Command | Constant | Constant | Constant | Constant | Constant | Constant
2 | 187 | 0 | 0 | 0 | 0 | BL1 | BL2

BL1: For all bits 0 for backlight off, 1 for backlight on. Bit 1=Key 8, bit 2=Key 9, bit 3=Key 10, bit 4=Key 11, bit 5=Key 12, bit 6=Key 13, bit 7=Key 14, bit 8=Key 15.
BL2: For all bits 0 for backlight off, 1 for backlight on. Bit 1=Key 0, bit 2=Key 1, bit 3=Key 2, bit 4=Key 3, bit 5=Key 4, bit 6=Key 5, bit 7=Key 6, bit 8=Key 7.