• Stars
    star
    783
  • Rank 58,097 (Top 2 %)
  • Language
    Python
  • License
    Do What The F*ck ...
  • Created over 8 years ago
  • Updated 8 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

CLI tool and Python library to configure SteelSeries gaming mice

rivalcfg: Configure SteelSeries gaming mice

Github Discord PYPI Version Github Actions Black License

Rivalcfg is a Python library and a CLI utility program that allows you to configure SteelSeries gaming mice on Linux and Windows (probably works on BSD and Mac OS too, but not tested).

I first created this program to configure my Rival 100 and the original Rival mice, then I added support for other Rival devices thanks to contributors. Today this project aims to support any SteelSeries gaming mice (Rival, Sensei,...).

IMPORTANT: This is an unofficial software. It was made by reverse engineering devices and is not supported nor approved by SteelSeries.
SteelSeries Gaming Mice

If you have any trouble running this software, please open an issue on Github:

Documentation

Main topics:

... and more at:

Supported Devices

SteelSeries Aerox 3:

SteelSeries Aerox 3 1038:1836

SteelSeries Aerox 3 Wireless:

SteelSeries Aerox 3 Wireless (wired mode) 1038:183a
SteelSeries Aerox 3 Wireless (2.4 GHz wireless mode) 1038:1838

SteelSeries Aerox 5 Wireless:

SteelSeries Aerox 5 Wireless (wired mode) 1038:1854
SteelSeries Aerox 5 Wireless Destiny 2 Edition (wired mode) 1038:185e
SteelSeries Aerox 5 Wireless Diablo IV Edition (wired mode) 1038:1862
SteelSeries Aerox 5 Wireless (2.4 GHz wireless mode) 1038:1852
SteelSeries Aerox 5 Wireless Destiny 2 Edition (2.4 GHz wireless mode) 1038:185c
SteelSeries Aerox 5 Wireless Diablo IV Edition (2.4 GHz wireless mode) 1038:1860

SteelSeries Aerox 9 Wireless:

SteelSeries Aerox 9 Wireless (wired mode) 1038:185a
SteelSeries Aerox 9 Wireless (2.4 GHz wireless mode) 1038:1858

SteelSeries Kana v2:

SteelSeries Kana v2 1038:137a

SteelSeries Kinzu v2:

SteelSeries Kinzu v2 1038:1366
SteelSeries Kinzu v2 1038:1378

SteelSeries Prime:

SteelSeries Prime 1038:182e
SteelSeries Prime Rainbow 6 Siege Black Ice Edition 1038:182a
SteelSeries Prime CS:GO Neo Noir Edition 1038:1856

SteelSeries Prime Wireless:

SteelSeries Prime Wireless (wired mode) 1038:1842
SteelSeries Prime Mini Wireless (wired mode) 1038:184a
SteelSeries Prime Wireless (2.4 GHz wireless mode) 1038:1840
SteelSeries Prime Mini Wireless (2.4 GHz wireless mode) 1038:1848

SteelSeries Rival 100 / SteelSeries Rival 105:

SteelSeries Rival 100 1038:1702
SteelSeries Rival 100 (Dell China) 1038:170a
SteelSeries Rival 100 Dota 2 Edition (retail) 1038:170b
SteelSeries Rival 100 Dota 2 Edition (Lenovo) 1038:170c
SteelSeries Rival 105 1038:1814

SteelSeries Rival 110 / SteelSeries Rival 106:

SteelSeries Rival 110 1038:1729
SteelSeries Rival 106 1038:1816

SteelSeries Rival 3:

SteelSeries Rival 3 1038:1824
SteelSeries Rival 3 (firmware v0.37.0.0) 1038:184c

SteelSeries Rival 300 / SteelSeries Rival:

