The XK-24 (part #XK-24-USB) 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.
- 24 buttons, arranged in 4×6 matrix, plus a programming switch on top
- Blue and red individually-controlled backlighting for each key
- Green and red indicator LEDs
- Internal memory for recording keyboard, mouse, game controller, and multimedia macros; enabling OS-independent operation
- Support by MacroWorks 3.1 (Windows) and ControllerMate for X-keys (Mac) in software mode
- Complete SDK, for Windows, Linux, and Android; raw data reports available for other platforms
- Detachable angled feet, allowing subtle tilt in portrait or landscape orientation
- Phantom key protection
If the standard USB HID XK-24 does not quite meet your needs, one of the alternate versions available may. Also available are:
- XK-24 for KVM (part #XK-0994-UKVM-R), a USB device with special firmware designed to work well on KVM devices
- XK-24 TrueCOM (part #XK-298-232-R), a true RS232 device with a serial 9-pin connector
- XK-24 Virtual COM (part #XK-299-VCM-R), a USB device that works through a virtual COM port
- XK-24 Android (part #XK-0991-UMAK24-R), designed specifically to work well on Android systems
Hardware and Firmware Features
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.
The XK-24 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-24 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.
The programming switch is located on the top side of the XK-24. 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.
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-23 rather than 1-24.
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.
The XK-24 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.
A total of approximately 1000 keystrokes can be recorded on a single unit. Other types of macros, such as game controller or mouse messages, or backlighting control, may take up more space than a normal keystroke, and reduce the amount of total programming available on the device.
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-24s 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.
- PID 1027 endpoints: Keyboard, Joystick, Mouse, Output
- PID 1028 endpoints: Keyboard, Joystick, PI Consumer Input, Output
- PID 1029 endpoints: Keyboard, Mouse, PI Consumer Input, Output
- PID 1249 endpoints: Keyboard, Mouse, Multimedia, Output – configuration only available on XK-24 firmware version 30+
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-24 with Accessories
Labeling a Key:
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 email firstname.lastname@example.org for more information.
Blocking Out Keys:
Keys can be removed from the XK-24, 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:
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-24. 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.
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.
- Replacement Part # 0544
Mounting kits are available for the XK-24. Please visit our website's accessories section for details.
USB Cable Extension:
The XK-24 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.
|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)
Raw HID (any language/OS)
|HID keyboard, HID mouse, HID game controller, HID multimedia|
|Full-travel rubber dome, carbon on gold contacts, guaranteed for over 1 million operations|
Number of Keys
|24 single keys + programming button|
|Approx. 2.5 oz (72g) break-over, approx. 1.5 oz (42g) hold|
|0.625” (16mm) sq.; relegendable with Cherry MX compatible stem|
|2X1, 1X2, 2X2|
|24 blue and 24 red LEDs, individually addressable|
|Wired USB 2.0 standard “A” plug|
|56” (1.42 m)|
|5.8” x 3.8” x 0.94” (147mm x 97mm x 24mm)|
|10 oz. (285 g)|
|USB 1.1 compatible through 3.0|
|USB port, nominal voltage = 5 VDC|
|NO backlight: 18 mA , Blue backlight full: 38 mA, Red backlight full: 57 mA, All backlights: 75 mA|
|-20 to 60 C|
|Approximately 1,000 keystrokes or commands in onboard memory|
|EEPROM, non volatile memory (X-keys retains memory for over 200 years)|
|IP 40, typical indoor office environment|
|FCC class B, CE, RoHS, WEEE compliant|
Specifications are subject to change without notice.