1
0
forked from drath/libratbag
Commit Graph

267 Commits

Author SHA1 Message Date
haytham
d93a8bc474 asus: add support for the Omni receiver and new data layouts
Mice behind an ASUS Omni receiver all enumerate with the same usb id
(0b05:1ace), so the regular bus:vid:pid DeviceMatch cannot tell models
apart. Identify the model during probe instead:

- asus-rog-omni-receiver.device is a minimal bootstrap file that only
  declares Quirks=OMNI_RECEIVER, so the asus driver gets probed on the
  receiver's hidraw nodes
- the probe queries the serial number signature (03 12 12 02) and
  matches its prefix against the OmniSignature field of the .device
  files, then re-resolves the device data for the identified usb id
- an unknown signature fails the probe with -ENODEV, which also drops
  the receiver's keyboard and media control nodes

The Strix Impact III family answers with data two bytes earlier than the
original protocol (code plus params echo instead of code plus pad), so
two quirks cover the new layouts:

- LED_V2: per-zone LED responses with data at offset 4, brightness in
  0-100
- SETTINGS_V2: settings and DPI responses with data at offset 4,
  rate/debounce/snapping as single bytes

Also write DPI values with two bytes so presets above 12850 dpi work.

Verified on a ROG Strix Impact III Wireless: identification on hidraw4,
all 5 profiles with 8 buttons, 1 LED and DPI presets 400/800/1600/3200,
report rate 1000 Hz, debounce 12 ms, LED brightness 127 (50%). Writes
round-trip and survive a ratbagd restart.
2026-08-18 20:11:11 +03:00
John Schoenick
03afbe49f3 data: enable INDEX_OFFSET on G502 X and G502 X Wireless
f9d1574 enabled this for the G502 X PLUS, which is the RGB variant.
I can confirm the normal G502 X Wireless has this quirk.  I do not
have a base model G502 X, but comments on issue #1606 as well as logic
suggest it very likely does unless proven otherwise.
2026-07-19 16:31:01 +03:00
perfectra1n
f9d1574841 data: enable INDEX_OFFSET on the G502 X PLUS
The G502 X PLUS reports a 1-indexed active profile, so without
INDEX_OFFSET libratbag targets the wrong profile and DPI/button changes
never reach the device (the mouse boots on its first profile, reported
as index 1). It also needs the existing G502X_PLUS LED quirk, so list
both now that hidpp20 supports multiple quirks.