SteelSeries Rival 1038:1384
SteelSeries Rival Dota 2 Edition 1038:1392
SteelSeries Rival 300 1038:1710
SteelSeries Rival 300 Fallout 4 Edition 1038:1712
SteelSeries Rival 300 Evil Geniuses Edition 1038:171c
SteelSeries Rival 300 CS:GO Fade Edition 1038:1394
SteelSeries Rival 300 CS:GO Hyper Beast Edition 1038:171a
SteelSeries Rival 300 CS:GO Fade Edition (stm32) 1038:1716
SteelSeries Rival 300 Acer Predator Edition 1038:1714
SteelSeries Rival 300 HP OMEN Edition 1038:1718

SteelSeries Rival 300S:

SteelSeries Rival 300S 1038:1810

SteelSeries Rival 310:

SteelSeries Rival 310 1038:1720
SteelSeries Rival 310 CS:GO Howl Edition 1038:171e
SteelSeries Rival 310 PUBG Edition 1038:1736

SteelSeries Rival 3 Wireless:

SteelSeries Rival 3 Wireless (2.4 GHz mode) 1038:1830

SteelSeries Rival 500:

SteelSeries Rival 500 1038:170e

SteelSeries Rival 600:

SteelSeries Rival 600 1038:1724
SteelSeries Rival 600 Dota 2 Edition 1038:172e

SteelSeries Rival 650 Wireless:

SteelSeries Rival 650 Wireless (wired mode) 1038:172b
SteelSeries Rival 650 Wireless (2.4 GHz wireless mode) 1038:1726

SteelSeries Rival 700 / SteelSeries Rival 710:

SteelSeries Rival 700 1038:1700
SteelSeries Rival 710 1038:1730

SteelSeries Rival 95 / SteelSeries Rival 100 PC Bang:

SteelSeries Rival 95 1038:1706
SteelSeries Rival 95 MSI Edition 1038:1707
SteelSeries Rival 95 PC Bang 1038:1704
SteelSeries Rival 100 PC Bang 1038:1708

SteelSeries Sensei 310:

SteelSeries Sensei 310 1038:1722

SteelSeries Sensei [RAW]:

SteelSeries Sensei [RAW] 1038:1369
SteelSeries Sensei [RAW] Diablo III Edition 1038:1362
SteelSeries Sensei [RAW] Guild Wars 2 Edition 1038:136d
SteelSeries Sensei [RAW] CoD Black Ops II Edition 1038:136f
SteelSeries Sensei [RAW] World of Tanks Edition 1038:1380
SteelSeries Sensei [RAW] Heroes of the Storm Edition 1038:1390

SteelSeries Sensei TEN:

SteelSeries Sensei TEN 1038:1832
SteelSeries Sensei TEN CS:GO Neon Rider Edition 1038:1834

Supporting this project

Wanna support this project?

