SoftwareDownloadButton

0 item(s) in cart

Shopping Cart
We accept VISA Mastercard American Express Discover

Developer's Corner

X-keys Professional (SE+MWII Firmware) Data Reports

General Information

MWII
SE
VID
05f3h
05f3h
PID
02A7h or 679
0291h or 657
Consumer Usage Page
1
1
Usage Page
000Ch or 12
000Ch or 12

X-keys Pro Input Report

X-keys Pro

Figure 1: X-keys Pro key reference

Endpoint: 1, consumer usage page.

MWII Report Length: 32 bytes.
SE Report Length: 12 bytes.

The following types of input reports are available; General Incoming Data and Check Key (MWII only). Const stands for Constant.

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
Byte 8
Byte 9
Byte 10
Byte 11
Byte 12
Bytes 13-32
MWII
Const
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
MWII
2
D1
D2
D3
D4
D5
D6
D7
D8
D9
<data>
Swpos
value
SE
Const
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
NA
SE
0
D1
D2
D3
D4
D5
D6
D7
D8
D9
<data>
Swpos
NA

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-3=0, bit 4=1, bit 5=0 if program switch is down or 1 if program switch is up, bits 6-8=0.

X-keys Pro Output Report

The following types of output reports are available; Set LEDs, Set Unit ID, Set Key (MWII only) and Check Key (MWII).  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

MWII Report Length: 8 bytes.
SE Report Length: 9 bytes.

1. Set LEDs

Byte 1
Byte 2
Byte 3
Byte 4
Byte 5
Byte 6
Byte 7
Byte 8
Byte 9
MWII
Constant
LED Command
Constant
Constant
Constant
Constant
Constant
LED Control
NA
MWII
2
186
0
0
0
0
0
LED
NA
SE
Constant
Constant
Constant
Constant
Constant
Constant
Constant
Constant
LED Control
SE
0
0
0
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
Byte 9
MWII
Constant
Unit ID Command
Unit ID (0-255)
Constant
Constant
Constant
Constant
Constant
NA
MWII
2
189
value
0
0
0
0
0
NA
SE
Constant
Unit ID Command
Unit ID Command
Constant
Constant
Constant
Constant
Unit ID (0-255)
Constant
SE
0
137
137
0
0
0
0
value
16

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