SteelSeries Rival 3¶
Supported Models¶
SteelSeries Rival 3 |
1038:1824 |
SteelSeries Rival 3 (firmware v0.37.0.0) |
1038:184c |
Command-Line Usage¶
usage: rivalcfg [-h] [--list] [--version] [--no-save] [--update-udev]
[--print-udev] [--print-debug] [-s SENSITIVITY]
[-p POLLING_RATE] [--strip-top-color Z1_COLOR]
[--strip-middle-color Z2_COLOR]
[--strip-bottom-color Z3_COLOR] [-c LOGO_COLOR]
[-e LIGHT_EFFECT] [-b BUTTONS_MAPPING] [-r]
[--firmware-version]
optional arguments:
-h, --help show this help message and exit
--list List supported devices and exit
--version show program's version number and exit
--no-save Do not persist settings in the internal device memory
--update-udev Updates udev rules (Linux only, requires to be run as
root)
--print-udev Prints udev rules and exit
--print-debug Prints debug informations and exit
SteelSeries Rival 3 Options:
-s SENSITIVITY, --sensitivity SENSITIVITY
Set sensitivity preset (DPI) (up to 5 settings, from
200 dpi to 8500 dpi, default: '800, 1600')
-p POLLING_RATE, --polling-rate POLLING_RATE
Set polling rate (Hz) (values: 125, 250, 500, 1000,
default: 1000)
--strip-top-color Z1_COLOR, --z1 Z1_COLOR
Set the color of the top LED of the strip (e.g. red,
#ff0000, ff0000, #f00, f00, default: red)
--strip-middle-color Z2_COLOR, --z2 Z2_COLOR
Set the color of the middle LED of the strip (e.g.
red, #ff0000, ff0000, #f00, f00, default: lime)
--strip-bottom-color Z3_COLOR, --z3 Z3_COLOR
Set the color of the bottom LED of the strip (e.g.
red, #ff0000, ff0000, #f00, f00, default: blue)
-c LOGO_COLOR, --logo-color LOGO_COLOR, --z4 LOGO_COLOR
Set the color of the logo LED (e.g. red, #ff0000,
ff0000, #f00, f00, default: purple)
-e LIGHT_EFFECT, --light-effect LIGHT_EFFECT
Set the light effect (values: rainbow-shift, breath-
fast, breath, breath-slow, steady, rainbow-breath,
disco, default: steady)
-b BUTTONS_MAPPING, --buttons BUTTONS_MAPPING
Set the mapping of the buttons (default:
buttons(button1=button1; button2=button2;
button3=button3; button4=button4; button5=button5;
button6=dpi; scrollup=scrollup; scrolldown=scrolldown;
layout=qwerty))
-r, --reset Reset all settings to their factory default
--firmware-version Print the firmware version of the mouse and exit
Please report any bug on Github: https://github.com/flozz/rivalcfg/issues
Sensitivity (DPI)¶
This mouse supports up to 5 sensitivity presets. You can define them like this:
rivalcfg --sensitivity 800 # one preset
rivalcfg --sensitivity 800,1600 # two presets
You can switch preset using the button under the mouse wheel.
Note
When you set the sensitivity through the CLI, the selected preset always back to the first one.
Note
From Python API, you can pass an int
, a tuple
or a list
as parameter. You are also able to change the currently selected preset:
mouse.sensitivity(800)
mouse.sensitivity("800, 1600")
mouse.sensitivity([800, 1600])
# select the second preset (1600 dpi)
mouse.sensitivity([800, 1600, 2000, 4000], selected_preset=2)
Colors¶
This mouse supports colors. Various formats are supported.
Hexadecimal notation¶
You can use a 24 bit hexadecimal notation (like in HTML / CSS documents). Example of “red” color using hexadecimal notation:
#FF0000
FF0000
#F00
F00
Named Colors¶
The folowing named colors are supported:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
RGB Tuple (Python API only)¶
If you are using the Python API (not the command line interface), you can
also pass colors as RGB tuple
or list
:
(255, 0, 0)
[255, 0, 0]
Light Effect¶
The Rival 3 offers some onboard light effects.
Please note that the effects are reset if you changes colors. So if you want specific colors with the breath effect, you have to set colors first and the effect after:
rivalcfg --z1 red --z2 lime --z3 blue --logo-color purple
rivalcfg --light-effect breath
Buttons¶
This mouse supports buttons mapping. Buttons can be mapped with:
some special actions,
mouse buttons,
multimedia keys,
and keyboard keys.
The general syntax for buttons mapping is the following:
buttons(layout=<LAYOUT>; button1=<mapping1>; buttonN=<mappingN>)
Example:
rivalcfg --buttons "buttons(layout=QWERTY; button1=button1; button2=PlayPause; button3=disabled; button5=A; button6=DPI)"
Arguments:
layout
: The keyboard layout to use when papping the keys (see the “Mapping Keyboard Keys” section bellow).button1
: The first button of the mouse.button2
: The second button of the mouse.buttonN
: The Nth button of the mouse (The number of available buttons depends of the mouse model).
Note
All parameters are optional. If you do not define a mapping for a specific button, it will be reset to its default value.
You can also reset all buttons to their factory default by passing "default"
as parameter:
rivalcfg --buttons default
Warning
Be sure to map the mouse button button1
on some button, else you will not be able to click with the mouse!
Mapping Special Actions¶
The following special actions are available¹:
disabled
: disable the button,dpi
: use this button to switch between DPI presets,ScrollUp
: simulate a scroll up (not available on all devices¹)ScrollDown
: simulate a scroll down (not available on all devices¹)
Example:
buttons(button4=disabled; button5=disabled; button6=DPI)
Note
¹ The ScrollUp
and ScrollDown
actions are not available on all devices.
Rival 300 / Rival: OK
Sensei [RAW]: Not supported
Mapping Mouse Buttons¶
Mouse buttons can be mapped to any other mouse button.
For example, this swap the button 1 and 2 of the mouse:
buttons(button1=button2; button2=button1)
Mapping Multimedia Keys¶
Mouse buttons can be mapped to multimedia keys. The following keys are available:
Mute
: turn off the soundNext
: play next mediaPlayPause
: toggle play / pause on the currently playing mediaPrevious
: play the previous mediaVolumeUp
: increase the volumeVolumeDown
: decrease the volume
Example:
buttons(button4=VolumeDown; button5=VolumeUp)
Mapping Keyboard Keys¶
Mouse buttons can be mapped to any keyboard keys, using different layouts.
To select the desired layout, just use the layout
parameter. If this
parameter is not specified, the QWERTY
layout will be used by default.
Available layouts:
QWERTY
(see available keys)
The available keys depends on the selected layout.
Example:
buttons(layout=QWERTY; button7=PageDown; button8=PageUp)
Note
Some caracters like ;
or =
cannot be used as key identified as they
interfer with the buttons()
syntax. For those keys, use one of the
available aliases, like semicolon
(instead of ;
) or equal
(instead of =
).
Example:
buttons(button4=semicolon; button5=equal)
Python API¶
TODO