This change is an initial step to adding support for profiles in x52d. This will allow the user to create a keyboard layout in an easy to read/write text based format, and have it compiled into a flat layout that's easy for the daemon to parse and load into memory. This layout can then be used to map a user's action key to the actual input usage needed. This is necessary, because keyboards don't actually send the character that is typed, but just the position on the keyboard. For example, on a French AZERTY keyboard, the A key would actually send the usage for `Keyboard_q_and_Q`. The OS would translate that into the letter 'a' (or 'A' if Shift key is held) and pass that to the active window. This commit adds the full logic necessary for the layout loading, validation and compiling, as well as tests for the compiler and loader. |
||
|---|---|---|
| .github | ||
| bugreport | ||
| cli | ||
| daemon | ||
| data/layouts | ||
| docker | ||
| docs | ||
| evtest | ||
| joytest | ||
| kernel_module | ||
| libusbx52 | ||
| libx52 | ||
| libx52io | ||
| libx52util | ||
| m4 | ||
| po | ||
| subprojects/pinelog | ||
| sys | ||
| tools | ||
| udev | ||
| vkm | ||
| .gitattributes | ||
| .gitignore | ||
| AUTHORS | ||
| CONTRIBUTING.md | ||
| ChangeLog.md | ||
| Doxyfile.in | ||
| DoxygenLayout.xml | ||
| INSTALL.md | ||
| LICENSE | ||
| PRIVACY.md | ||
| README.md | ||
| SECURITY.md | ||
| Version | ||
| config.h.meson | ||
| install-doxygen-docs.sh | ||
| meson.build | ||
| meson_options.txt | ||
| usb-ids.h | ||
| version-info | ||
README.md
Saitek X52Pro joystick driver for Linux
This project adds a new driver for the Saitek/MadCatz X52 Pro flight control system. The X52 pro is a HOTAS (hand on throttle and stick) with 7 axes, 39 buttons, 1 hat and 1 thumbstick and a multi-function display which is programmable.
Currently, only Windows drivers are available from Saitek PLC, which led me to develop a new Linux driver which can program the MFD and the individual LEDs on the joystick. The standard usbhid driver is capable of reading the joystick, but it cannot control the MFD or LEDs.
Most of the extra functionality can be handled from userspace. See the individual folders for README information.
For data handling and privacy (e.g. GDPR/CCPA), see PRIVACY.md.
Note: This repository currently only provides commandline interfaces to control the MFD and LEDs. If you are not comfortable working in the commandline, then the gx52 project might be a better fit for your needs as it provides a graphical interface to control the MFD and LEDs.
Installing released versions
Beginning from version v0.2.3, prebuilt packages are available on Ubuntu PPA and the Arch User Repository.
Ubuntu
This project has been released as a PPA on Ubuntu. To install the package, run the following commands in the terminal.
sudo apt-add-repository ppa:nirenjan/libx52
sudo apt update
sudo apt install libx52-1
Arch Linux
This is available on the AUR
Building and installing from source
See INSTALL.md