Skip to main content

Suorafxctl - Configure Roccat Suora FX keyboards on Linux

Github Discord PYPI Version Github Actions Black License

Suorafxctl is a small CLI tool and Python library to configure Roccat Suora FX gaming keyboards on Linux. Only most simple settings, such as predefined lighting effects, brightness, effect speed and basic effect colors, are supported.

Usage (CLI)

usage: suorafxctl [-h] [-e EFFECT] [-s 0-10] [-b 0-50] [-c COLOR] [-r]

optional arguments:
  -h, --help            show this help message and exit
  -e EFFECT, --effect EFFECT
                        Illumination effect (full-lit, breathing, color-shift, wave-right,
                        wave-left, wave-up, wave-down, fade-out, fade-in, ripple, rain,
                        snake, spiral, game-over, scanner, radar)
  -s 0-10, --speed 0-10
                        Illumination effect speed, from 0 (fast) to 10 (slow)
  -b 0-50, --brightness 0-50
                        keyboard brightness, from 0 (light off) to 50
  -c COLOR, --color COLOR
                        Illumination color (red, green, yellow, blue, aqua, purple, white)
  -r, --reset           reset all settings to their default

The first call to this command will reset all unspecified settings to their default value

Usage (Python Library)

from suorafxctl import SuoraFX

suorafx = SuoraFX()

# Get control of the USB device
suorafx.acquire()

# Set some configs
suorafx.effect = "wave-right"
suorafx.speed = 1
suorafx.brightness = 50
suorafx.color = "red"

# Send configs to the device
suorafx.commit()

# Return the control of the USB device to the Linux Kernel
suorafx.release()

Installing suorafxctl from sources

You will first need to install libusb1 and Git. On Ubuntu / Debian you can achieve this with the following command:

sudo apt install python3-libusb1 git

Then clone this repository and go to the project’s folder:

git clone https://github.com/flozz/suorafxctl.git
cd suorafxctl

Then install the project:

sudo pip install .

You can now run the software as root:

sudo suorafxctl --help

Installing udev rules

For being able to run suorafxctl as a standard user, you must configure udev. To do so, just copy the 99-roccat-suora-fx.rules file of this repository to /etc/udev/rules.d/:

sudo cp ./99-roccat-suora-fx.rules /etc/udev/rules.d/

Then update udev rules:

sudo udevadm trigger

And finally unplug / replug the keyboard to the computer.

Changelog

  • [NEXT] (changes on master, but not released yet):

    • Nothing yet ;)

  • v1.0.2:

    • misc: Added Python 3.13 support (@flozz)

    • misc!: Removed Python 3.8 support (@flozz)

  • v1.0.1:

    • misc: Added Python 3.11 and 3.12 support

    • misc!: Removed Python 3.7 support

  • v1.0.0: Initial release

Metadata

Release files for suorafxctl 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for suorafxctl 1.0.2
File Size Uploaded
suorafxctl-1.0.2.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for suorafxctl 1.0.2
File Interpreter ABI Platform
suorafxctl-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 10.6 kB

Release files / suorafxctl-1.0.2.tar.gz

Download URL suorafxctl-1.0.2.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
6ba468be87a5de602259e163c27fcabaec73b5330b6b0bea270eec2b8b009156
BLAKE2b-256 checksum
How to use checksums
c94cc26b69046c893d458ca8077f6f74a2aa5c3914b3dedde827fa0004cfd3a6
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release files / suorafxctl-1.0.2-py3-none-any.whl

Download URL suorafxctl-1.0.2-py3-none-any.whl
Size 5.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
fef0225b3f9277d241b17e785a2d769ac4816e1ff77901c7f3c425f26af62542
BLAKE2b-256 checksum
How to use checksums
208fa7246025d21ce5cbabdd8c7c657d96ad61cd6a302c2ee8567d1a2ce62c71
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/5.1.1 CPython/3.12.7

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

1.0.0

1 release file

0.0.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page