SDK's Linux
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 MacroWorks on 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