Linux SDK's

Linux-Based Developer Tools for X-keys

SDKs for Linux

Our Linux SDK provides everything you need to get started using X-keys with Linux systems. It includes sample code, a simple GUI demo, and support for reading key states, setting backlighting, and sending keyboard, mouse, and joystick messages. Compatible with open-source tools and tested on Ubuntu, it’s a great starting point for integrating X-keys into your Linux applications.

Go to Github

github.com/piengineering/X-keys_Linux

Licensing of this SDK conforms to standards set forth by the Open Source Initiative.

Important Note for Linux & Chrome OS Users

We've seen a recent increase in technical issues with X-keys on current Linux distributions and Chrome OS—ranging from unresponsive devices to units being disabled and requiring lab reprogramming. To avoid this, follow these steps before connecting your X-keys to a Linux or Chrome OS device:

To re-enable it:

  1. Download and install MacroWorkson a Windows PC.
  2. Plug in your X-keys and launch MacroWorks.
  3. Select Hardware Mode and program your keys as needed.
  4. Use File > Write to Device to save your macros.
  5. Go to the Unit Data tab and click Change Endpoints.
  6. Choose an endpoint with a keyboard component but without a PI Consumer component.
  7. Once changed, the device will disconnect from MacroWorks and is safe to plug into your Linux system.
  8. If reprogramming is needed in the future, reconnect to MacroWorks and repeat Step 6 when finished.
Features

Read all X-keys key states and control inputs

Sample GUI included (demonstrates XK-24)

Set LED backlight levels and states

Written in C++ using open-source libraries

Works with: KDevelop, Qt4, CMake

Fully tested in Ubuntu 11.04

Supported Input Profiles

Keyboard - Triggers standard USB key events

Mouse - Supports movement, scroll, and button input

Joystick/Game Controller - Axis movements and button presses

PI Consumer Input - For advanced HID messaging

Pi3 Reflector Feature - Sends input back to the OS as native USB messages via keyboard, mouse, or joystick endpoints

Can't find what you're looking for? Email us at tech@piengineering.com.

Programming options:

Whats the difference?

Hardware mode

Hardware Mode saves your programming directly to the X-keys device. After setup, no software is needed—just plug it in and it works like a USB keyboard or mouse. It’s great for using X-keys on any system, including Windows, Mac, Linux, or even Raspberry Pi.

Can be programmed using any Software Options.

Software Mode

Software Mode lets you create advanced functions like opening programs, running scripts, or setting up keys that work differently in different applications. Your programming is stored on the computer and needs MacroWorks installed and running.

Can only be used with MacroWorks Software.