suorafxctl


Namesuorafxctl JSON
Version 1.0.1 PyPI version JSON
download
home_pagehttps://github.com/flozz/suorafxctl
SummaryConfigure Roccat Suora FX keyboards on Linux
upload_time2023-10-23 11:21:10
maintainer
docs_urlNone
authorFabien LOISON
requires_python
licenseWTFPL
keywords roccat suora suorafx keyboard
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            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)
----------------------

.. code-block:: Python

    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.1:**

  * chore: Added Python 3.11 and 3.12 support
  * chore!: Removed Python 3.7 support

* **v1.0.0:** Initial release

.. |Github| image:: https://img.shields.io/github/stars/flozz/suorafxctl?label=Github&logo=github
   :target: https://github.com/flozz/suorafxctl

.. |Discord| image:: https://img.shields.io/badge/chat-Discord-8c9eff?logo=discord&logoColor=ffffff
   :target: https://discord.gg/P77sWhuSs4

.. |PYPI Version| image:: https://img.shields.io/pypi/v/suorafxctl?logo=python&logoColor=f1f1f1
   :target: https://pypi.org/project/suorafxctl/

.. |Github Actions| image:: https://github.com/flozz/suorafxctl/actions/workflows/python-ci.yml/badge.svg
   :target: https://github.com/flozz/suorafxctl/actions

.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg
   :target: https://black.readthedocs.io/en/stable/

