The XK-80 (part #Xk-0980-UBK80-R) is a user-programmable USB computer input device. It is a complete keypad with an enclosure suitable for desktop, handheld, or mounted use.

The device uses the Human Interface Device (HID) class protocol. It can emulate keyboard, mouse, game controller (joystick), and multimedia commands. The device can also communicate directly with macro software such as MacroWorks 3.1, or any custom software written using the PI Engineering Software Development Kit (SDK) or raw data reports.

The standard keycaps are designed for insertion of custom labels by the user.

Assorted accessories are available, including options for flexible layouts, larger keys, professionally-labelled keys, additional indictators, and mounting kits.

Featured Features:

Alternate Versions

If the standard USB HID XK-80 does not quite meet your needs, one of the alternate versions available may. Also available are:

Hardware and Firmware Features

Indicator LEDs:

LEDs light here

Two indicator LEDs are on the top left corner of the device. The green LED will be on by default when the device is powered. The red LED is used, by default, to indicate when a second layer of device programming is being accessed.

These indicator LEDs can be controlled by developers within their software, and can be used to indicate any state within the software.

LED Backlights:

The XK-80 has two banks of LEDs: blue and red. Each key has one of each and they may be addressed individually.

By default, the initial backlighting of an XK-80 when it is plugged in is all blue on, all red off. If an initial backlighting configuration different than this is desired, the "hardware default backlighting" can be changed within MacroWorks 3.1.

The backlighting can be changed via keypress by using functions available in MacroWorks 3.1.

Complete backlighting control is available for advanced users via scripting (in MacroWorks 3.1) or our software development kit.

Programming Switch:

Program switch

The programming switch is located on the top side of the XK-80. Pressing this switch will trigger the MacroWorks 3.1 interface by default, if a user is working in software mode.

The switch can be used as an additional button input by developers.

Key Matrix:

Numbered XK-24

In MacroWorks 3.1 or other consumer software, buttons are numbered sequentially starting with button 1 in the upper left corner of your device. The buttons are numbered down each column, starting again at the top of the next column.

Users of our software development kit will follow the same numbering scheme, however the button numbers used will be 0-79 rather than 1-80.

With the ControllerMate for X-keys software (on Mac OS X) the buttons are laid out ascending left to right by row, instead of column.

Phantom Key Protection:

Diodes are in placed underneath each button to prevent "phantom button presses" when multiple buttons are pressed, which can be a problem on standard keyboards.

Unlike a a typical computer keyboard's protection scheme, this design prevents buttons from being ignored during multiple button press scenarios.

Non-Volatile Memory:

The XK-80 has on-board non-volatile memory which macros can be recorded to, typically known as "hardware mode." The macro types support by hardware programming include keyboard, mouse, joystick (game controller), and multimedia.

This memory enables the X-keys to retain button macros within the unit. Regardless of what computer (or USB-enabled machine) the device is plugged into, the macros will play back without the use of additional software or drivers, once programmed.

Unit ID:

Each device has something called a Unit ID stored in its memory, which identifies a unique device connected to a computer. This prevents conflicts, enabling two XK-80s to be used on the same computer with different programming.

From the factory, this ID is set to 0. The ID is incremented by MacroWorks 3.1 when it is connected to your comuputer (first unit connected will be set to 1, second to 2, and so on). Users may assign the Unit ID of their choosing (1-254) on the Unit Data tab within MacroWorks 3.1. Note: MacroWorks 3.1 assigns scripts based on Unit ID, so changing the ID after programming macros will require reloading in the appropriate script.

The Unit ID may also be accessed and modified by developers using our Software Development Kit, should distinguishing between two otherwise identical devices be required.

Endpoints and PIDs:

This device has several USB HID endpoints to allow the device to emulate standard USB HID devices. The Product ID (PID) may be changed to use different combinations.

Keyboard – Sends keyboard HID codes, as would be sent from a normal keyboard
Joystick – Game buttons 1-32, POV hat, X, Y, Z axis, Z rotation and slider 
Mouse – Mouse clicks, buttons, and movements 
Multimedia – Multimedia commands, such as those typically available on multimedia-enhanced keyboards: Play/Pause, Next Track, Mute, and so on
PI Consumer Input – Sends custom messages to the HID consumer page for custom software 
Output – Output to device, required endpoint for programming and controlling LEDs

Software Development Kits:

The SDK (software development kit) contains information and sample programs to demonstrate how to implement X-keys directly into a custom application.

SDKs are available for Windows (C++, C# and VB.NET), Linux (C++) and Android (Java). The Windows SDK includes a 32-bit unmanaged DLL, and 32 and 64-bit managed (.NET) dlls, for ease of implementation. Raw HID data can be used to communicate to the device on other platforms or in other languages, if desired. Please visit our website's developer section for more information.

Customizing the XK-80 with Accessories

Labeling a Key:

Carefully pry the lens off

Standard key caps have two parts: the clear lens and the base which may be clear or opaque. These parts can be separated by prying with a fingernail or other thin object. Labels (also known as "legends") may then be inserted before the key cap is put back together.

Legends may be designed with MacroWorks 3.1's Legend Maker, or by using one of the templates available on the X-keys website.

Custom legends, as well as custom-printed key caps for a more professional look, are available from P.I. Engineering for medium-to-large projects. Typically a minimum order of 10 full X-keys layouts is required, and setup fees and lead times can vary. Please emailsales@piengineering.com for more information.

Blocking Out Keys:

Safest removal is accomplished with a key puller

Keys can be removed from the XK-80, so that keys (or sections of keys) can be blocked out. To remove a key, a key puller (provided in all retail boxes, or part #XK-A-303-R) or other method of prying may be used to pull from underneath the key in a gentle but firm straight-upward motion.

Key blockers are available as part #XK-A-556-R, and may be used to define sections within a key layout or to separate keys from other keys. These are simply pushed into the keyframe, after removing the applicable key, by lining up the posts under the blocker with the holes in the frame.

Replacement/Alternate Key Caps:

Assorted keycaps, shown with blue LED backlighting

The standard clear key caps may be removed and replaced. To remove a key, a key puller (provided in all retail boxes, or part #XK-A-303-R) or other method of prying may be used to pull the key in a gentle but firm straight-upward motion.

Many alternate, or replacement, keycaps are available on our website for the XK-80. These include tall and wide keys that cover the space of 2 keys, and large 2x2 square keycaps. Also available are colored transluscent, clear, beige, and grey single keycaps.

Visit the keycaps page on our website for more details or to place an order.

Angled Feet:

Angle feet prop the device up, making it more ergonomic. The feet may be removed by gently pulling with fingers. The feet can be used to orient the device in either a landscape or portrait style.

Mounting Kits:

Mounting kits are available for the XK-80. Please visit our website's accessories section for details.

USB Cable Extension:

The XK-80 has an attached 1.4m USB cord. It may be possible to use a short extension cord if a little extra length is needed.

To achieve lengths greater than 5 meters, a USB extender must be used. The X-keys® USB Extender (part number #XK-A-1362-R) uses a standard Cat5 cable (not included) to extend the connection between any X-keys USB device and the USB port on the computer. The Cat5 cable can be any length up to 150 feet (45.7 m) and can be used to create a reliable long distance USB connection.


Operating System
Use: Any OS via USB HID | Programming: Windows XP through 8.1, Mac OS X 10.4 through 10.10
Free Programming Software
Windows: MacroWorks 3.1 
Mac: ControllerMate for X-keys
Free Software Development Kits
Windows (C++, C#, VB.NET) 
Linux (C++) 
Android (Java) 
Raw HID (any language/OS)
Emulation Modes
HID keyboard, HID mouse, HID game controller, HID multimedia
Switch Types
Full-travel rubber dome, carbon on gold contacts, guaranteed for over 1 million operations
Number of Keys
80 single keys + programming button
Actuation Force
Approx. 2.5 oz (72g) break-over, approx. 1.5 oz (42g) hold
0.625” (16mm) sq.; relegendable with Cherry MX compatible stem
Key Spacing
0.75" O.C.
Optional Keys
2X1, 1X2, 2X2
80 blue and 80 red LEDs, individually addressable
Wired USB 2.0 standard “A” plug
Cord Length
56” (1.42 m)
8.25" x 7.25" x 0.94" (21cm x 18.4cm x 2.4cm)
1.6 lb (726g)
USB type
USB 1.1 compatible through 3.0
Power Source
USB port, nominal voltage = 5 VDC
Current Draw
Backlighting off: 31mA @ 5 vdc, Backlighting on half: 102mA @ 5 vdc, Backlighting on full: 176mA @ 5 vdc
Temperature Range
-20 to 60 C
Memory Capacity
Approximately 1,000 keystrokes or commands in onboard memory
Memory Type
EEPROM, non volatile memory (X-keys retains memory for over 200 years)
Environmental Rating
IP 40, typical indoor office environment
FCC class BCERoHS, WEEE compliant

Specifications are subject to change without notice.

Contact for Support or More Information

For tech support please email tech@piengineering.com. To purchase accessories or additional devices, contact sales@piengineering.com.