[ANNOUNCE] libratbag 0.17
Yaroslav Chvanov
yaroslav.chvanov at gmail.com
Wed Nov 9 11:32:28 UTC 2022
Hello, libratbag v0.17 has been released. libratbag now requires meson
0.50.0 (released in March 2019) for building.
Fixes:
- Report rate changing now works on older SteelSeries mice.
- Fix multiple configurable devices being shown for one connected
SteelSeries mouse.
- Fix setting onboard profile mode in HID++2.0 driver.
- Fix active resolution slot reading and writing in Sinowealth driver.
- Fix report rates which are not multiples of 100 not applying.
Features:
- Completely new driver for ASUS devices.
- Sinowealth driver now supports changing report rate, button
assignments and macros.
New compatible devices:
- ASUS ROG Chakram
- ASUS ROG GX860 Buzzard Mouse
- ASUS ROG Gladius II
- ASUS ROG Gladius II Origin
- ASUS ROG Gladius II Origin PNK LTD
- ASUS ROG Keris Wireless
- ASUS ROG Pugio
- ASUS ROG Strix Carry
- ASUS ROG Strix Impact
- ASUS ROG Strix Impact II Wireless
- DreamMachines DM5 Blink
- G-Wolves Hati HT-M Wired
- Genesys Xenon 770
- Glorious Model O (with older firmware)
- Logitech G502 X
- Logitech G502 X Wireless
- Logitech G635
- Logitech G733
- Logitech MX Anywhere 3B
- Machenike M620
- Marvo Scorpion G961
- More SteelSeries Rival variations
- Roccat Kone EMP
- SteelSeries Rival 100/105
Thanks to everyone who has contributed! Bellow is the git shortlog with
more details.
Andreas Grosse (1):
Add Support for G502 X over USB
Andreas Schwab (1):
meson.build: use valgrind only if available
Carlos Mogas da Silva (1):
Add Logitech G635 Headset
Filipe Laíns (3):
Revert "data: add additional identifier for MX Anywhere 2"
Revert "data: Add (old) Logitech Performance Mouse MX"
hidpp20: allow setting a default report rate (#969)
Ilya Guterman (7):
fix button count and default report rate always zero
steelseries: prefix hidraw writes with 0
fix ci failures
add static assert
hidpp20: fix set onboard mode
hidpp20: fetch active profile index only once
hidpp20: verbose log the get current profile
Ilya guterman (2):
data: support steelseries rival variations
tests: test for additonal lightspeed receviers pids
João Ferreira (1):
data: add additional identifier for MX Anywhere 2
Kristian Klausen (1):
steelseries: only use the HID vendor device
Kyoken (3):
fix ratbag-command led setting
asus driver
asus: remove extern
Linus (1):
Fix presumed typo
LittleWhite-tb (1):
Support for Roccat Kone EMP (#1131)
PeakKS (1):
Add support for G502 X Wireless
Peter Hutterer (12):
Add a GitHub Workflow as CI run (#1238)
hidpp20: add missing #define to the feature report strings (#1237)
meson.build: require meson 0.50.0
Change the data validation tests to take the directory instead of files
Install all data files as subdir
Drop CircleCI
CI: add a github pages job to the CI
meson.build: fix spelling of receiver
roccat: name two fields correctly
CI: actually test with the various meson args
roccat: remove an unnecessary #include
test: add the Bolt receiver C548 to the receiver list
Rafael Silva (3):
README: add uninstall instruction
device: g635: Set buttons as 0
ibratbag-hidraw: add optional filter to hidraw read
Sami Olmari (1):
Add device-file for Logitech MX Anywhere 3B (#1313)
Stephan Lachnit (1):
Register Roccat Kone Pure driver
Stephen Kitt (2):
openinput: fix "Unknown" typo
man: add both variants in ratbagctl.1 synopsis
Tayllan (1):
hidpp20: allow setting a default buttons count
Thomas Weißschuh (1):
libratbag-data: fix possible NULL dereferences
Yaroslav Chvanov (126):
sinowealth: make init_profile return error codes
sinowealth: print firmware version on profile init, not on reading
sinowealth: put reading of raw configuration data into a helper
sinowealth: move raw data reading from init function to probe function
sinowealth: detect LED count at run-time
sinowealth: use the detected LED count
sinowealth: rename some functions to be more clear
sinowealth: fix a memory leak
sinowealth: increase log level of printed firmware version
sinowealth: remove a redundant comment
util: fix a string of text being printed out of nowhere
Fix `ratbag_button_action_match` not matching on type `NONE`
Add a TODO to make ratbag_button_action_match support macro actions
sinowealth: use correct bits for report rate
sinowealth: separate `config` to real `config` and `report_rate` nibbles
sinowealth: put report rate conversion comparison in order
sinowealth: use a map to convert report rates
sinowealth: put some macros into enums
sinowealth: add a lift off distance value to config report
sinowealth: don't say that amount of breathing colors is constant
sinowealth: sort values in an enum
sinowealth: add `breathing_mode` to config report
sinowealth: add some hidden lighting types
sinowealth: rename a config entry to make more sense
sinowealth: use `NULL` instead of `0` for pointers
sinowealth: print config data size
sinowealth: use a struct to store lighting mode
sinowealth: make some utility functions take unsigned integers
sinowealth: use enum types in config report directly
sinowealth: handle new RGB effects
sinowealth: make the firmware version printing helper return it instead
sinowealth: print device model based on firmware version
sinowealth: support different sensors
sinowealth: format code
sinowealth: use RGB or RBG colors depending on device
sinowealth: add profile index getter
sinowealth: print profile index
sinowealth: add debounce time getter
sinowealth: print debounce time
sinowealth: add LOD and angle snapping value getter
sinowealth: print LOD and angle snapping value
sinowealth: add commands IDs for the second profile
sinowealth: add active profile setter
sinowealth: select first profile before getting any data from the mouse
sinowealth: define `set_active_profile` method in the driver
sinowealth: don't enable LED support if LED type is not defined
sinowealth: add default sensor type and LED type
sinowealth: set the RGB effect to unsupported if LED type is not defined
data: add SinoWealth Generic Mouse (258a:0027)
data: add another name to Glorious Model O - O-
sinowealth: split `commit` into raw data update and raw write helpers
sinowealth: use `uint8_t` instead of `char` for report IDs
sinowealth: set the command before writing config
sinowealth: use for_each instead of manually getting profiles
sinowealth: declare a variable right before it's initialization
sinowealth: initialize all variables
sinowealth: add a macro for profile count
sinowealth: store config report in an array
sinowealth: cache current profile index in driver data
sinowealth: don't mark inactive profile as active
sinowealth: rename macros with config size to make more sense
sinowealth: make `update_profile_from_config` a void function
sinowealth: remove new-lines between data types and their size checks
sinowealth: make the sensor maximum DPI getter return `0` on error
sinowealth: improve comments
sinowealth: remove a now unused macro
sinowealth: put a macro into an enum
sinowealth: sanity check output of all raw data getters
sinowealth: prefix some of our data type names
sinowealth: visually separate config report data specific to long mice
sinowealth: fix two struct fields having swapped places
sinowealth: put command buffer size into a macro
sinowealth: rename a struct member to show that it's bit field
sinowealth: add helpers for doing raw HID queries
sinowealth: explain how `active_dpi` works
sinowealth: fix several misspellings
steelseries: fix a memory leak
steelseries: fix length of LED cycle output report being incorrect
steelseries: only write report rate if it's dirty
test: migrate to profile-oriented API
etekcity: migrate to profile-oriented API
etekcity: only write profile once
roccat: migrate to profile-oriented API
roccat-kone-pure: migrate to profile-oriented API
libratbag: remove now unused deprecated driver methods
sinowealth: add command ID for putting the device into DFU mode
sinowealth: don't redundantly unreference a profile
sinowealth: return an error code instead of doing an assert
sinowealth: fix active resolution slot reading and writing
sinowealth: add partial support for reading BREATHING7 lighting mode
sinowealth: fix `breathing` LED mode on 0027 mice
sinowealth: use a union instead of doing pointer arithmetic on DPI slots
sinowealth: fix DPI being off by 100 on PWM3327 sensor
sinowealth: mark color order on Genesis Xenon 770 as tested
sinowealth: fix rave lighting mode settings being shifted by one byte
sinowealth: set button count from detected device
sinowealth: add types for buttons
sinowealth: add support for reading button bindings
sinowealth: add support for changing button mappings
sinowealth: add support for writing `key` button actions
sinowealth: add support for writing macros
libratbag-data: fix a memory leak
sinowealth: fix a typo
sinowealth: prefix a function name
sinowealth: handle RGB_NOT_SUPPORTED explicitly
sinowealth: make dpi_to_raw return 8 bit number
sinowealth: decrease minimal configuration size
sinowealth: add sensor type field to configuration data
sinowealth: add numeric IDs to sensor types
sinowealth: make device detection less imperative
sinowealth: detect sensor type automatically
sinowealth: fix crashing on mice with unknown sensors
sinowealth: limit the resolution to sensor's upper bound
sinowealth: note that debounce time command doesn't work on shorter mice
sinowealth: add data for Marvo Scorpion G961
sinowealth: fix all devices being detected as `generic device`
steelseries: add fallback button and LED count
steelseries: ensure that device has a version number set
sinowealth: use a constant instead of a magic number
sinowealth: null-terminate the buffer with firmware version
sinowealth: move device-specific data out of the driver
libratbag-data: add a missing include
asus: fix include order
data: add another SinoWealth Generic Mouse (258a:0029)
CI: update runners to use Node 16
libratbag 0.17
listout (1):
Use fprintf instead of error
mtayllan (2):
Add support to Logitech G733
Set buttons as 0 for logitech g733
staticssleever668 (20):
sinowealth: add support for changing active resolution number
steelseries: fix report rate changing for version 1 devices
sinowealth: add support for reading current report rate
sinowealth: add support for changing report rate
sinowealth: expose all eight resolution slots
steelseries: improve v1 LED breathing duration configuration
ratbagd-profile: do not align report rates to 100
ratbagd-profile: allow report rates up to 8000
steelseries: add 'Quirk' setting
steelseries: make settings unique to SteelSeries Sensei RAW a quirk
libratbag-data: add 'Rival100' quirk to SteelSeries driver
steelseries: add support for changing LEDs on Rival 100
data: add SteelSeries Rival 100/105
ratbagd: initialize a variable
driver-hidpp10: remove a redundant character array null check
driver-hidpp10: cast an internal log priority enumeration to the general one
driver-hidpp20: cast an internal log priority enumeration to the general one
hidpp20: give some structures names
sinowealth: add support for mice with longer configuration data
sinowealth: use proper config size when writing
strangemax (1):
data: Add (old) Logitech Performance Mouse MX
git tag: v0.17
The libratbag project does not generate tarballs for releases, you can
grab one directly from github:
https://github.com/libratbag/libratbag/archive/refs/tags/v0.17.tar.gz
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.freedesktop.org/archives/input-tools/attachments/20221109/bf0965f7/attachment.sig>
More information about the Input-tools
mailing list