Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Aerox 9 Wireless support #188

Open
flozz opened this issue Sep 13, 2022 · 9 comments
Open

Aerox 9 Wireless support #188

flozz opened this issue Sep 13, 2022 · 9 comments

Comments

@flozz
Copy link
Owner

flozz commented Sep 13, 2022

Device identification

  • Wired: 1038:185a
  • Wireless: 1038:1858

Product URL

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

SSE3 Screenshots:

image

@flozz
Copy link
Owner Author

flozz commented Sep 13, 2022

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:

  • Support basic feature of the mouse (cloning the A3W / A5W profiles)
  • Supporting button mapping (later, when multi-packet support will be supported by Rivalcfg)

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:

  • Wired: 0x2A
  • Wireless: 0x6A

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
Copy link
Owner Author

flozz commented Sep 14, 2022

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

@CLKRUN
Copy link

CLKRUN commented Nov 15, 2022

'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
Copy link
Owner Author

flozz commented Nov 16, 2022

'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.

@CLKRUN
Copy link

CLKRUN commented Nov 16, 2022

'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
Copy link

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.

@ChrisLane
Copy link

ChrisLane commented Oct 12, 2024

@flozz I see that button mapping support was added for the Rival 600 this year 🎉
1c8d0ce

Can the same be done for the Aerox 9 Wireless now?
Would we just need the same changes made in the commit above but for the Aerox 9 Wireless with the values you posted in your second comment on this issue?

@flozz
Copy link
Owner Author

flozz commented Oct 12, 2024

To configure the buttons on the Aerox 9, it requires to send 3 packets. to the mouse.. Currently Rivalcfg is only able to send 1 packet per command. So there is is more work to be done before being able to support this feature on this device.

@ChrisLane
Copy link

To configure the buttons on the Aerox 9, it requires to send 3 packets. to the mouse.. Currently Rivalcfg is only able to send 1 packet per command. So there is is more work to be done before being able to support this feature on this device.

Ah I see, sorry. I had assumed that was the same for all devices and that the Rival 600 support indicated that it was implemented already.
Thanks for the fast response.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants