flozz / rivalcfg

CLI tool and Python library to configure SteelSeries gaming mice
https://flozz.github.io/rivalcfg/
Do What The F*ck You Want To Public License
792 stars 65 forks source link

Aerox 9 Wireless support #188

Open flozz opened 2 years ago

flozz commented 2 years ago

Device identification

Product URL

https://fr.steelseries.com/gaming-mice/aerox-9-wireless

SSE3 Screenshots:

image

flozz commented 2 years ago

This mouse work the same as the Aerox 3 and 5 Wireless, except for button mapping.

The button mapping requires 3 packets to fit the report size. Rivalcfg do not support sending more than one packet per command, so supporting button will require more work in the core of the project.

TODO:


Basic feature

For basic feature, we can find all the relevant information in the Aerox 3 Wireless profile and in the issues #156 and #167


button mapping

Commands:

Packets:

2A or 6A          Command
00                Packet number (1st)
xx xx xx xx xx    Button 1
xx xx xx xx xx    Button 2
xx xx xx xx xx    Button 3
xx xx xx xx xx    Scroll tilt left
xx xx xx xx xx    Scroll tilt right
xx xx xx xx xx    CPI
2A or 6A          Command
01                Packet number (2nd)
xx xx xx xx xx    S3
xx xx xx xx xx    S6
xx xx xx xx xx    S9
xx xx xx xx xx    S12
xx xx xx xx xx    S2
xx xx xx xx xx    S5
2A or 6A          Command
02                Packet number (3rd)
xx xx xx xx xx    S8
xx xx xx xx xx    S11
xx xx xx xx xx    S1
xx xx xx xx xx    S4
xx xx xx xx xx    S7
xx xx xx xx xx    S10
xx xx xx xx xx    Scroll Up
xx xx xx xx xx    Scroll Down

Buttons values:

+--------+-------------------+
| Value  | Action            |
+========+===================+
| 0x00   | Disabled          |
| 0x01   | Button 1          |
| 0x02   | Button 2          |
| 0x03   | Button 3          |
| 0x04   | Button 4          |
| 0x05   | Button 5          |
| 0x06   | Button 6          |
| 0x07   | Button 7          |
| 0x08   | Button 8          |
| 0x30   | CPI               |
| 0x31   | Scroll Up         |
| 0x32   | Scroll Down       |
| 0x33   | ac_pan_left       |
| 0x34   | ac_pan_right      |
| 0x51   | Keyboard key      |
| 0x61   | Multimedia key    |
| 0x62   | Meta              |
+--------+-------------------+

image image

flozz commented 2 years ago

Basic features are now on master and will be part of the v4.7.0.

CLKRUN commented 1 year ago

'Supporting button mapping (later, when multi-packet support will be supported by Rivalcfg)' How long does this usually take? Is it hard to get this to work? Would profile switching via button bind be possible? Screenshot_20221115_211647

flozz commented 1 year ago

'Supporting button mapping (later, when multi-packet support will be supported by Rivalcfg)' How long does this usually take? Is it hard to get this to work?

It will take months:

Would profile switching via button bind be possible?

I don't know... It is probably a software feature of the GG Engine but I cannot confirm as I do not own this device.

CLKRUN commented 1 year ago

'Supporting button mapping (later, when multi-packet support will be supported by Rivalcfg)' How long does this usually take? Is it hard to get this to work?

It will take months:

* Important changes must be made in the core of the lib

* Currently I do not have enough free time to work on it

Would profile switching via button bind be possible?

I don't know... It is probably a software feature of the GG Engine but I cannot confirm as I do not own this device.

Thank you so much for your quick comment. Unfortunately, I am only a user and I am thankful that there are people like you. I look forward when the time comes :)

Edwardius commented 1 year ago

Hi,

Just wanted an update on this, I wanted my Aerox 9 to support basic window moving macros (Win + <-, etc.). I'd assume that this is not possible yet because button mapping is not supported.