.. |License| image:: https://img.shields.io/github/license/flozz/suorafxctl
   :target: https://github.com/flozz/suorafxctl/blob/master/LICENSE

            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/flozz/suorafxctl",
    "name": "suorafxctl",
    "maintainer": "",
    "docs_url": null,
    "requires_python": "",
    "maintainer_email": "",
    "keywords": "roccat suora suorafx keyboard",
    "author": "Fabien LOISON",
    "author_email": "",
    "download_url": "https://files.pythonhosted.org/packages/1e/56/89a8dc9e974c578fed9b533a8910f216d55ff956d688b4ad6de5052aa69b/suorafxctl-1.0.1.tar.gz",
    "platform": "Linux",
    "description": "Suorafxctl - Configure Roccat Suora FX keyboards on Linux\n=========================================================\n\n|Github| |Discord| |PYPI Version| |Github Actions| |Black| |License|\n\nSuorafxctl 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.\n\n\nUsage (CLI)\n-----------\n\n::\n\n    usage: suorafxctl [-h] [-e EFFECT] [-s 0-10] [-b 0-50] [-c COLOR] [-r]\n\n    optional arguments:\n      -h, --help            show this help message and exit\n      -e EFFECT, --effect EFFECT\n                            Illumination effect (full-lit, breathing, color-shift, wave-right,\n                            wave-left, wave-up, wave-down, fade-out, fade-in, ripple, rain,\n                            snake, spiral, game-over, scanner, radar)\n      -s 0-10, --speed 0-10\n                            Illumination effect speed, from 0 (fast) to 10 (slow)\n      -b 0-50, --brightness 0-50\n                            keyboard brightness, from 0 (light off) to 50\n      -c COLOR, --color COLOR\n                            Illumination color (red, green, yellow, blue, aqua, purple, white)\n      -r, --reset           reset all settings to their default\n\n    The first call to this command will reset all unspecified settings to their default value\n\n\nUsage (Python Library)\n----------------------\n\n.. code-block:: Python\n\n    from suorafxctl import SuoraFX\n\n    suorafx = SuoraFX()\n\n    # Get control of the USB device\n    suorafx.acquire()\n\n    # Set some configs\n    suorafx.effect = \"wave-right\"\n    suorafx.speed = 1\n    suorafx.brightness = 50\n    suorafx.color = \"red\"\n\n    # Send configs to the device\n    suorafx.commit()\n\n    # Return the control of the USB device to the Linux Kernel\n    suorafx.release()\n\n\nInstalling suorafxctl from sources\n----------------------------------\n\nYou will first need to install libusb1 and Git. On Ubuntu\u00a0/ Debian you can achieve this with the following command::\n\n    sudo apt install python3-libusb1 git\n\nThen clone this repository and go to the project's folder::\n\n    git clone https://github.com/flozz/suorafxctl.git\n    cd suorafxctl\n\nThen install the project::\n\n    sudo pip install .\n\nYou can now run the software as root::\n\n    sudo suorafxctl --help\n\n\nInstalling udev rules\n---------------------\n\nFor 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/``::\n\n    sudo cp ./99-roccat-suora-fx.rules /etc/udev/rules.d/\n\nThen update udev rules::\n\n    sudo udevadm trigger\n\nAnd finally unplug\u00a0/ replug the keyboard to the computer.\n\n\nChangelog\n---------\n\n* **[NEXT]** (changes on ``master``, but not released yet):\n\n  * Nothing yet :)\n\n* **v1.0.1:**\n\n  * chore: Added Python 3.11 and 3.12 support\n  * chore!: Removed Python 3.7 support\n\n* **v1.0.0:** Initial release\n\n.. |Github| image:: https://img.shields.io/github/stars/flozz/suorafxctl?label=Github&logo=github\n   :target: https://github.com/flozz/suorafxctl\n\n.. |Discord| image:: https://img.shields.io/badge/chat-Discord-8c9eff?logo=discord&logoColor=ffffff\n   :target: https://discord.gg/P77sWhuSs4\n\n.. |PYPI Version| image:: https://img.shields.io/pypi/v/suorafxctl?logo=python&logoColor=f1f1f1\n   :target: https://pypi.org/project/suorafxctl/\n\n.. |Github Actions| image:: https://github.com/flozz/suorafxctl/actions/workflows/python-ci.yml/badge.svg\n   :target: https://github.com/flozz/suorafxctl/actions\n\n.. |Black| image:: https://img.shields.io/badge/code%20style-black-000000.svg\n   :target: https://black.readthedocs.io/en/stable/\n\n.. |License| image:: https://img.shields.io/github/license/flozz/suorafxctl\n   :target: https://github.com/flozz/suorafxctl/blob/master/LICENSE\n",
    "bugtrack_url": null,
    "license": "WTFPL",
    "summary": "Configure Roccat Suora FX keyboards on Linux",
    "version": "1.0.1",
    "project_urls": {
        "Homepage": "https://github.com/flozz/suorafxctl"
    },
    "split_keywords": [
        "roccat",
        "suora",
        "suorafx",
        "keyboard"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b6338290ede0659e55be9b2a6df7675517596b9587344f98cfbc86af816f946c",
                "md5": "faab7f0dc59e04403f6c546b06080469",
                "sha256": "0bd93b9d3153ce9082bd04a3e7734dc549e7d9010ed4b282850a7e142c3b25af"
            },
            "downloads": -1,
            "filename": "suorafxctl-1.0.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "faab7f0dc59e04403f6c546b06080469",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": null,
            "size": 5475,
            "upload_time": "2023-10-23T11:21:08",
            "upload_time_iso_8601": "2023-10-23T11:21:08.778634Z",
            "url": "https://files.pythonhosted.org/packages/b6/33/8290ede0659e55be9b2a6df7675517596b9587344f98cfbc86af816f946c/suorafxctl-1.0.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "1e5689a8dc9e974c578fed9b533a8910f216d55ff956d688b4ad6de5052aa69b",
                "md5": "a48681313f7b3c5704bea502cf64ae7a",
                "sha256": "d0dc905fdaa3b3569c271b9a220693dad8166ca47d97c6de5ce12909ba2b3931"
            },
            "downloads": -1,
            "filename": "suorafxctl-1.0.1.tar.gz",
            "has_sig": false,
            "md5_digest": "a48681313f7b3c5704bea502cf64ae7a",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": null,
            "size": 5116,
            "upload_time": "2023-10-23T11:21:10",
            "upload_time_iso_8601": "2023-10-23T11:21:10.196795Z",
            "url": "https://files.pythonhosted.org/packages/1e/56/89a8dc9e974c578fed9b533a8910f216d55ff956d688b4ad6de5052aa69b/suorafxctl-1.0.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2023-10-23 11:21:10",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "flozz",
    "github_project": "suorafxctl",
    "travis_ci": false,
    "coveralls": false,
    "github_actions": true,
    "lcname": "suorafxctl"
}
        
Elapsed time: 0.13141s