Changelog

  • [NEXT] (changes on master that have not been released yet):

    • Nothing yet :)
  • v4.10.0:

    • Added Prime Mini Wireless support (@intersectRaven, #210, #207)
    • Code quality: more robust type comparison (@flozz)
  • v4.9.1:

    • Improved device profile generation (@airblast-dev, #211)
    • Fixed battery level reported at 630% when the mouse is off (@LennardKittner, #187, #212)
    • Unrecognized arguments error when no device is found (@LennardKittner, #213, #214)
  • v4.9.0:

    • Added Aerox 5 Wireless Destiny 2 Editon support (@flozz, #205)
    • Added Aerox 5 Wireless Diablo IV Edition support (@flozz, #206)
    • Updated HIDAPI to v0.14 to fix a macOS Ventura issue (@flozz, #200)
    • Removed the default lighting option for the Prime mouse (reported not working and not needed on this device) (@flozz, #196)
  • v4.8.0:

    • Improved CLI startup time (@gryzus24, #194)
    • Added default lighting setting to following devices (@flozz, #191, #195):
      • Aerox 3
      • Aerox 3 Wireless
      • Aerox 5 Wireless
      • Aerox 9 Wireless
      • Prime
      • Prime Wireless
    • Added Python 3.11 support (@flozz)
  • 4.7.0:

    • Add initial Aerox 9 Wireless support (#188)
    • Add Aerox 5 Wireless support (#184)
    • Fix inverted firmware version minor and major digits
    • Fix crash when reading battry level of a device in sleep mode
    • Improve udev rules reloading
    • Rival 100: Rivalcfg is now able to read the firmware version of this device (#179, @staticssleever668)
  • 4.6.0:

    • Add support for the Prime Wireless mouse (#172)
    • Aerox 3 Wireless support improved:
      • Sleep timer support implemented
      • Dim timer support implemented
      • Brightness removed to support Dim timer (it is still possible to dim the LED by setting darker colors)
    • Fix a crash when printing debug information with udev rules not installed
    • Remove Python 2.7 compatibility code
  • 4.5.0:

    • Do not try to open devices when not needed (#170)
    • Add support for SteelSeries Prime Rainbow 6 Siege Black Ice Edition (1038:182A)
    • Add support for SteelSeries Prime CS:GO Neo Noir Edition (1038:1856)
    • Add initial support for the Rival 3 Wireless mouse (#146)
    • Add initial support for the Rival 650 mouse (#112)
  • 4.4.0:

    • Add Prime support (#169, @sephiroth99)
    • Add Aerox 3 (non wireless version) support (#156)
    • Add Aerox 3 Wireless support (#167)
    • Save devices settings on disk
    • Add Black (code formatter)
    • Drop Python 3.5 support
    • WARNING: This version will be the last one to support Python 2.7
  • 4.3.0:

    • Fixes Sensei TEN default config (#158)
    • Adds the --print-udev to generate udev rules and print them to stdout (#157)
    • CLI: Displays a usage message when no argument was given (#152)
    • CLI: Write udev warning message to stderr instead of stdout
    • Adds a --print-debug option to display various information
    • Adds a --firmware-version option to display the firmware version of some devices
    • Rivalcfg can now read the firmware version of the following devices:
      • Rival 3
      • Rival 300
      • Rival 310
      • Rival 500
      • Rival 700 / 710
      • Sensei 310
      • Sensei TEN
  • 4.2.0:

    • Rival 3: support of firmware v0.37.0.0 (#147)
    • Support of the Sensei TEN (1038:1832)
    • Support of the Sensei TEN CS:GO Neon Rider Edition (1038:1834)
    • Rival 500:
      • Handles color shift
      • Handles button mapping
  • 4.1.0:

    • Support of the Rival 300S
    • Rival 310 support improved:
      • Support of button mapping
    • Sensei 310 support improved:
      • Support of button mapping
    • Rival 3 support improved:
      • Colors can now be defined separately
      • Button mapping support implemented
      • Light effects support implemented
  • 4.0.0:

    • Full rewrite of most parts of the software

    • Mice are now grouped by families to reduce code duplication

    • Improved udev support on Linux:

      • Dynamically generate udev rules instead of maintaining a static file
      • Automatically check that the rules file is up to date
      • Adds a command to update udev rules
    • Improved testing:

      • Better coverage
      • Test the device output to avoid regressions
    • Improved documentation:

      • A Sphinx documentation was added instead of stacking everything in the README
      • Each device family now have its own documentation page to make it easier to understand
      • Python APIs are now documented
      • A document was added to help contribute
      • Installation instructions were updated to recommend using Python 3
    • New devices support was added:

      • Support of the Rival 100 Dota 2 Edition (retail version) (#17)
      • Support of the Rival 300 Fallout 4 Edition (#44)
      • Support of the Rival 310 CS:GO Howl Edition (#113)
      • Support of the Rival 3 (#111)
      • Support of the Rival 300 Evil Geniuses Edition
      • Support of the Rival 95 MSI Edition
      • Support of the Rival 95 PC Bang
      • Support of the Rival 100 PC Bang
      • Support of the Rival 100 (Dell China)
      • Support of the Rival 600 Dota 2 Edition
      • Support of the Rival 106 (#84, @SethDusek)
    • Some devices gained a better support:

      • Rival 300 / Original Rival family
        • Support of buttons mapping
      • Rival 700 / 710
        • Support of gradients / Color shift (#129, @nixtux)
    • A generic support of mouse buttons mapping was added (rewriting of what was originally done for the Sensei [RAW]). The following devices now support it:

      • Rival 300 / Original Rival family
      • Sensei [RAW] family
    • Regressions:

      The following things were removed for this release:

      • Sensei Ten: this mouse needs more work to be added back.
      • Colorshift of the Rival 500: this feature needs more work to be added back.

Older changelog entries were moved to the CHANGELOG.rst file.

More Repositories

1

p0wny-shell

Single-file PHP shell
PHP
2,100
star
2

StackBlur

Fast and almost Gaussian blur
JavaScript
1,268
star
3

nautilus-terminal

A terminal embedded in Nautilus, the GNOME's file browser
Python
320
star
4

yoga-image-optimizer

A graphical tool to convert and optimize JPEG, PNG and WebP images (based on YOGA)
Python
138
star
5

gameboy-examples

Example programs that run on the Nintendo GameBoy
C
80
star
6

cover-thumbnailer

Generates folder thumbnails for various file browser on Linux to display music album covers, preview of pictures which are in a folder and more.
Python
79
star
7

threadify

Simply transforms a javascript function into a web worker
JavaScript
62
star
8

pypapi

Python binding for the PAPI (Performance Application Programming Interface) library
Python
40
star
9

evoland.gb

A fan-made demake of Evoland on GameBoy
C
39
star
10

img2gb

Converts images to GameBoy tiles
Python
32
star
11

stone.js

gettext-like client-side Javascript Internationalization Library
JavaScript
23
star
12

calcleaner

A simple graphical tool to purge old events from CalDAV calendars
Python
17
star
13

asus-keyboard-backlight

Configure the keyboard backlight on ASUS laptops.
Python
16
star
14

stonejs-tools

Tools for extracting/compiling translatable strings from javascript source
JavaScript
13
star
15

pavage

Lightweight library to arrange HTML elements in a Waterfall / Pinterest-like column layout
JavaScript
12
star
16

twitch-api-examples

Examples that use Twitch APIs to display notifications in OBS
JavaScript
7
star
17

shmined

The minesweeper game, in Bash!
Shell
5
star
18

tern-abitbol

Tern.js plugin to autocomplete Abitbol classes
JavaScript
4
star
19

maptosym

Generates no$gmb symbole files (.sym) from GBDK and SDCC / ASxxxx map files (.map)
Python
4
star
20

suorafxctl

Configure Roccat Suora FX keyboards on Linux
Python
4
star
21

rst2gemtext

Converts reStructuredText to Gemtext (Gemini markup format)
Python
4
star
22

pipe.js

Simply queue asynchrone jobs in javascript.
JavaScript
3
star
23

simple-screencast

Simple screen recording application for GNOME Shell
Python
3
star
24

webassembly-examples

Example WebAssembly programs
HTML
3
star
25

KeyboardJS

This is a fork of an old KeyboardJS version that is required by some old projects... DO NOT USE ON NEW PROJECTS...
JavaScript
3
star
26

grunt-stonejs-tools

Stone.js Grunt plugin to extract / compile translatable strings
JavaScript
3
star
27

vim-color-picker

A GTK 2 color picker for VIM
Vim Script
2
star
28

tdct-live-irc-bot

An IRC bot to follow the TdCT on ##tdct-live (irc.freenode.net)
JavaScript
2
star
29

damn-monkey

A Donkey Kong-like game
C
2
star
30

hangman8086

An implementation of the Hang Man game in assembly (Emu8086)
Assembly
2
star
31

tetrize

A Tetris-like game in Java
Java
2
star
32

daily-mix

Generates thematic playlists like Spotify's Daily Mix from a Subsonic API (Nextcloud Music)
Python
2
star
33

yoga-image-benchmark

Python
1
star
34

.vim

My VIM config
Vim Script
1
star