Verified on hardware (usb:046d:4099 via the Lightspeed receiver, Linux
7.x): the device reports active profile index 1, INDEX_OFFSET maps it to
0, and the LED still reads correctly via the G502X_PLUS slot.
2026-07-15 20:41:56 +03:00
thejobbitt
43f76eee67 data: add Logitech G502 X Wireless through LS dongle (046d:409f)
Add USB ID 046d:409f, the ID when connected through the LS dongle. USB ID 046d:c098 is the ID when wired.
2026-07-10 16:57:22 +00:00
winter
2fb9a701e8 data: add Glorious Model O Eternal (usb:3794:a000)
Co-authored-by: Merikei <73759842+Merikei@users.noreply.github.com>
Co-authored-by: winter <96156057+wintervoid@users.noreply.github.com>
2026-05-31 19:00:25 +03:00
rc-05
805e7fb77f feature: Add support for ASUS TUF GAMING M4 AIR
This commit adds support for the TUF GAMING M4 AIR mouse manufactured by ASUS/ASUSTek.
2026-04-25 21:27:34 +03:00
Kyoken
1e20248b6d data: add ASUS TUF Mini WL 2026-04-25 21:26:44 +03:00
Patrick Klose
874c01732a hidpp20: add quirk to fix active profile index on some devices (#1799)
* Added Quirk for G502 offset to resolve incorrect active profile being applied. Testing on G502- Hero Wireless. May be worth adding handling for multiple quirks.

* Added quirk in device files to correct offset for G502 Hero, G502-Proteus Spectrum, and G604.

* Refactored G502 Offset Quirk naming to be more broadly applicable as index offset.

* Correct typo in g502-proteus spectrum quirk value.

---------

Co-authored-by: Patrick Klose <pjklose@outlook.com>
2026-01-11 16:51:40 +00:00
Denis
c5214d2633 data: add G502 X Plus in wireless mode (usb:046d:4099) (#1728) 2025-12-14 07:10:47 +00:00
Adam Spiers
b61da30205 data: add Logitech MX Master 4 2025-11-19 22:23:19 +03:00
Kritphong Mongkhonvanit
e4184c2227 data: add ASUS ROG Keris (Wired) 2025-11-19 22:10:26 +03:00
lat9nq
78d1124c3e data: add Logitech G705 Mouse
Based on https://github.com/Nadeflore work. Thank you!
2025-05-11 12:50:04 +03:00
Sewer.
65d07ae4d1 hidpp20: add G502X Plus (Wired) Support (#1693)
* Recognize the Logitech G502X PLUS (Wired)

* Fixed: LED write functionality for G502X PLUS

Inspired by 94bd172a19

* Changed: Number of LEDs is implied by quirk set.

* Added: Extra note about single LED
2025-05-10 10:59:41 +00:00
bliepp
ca94a8a111 Additional ID for ASUS ROG Keris Wireless AimPoint (#1679) 2025-05-10 10:41:05 +00:00
Kyoken
7bdca904f5 asus: new quirks for Chakram X and other mice 2025-05-10 13:38:06 +03:00
Sebastian Fleer
dcc5def3d6 data: add an additional USB ID for Logitech MX Vertical (#1652) 2024-10-16 19:24:00 +00:00
Odd Eirik Nes
52dff63a64 data: add an additional usb identifier for Logitech G733 2024-09-24 15:59:11 +00:00
koliwbr
cf15a6e65d data: add support for Mad Dog GM905 2024-02-27 19:16:38 +03:00
Daniel Levi-Minzi
a52ffcdb45 add rog harpe ace wireless 2024-01-18 17:03:17 -05:00
Vladislav Tyulbashev
00f06ba98e data: add Logitech MX Anywhere 3S 2024-01-01 02:18:31 +03:00
BigBoiMan123
8d7ca98c38 data: add ASUS ROG Keris Wireless AimPoint 2023-12-23 16:15:55 +03:00
Kirk Roybal
bb9ea29c39 data: add Logitech MX Master 3S for Business 2023-11-24 19:06:48 +03:00
Kyoken
dcd15243b9 asus: add rog chakram core 2023-11-23 23:59:11 +03:00
fritteli
6db5cc3743 data: set device type of Logitech G513 to keyboard
The G513 is actually a keyboard, not a mouse (at least mine is ...).
2023-10-07 22:25:16 +03:00
Stephan Lachnit
abfa43345b data: add support for Logitech G413 keyboard
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com>
2023-09-25 19:21:28 +03:00
Kyoken
f5e2259da5 asus: fix single profile devices 2023-06-04 18:58:18 +03:00
Jon
9cc4d71dd0 data: update logitech-g915-tkl.device to DeviceType=keyboard
Diverged accidentally from G915 in
4f36371af3.
2023-04-24 03:54:23 +03:00
Qjammer
7fb3c63e8d marsgaming: implement Mars Gaming MM4 protocol 2023-04-14 14:23:28 +03:00
Kyoken
fdf9c3ce7e data: fix asus chakram x 2023-03-31 00:00:15 +03:00
Yaroslav Chvanov
dc9d49a240 data: improve description of possible fields for sinowealth driver 2023-03-19 02:51:19 +03:00
Yaroslav Chvanov
87f6e521e6 sinowealth: store firmware version in device files in the group name
It only makes sense, since it's what the section are identified by.
2023-03-19 02:42:47 +03:00
Yaroslav Chvanov
876c06237e sinowealth: change device files to match other drivers
..specifically the "ButtonCount" and "ProfileCount" keys.
2023-03-19 02:39:21 +03:00
Yaroslav Chvanov
2f5a7a5628 data: add SinoWealth driver to the example device file 2023-03-07 05:35:17 +03:00
Yaroslav Chvanov
ca7d4f78fc data: enable second profile for T-Dagger Imperial T-TGM310 2023-03-07 05:35:17 +03:00
Yaroslav Chvanov
2b47f5b942 data: add Sinowealth Generic Mouse (258a:0051) 2023-03-05 05:42:36 +03:00
Yaroslav Chvanov
78f68d2470 data: add links to device issues with raw configuration data 2023-03-05 05:39:40 +03:00
Yaroslav Chvanov
ac999da26c data: remove usage of the deprecated LED type field 2023-02-25 13:39:41 +03:00
Matt Coffin
f20686b296 steelseries: add support for Rival 650 Wireless 2023-02-24 22:01:15 +03:00
José Almeida
ada99fb72e data: add device Logitech G Pro (X) keyboard
Known issues:
- not possible to change LED color of Caps lock indicator, Scroll
lock indicator and Game Mode button.
2023-02-14 16:49:27 +03:00
Julian Kandlhofer
4f36371af3 implement 'DeviceType' property
Signed-off-by: Julian Kandlhofer <julian.kandlhofer@gmail.com>
2023-02-14 16:29:20 +03:00
mistepien
6dcd17d340 data: add additional USB id for Logitech G102 (046d:c09d) 2023-01-06 17:45:30 +03:00
Yaroslav Chvanov
8a7474b1bd data: fix missing Driver field 2022-12-22 02:22:29 +03:00
Peter Oliver
4319466aed Adjust offered resolutions for SteelSeries Kinzu V3
Fixes #1386.
2022-12-19 20:02:29 +00:00
TCH
d3c62a0d67 data: add Logitech MX Master 3S 2022-12-12 08:40:27 +10:00
Kyoken
67ab803657 asus: pugio button mapping 2022-12-09 10:01:21 +03:00
Kyoken
4187aa4123 asus: allow empty cells in bindings table and fix pugio button bindings 2022-12-07 23:32:03 +03:00
lennie420
919cde2b15 Logitech G303 Shroud Edition device file
Adds basic support for Logitech G303 Shroud Edition
2022-11-26 00:55:05 +03:00
Red_M
6476cd000a Fix spatha x device file. 2022-11-26 00:46:37 +03:00
Kyoken
e628b50abf asus: add spatha x 2022-11-26 00:46:37 +03:00
Kyoken
041a8023b8 asus: button mapping reworked 2022-11-26 00:46:32 +03:00