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 Githubgithub.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:
- Download and install MacroWorkson a Windows PC.
- Plug in your X-keys and launch MacroWorks.
- Select Hardware Mode and program your keys as needed.
- Use File > Write to Device to save your macros.
- Go to the Unit Data tab and click Change Endpoints.
- Choose an endpoint with a keyboard component but without a PI Consumer component.
- Once changed, the device will disconnect from MacroWorks and is safe to plug into your Linux system.
- 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
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.