General Information
VID | 05f3h |
PID | 02A7h or 679 |
Consumer Usage Page | 1 |
Usage Page | 000Ch or 12 |
X-keys Pro Input Report
Figure 1: X-keys Professional key reference
Endpoint: 1, consumer usage page
Report Length: 32 bytes
1. General Incoming Data
Byte 1
|
Byte 2
|
Byte 3
|
Byte 4
|
Byte 5
|
Byte 6
|
Byte 7
|
Byte 8
|
Byte 9
|
Byte 10
|
Byte 11
|
Byte 12
|
Bytes 13-32
|
Constant
|
Keys 0-6
|
Keys 16-22
|
Keys 32-38
|
Keys 48-54
|
Keys 64-70
|
Keys 80-86
|
Keys 96-102
|
Keys 112-118
|
Keys 128-129
|
Unit ID (0-255)
|
Program Switch Position
|
Reserved
|
2
|
D1
|
D2
|
D3
|
D4
|
D5
|
D6
|
D7
|
D8
|
D9
|
<data>
|
Swpos
|
value
|
D1: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 0 to 6, respectively. Bit 8=0 always.
For example Byte 5 gives the state of Keys 0, 1, 2, 3, 4, 5 and 6. A value
of 67 in this byte would indicate that Keys 0, 1 and 6 are pressed.
D2: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 16 to 22, respectively. Bit 8=0 always.
D3: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 32 to 358, respectively. Bit 8= 0 always.
D4: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 48 to 54, respectively. Bit 8=0 always.
D5: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 64 to 70, respectively. Bit 8=0 always.
D6: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 80 to 86, respectively. Bit 8=0 always.
D7: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 96 to 102, respectively. Bit 8=0 always.
D8: For all bits 0 if key is up, 1 if key is down. Bits
1 to 7 correspond to Keys 112 to 118, respectively. Bit 8=0 always.
D9: For all bits 0 if key is up, 1 if key is down. Bits
1 and 2 correspond to Keys 128 and 129, respectively. Bits 3 to 8=0 always.
Swpos: bits 1-2=0, bit 4=0 if program switch is
down or 1 if program switch is up, bit 5=1, bits 6-8=0.
X-keys Professional Output Report
The following types of output reports are available; Set LEDs, Set Unit ID, Set Key and Check Key. 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 please contact P. I. Engineering for further details.
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.