Skip to main content

Configure Roccat Suora FX keyboards on Linux

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

suorafxctl-1.0.2.tar.gz (5.1 kB view details)

Uploaded Source

Built Distribution

suorafxctl-1.0.2-py3-none-any.whl (5.5 kB view details)

Uploaded Python 3

File details

Details for the file suorafxctl-1.0.2.tar.gz.

File metadata

  • Download URL: suorafxctl-1.0.2.tar.gz
  • Upload date:
  • Size: 5.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for suorafxctl-1.0.2.tar.gz
Algorithm Hash digest
SHA256 6ba468be87a5de602259e163c27fcabaec73b5330b6b0bea270eec2b8b009156
MD5 9b92903b446cb377a82eb7072ef33845
BLAKE2b-256 c94cc26b69046c893d458ca8077f6f74a2aa5c3914b3dedde827fa0004cfd3a6

See more details on using hashes here.

File details

Details for the file suorafxctl-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: suorafxctl-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 5.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.7

File hashes

Hashes for suorafxctl-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fef0225b3f9277d241b17e785a2d769ac4816e1ff77901c7f3c425f26af62542
MD5 03a302512dc1212513c07666cb241d38
BLAKE2b-256 208fa7246025d21ce5cbabdd8c7c657d96ad61cd6a302c2ee8567d1a2ce62c71

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page