Yaroslav Chvanov
072c1845b2
fixup! sinowealth: read profile count from the device file
2023-03-07 05:38:31 +03:00
Yaroslav Chvanov
d658dba612
sinowealth: check if ButtonCount field in device file is correct
...
Fixes such scenario:
Set ButtonCount to -1.
Start libratbag.
Watch sun burn.
2023-03-07 05:35:17 +03:00
Yaroslav Chvanov
17d869d5bf
libratbag-data: set fallback value in the same place as the proper value
2023-03-07 05:35:17 +03:00
Yaroslav Chvanov
fd6e693e88
sinowealth: don't try to live through errors while committing
2023-03-07 05:35:17 +03:00
Yaroslav Chvanov
e712b4f1eb
sinowealth: fix logging using wrong member
2023-03-07 05:35:17 +03:00
Yaroslav Chvanov
a1e2159a4f
sinowealth: allow up to three profiles
2023-03-07 05:35:17 +03:00
Yaroslav Chvanov
b39f2794cb
sinowealth: conditionally enable writing profile-switching bindings
2023-03-07 05:35:16 +03:00
Yaroslav Chvanov
a8320f7eb7
sinowealth: use early return
2023-03-07 05:35:16 +03:00
Yaroslav Chvanov
59d85e0bf8
sinowealth: change "profile-up" button binding to cycle
...
I can't explain this, I'm SURE it wasn't cycling before and was just
getting stuck on the highest profile. What?
2023-03-07 05:35:16 +03:00
Yaroslav Chvanov
26cc246a4c
sinowealth: read profile count from the device file
2023-03-07 05:35:16 +03:00
Yaroslav Chvanov
dfd9be05ab
sinowealth: add "cycle LED modes" binding to unknown
2023-03-07 03:38:22 +03:00
Yaroslav Chvanov
fd3ce088b0
sinowealth: make an error message less generic
2023-03-07 03:30:45 +03:00
Yaroslav Chvanov
8fdf0de849
sinowealth: rename MAX to the variable with maximum profile count
...
It can go UP TO this count, it's not necessarily this number.
2023-03-07 03:19:41 +03:00
Yaroslav Chvanov
d2ee857d05
sinowealth: add and use profile count in drv_data
2023-03-07 03:18:53 +03:00
Yaroslav Chvanov
40e1785bcc
sinowealth: check for device compatibility as soon as possible
2023-03-07 03:13:23 +03:00
Yaroslav Chvanov
9a0972891a
sinowealth: update the comment about profile count
2023-03-07 03:04:53 +03:00
Yaroslav Chvanov
224985e28c
sinowealth: add command IDs for the third profile
2023-03-07 02:55:09 +03:00
Yaroslav Chvanov
52e21d767d
libratbag: take constant pointers where possible
2023-03-07 00:12:09 +03:00
Yaroslav Chvanov
364948c32a
libratbag: remove fall back for Logitech devices
...
This should be unreachable because we `Driver` field must be set in
device files, otherwise they are ignored. Our tests also catch this.
Anyway, it's always better to be explicit about this.
2023-03-06 23:44:06 +03:00
Yaroslav Chvanov
e9604305d1
libratbag-data: use the dpi_list_free helper
2023-03-06 23:42:31 +03:00
Yaroslav Chvanov
2734bc17de
libratbag-util: make dpi_list_free() be able to take NULL
...
free() can take NULL without errors, and so should such helper.
2023-03-06 23:41:40 +03:00
Yaroslav Chvanov
2a356736f7
Fix drivers making profiles dirty while probing
...
Fixes drivers calling public API functions which should only be called
by the consumers of the library. The real problem here is that we don't
have a clear separation between driver API and public API.
This is just a simple search and replace, so there be more such things.
2023-03-05 16:32:03 +03:00
Yaroslav Chvanov
822f37a68c
libratbag: check if profile is dirty in sanity check
2023-03-05 16:32:03 +03:00
Yaroslav Chvanov
1df7316195
libratbag: check if driver supports committing
...
There could be segmentation faults with the openinput driver.
2023-03-05 16:32:03 +03:00
Yaroslav Chvanov
3e42349daa
libratbag: add API for checking if profile is dirty
2023-03-05 13:26:27 +03:00
Yaroslav Chvanov
9f031e58a1
libratbag: fix profile not becoming dirty on active profile switch
2023-03-05 13:25:53 +03:00
Yaroslav Chvanov
4a0d906092
sinowealth: add support for PMW3212 sensor
...
Not tested if it needs off-by-one adjustment like some other sensors do.
Although it could've been an ideal opportunity to add support for all of
the possible sensors, I didn't do it for the same reason.
2023-03-05 05:39:40 +03:00
Yaroslav Chvanov
53f09ed8c7
sinowealth: add more debug logging for easier device file creation
2023-03-05 05:39:40 +03:00
Yaroslav Chvanov
f96c5e2499
sinowealth: fix incorrect placement of sensor_type in config data
...
Oh wow.
2023-03-05 05:39:40 +03:00
Yaroslav Chvanov
84e8e63752
libratbag: don't apply active profile change until committing
2023-03-04 04:07:32 +03:00
Yaroslav Chvanov
382df65a5d
sinowealth: implement debounce time reading/writing
2023-03-02 03:01:06 +03:00
Kyoken
51edc2967b
add angle snapping and debounce
2023-03-02 02:59:42 +03:00
Yaroslav Chvanov
f6a3cd74bf
gskill: add back button type button actions
...
Regression since 5548da21d3 .
However I'm almost 100% sure this displays incorrect mouse buttons.
2023-03-01 20:48:48 +03:00
Yaroslav Chvanov
bc05935322
sinowealth: use the first profile if active profile index is too high
...
It seems like some devices now do have several profiles support enabled
officially. We failed to probe such mice if they have had non-first
profile as active. This fixes it.
2023-03-01 03:27:02 +03:00
Yaroslav Chvanov
fb5995a731
sinowealth: get rid of profile cache
...
This just duplicates data between libratbag and the driver.
2023-03-01 03:27:02 +03:00
Yaroslav Chvanov
b92645c373
sinowealth: edit a note about active profile index to be more clear
2023-03-01 03:27:02 +03:00
Yaroslav Chvanov
08d7c6997d
sinowealth: move active profile index and debounce time getting to init
...
They were out of place being directly in the `probe` function.
Also, this will make more sense once we add an API for changing debounce
times.
2023-03-01 03:26:15 +03:00
Yaroslav Chvanov
9ec8c728cd
sinowealth: add missing new-line in a log message
2023-03-01 03:25:04 +03:00
Yaroslav Chvanov
085274678f
sinowealth: don't change active profile while probing
...
Official configuration utilities did this while probing if I remember
correctly, but it's not actually necessary.
2023-03-01 03:22:32 +03:00
Yaroslav Chvanov
5ab018df79
libratbag: remove everything related to the deprecated ratbag_led_type
2023-02-25 14:05:03 +03:00
Yaroslav Chvanov
87f1409b7a
test: remove usage of the deprecated LED type field
2023-02-25 14:02:37 +03:00
Yaroslav Chvanov
f0f0cc8843
sinowealth-nubwo: remove usage of the deprecated LED type field
2023-02-25 13:59:23 +03:00
Yaroslav Chvanov
cbf09dac75
libratbag-data: don't parse LedTypes from device files
2023-02-25 13:59:23 +03:00
Yaroslav Chvanov
311df4e78e
G300: remove usage of the deprecated LED type field
2023-02-25 13:56:50 +03:00
Yaroslav Chvanov
a56ed6f1d8
roccat-kone-emp: remove usage of deprecated LED types
2023-02-25 13:36:21 +03:00
Yaroslav Chvanov
741b5f80e0
hidpp20: remove usage of deprecated LED types
2023-02-25 13:33:56 +03:00
Yaroslav Chvanov
ecdcfc1c34
steelseries: remove usage of deprecated LED type
2023-02-25 13:33:23 +03:00
Yaroslav Chvanov
82f0ed2aa1
G600: remove usage of deprecated LED types
2023-02-25 13:32:30 +03:00
Yaroslav Chvanov
22020330fb
sinowealth: remove usage of deprecated LED types
2023-02-25 13:32:12 +03:00
Yaroslav Chvanov
2edeefaaa0
asus: remove usage of deprecated LED types
2023-02-25 13:31:38 +03:00