Yaroslav Chvanov
9f4789f874
libratbag 0.18
2024-09-24 19:00:05 +03:00
Yaroslav Chvanov
7e1c7b3c7d
release.sh: use bash from PATH in shebang
...
Fixes NixOS.
2024-09-24 19:00:05 +03:00
Yaroslav Chvanov
3bf556fb69
ratbagd: format with ruff format
2024-09-24 18:59:58 +03:00
Odd Eirik Nes
52dff63a64
data: add an additional usb identifier for Logitech G733
2024-09-24 15:59:11 +00:00
Yaroslav Chvanov
1c9662043f
ratbagctl: use correct type hint for def main
...
Fixes: 34217a752b ("Update ratbagctl.test")
2024-06-04 18:52:37 +03:00
Yaroslav Chvanov
6f5470249d
ratbagctl: remove unused imports
2024-06-04 18:50:12 +03:00
Yaroslav Chvanov
4845cc901f
ratbagctl: fix Ruff warnings
2024-06-04 18:43:32 +03:00
Yaroslav Chvanov
8444ceb638
libratbag: remove FIXME for simple key action modifiers
...
Macros can be used for that instead.
2024-03-05 20:07:36 +03:00
Yaroslav Chvanov
1c4ef242fc
sinowealth: use existing libratbag helper for converting macro to raw
2024-03-05 20:02:53 +03:00
koliwbr
cf15a6e65d
data: add support for Mad Dog GM905
2024-02-27 19:16:38 +03:00
Yaroslav Chvanov
20962d093d
ratbagc: fix new Ruff lints
...
Broke with Ruff v0.2.
- SIM401 Use `self._devices.get(id, None)` instead of an `if` block
- SIM113 Use `enumerate()` for index variable `i` in `for` loop
- Add type hint for Ratbagd._devices
2024-02-27 19:09:23 +03:00
Yaroslav Chvanov
e31338f081
ci: update linter settings format for ruff
...
Fixes:
> warning: The top-level linter settings are deprecated in favour of
> their counterparts in the `lint` section`.
2024-02-27 19:08:36 +03:00
Daniel Levi-Minzi
a52ffcdb45
add rog harpe ace wireless
2024-01-18 17:03:17 -05:00
Yaroslav Chvanov
79bb107634
ratbagd: fix typo
2024-01-14 02:58:18 +03:00
Yaroslav Chvanov
21373d8c4a
sinowealth: fix lift-off distance reading integer overflow
...
Add same safety checks for it and angle snapping setting living near it.
Also log if something else is found in those buffers.
2024-01-14 02:58:18 +03:00
Yaroslav Chvanov
6c668d1f48
sinowealth: fix typos and reformat
2024-01-14 02:52:07 +03:00
Yaroslav Chvanov
8591540d03
sinowealth: add report rate cycling key mapping
2024-01-14 02:52:06 +03:00
Yaroslav Chvanov
d62984220b
driver-hidpp20: remove unused static function
...
Fixes warning about unused function hidpp20drv_current_profile.
Also, it looks like it was missing 'rc == 0' check at the end.
2024-01-14 02:52:06 +03:00
Yaroslav Chvanov
fbd50bc241
ratbagd-profile: cap minimum report rate to 125
...
Fixes the sanity check part of #1563 .
2024-01-14 02:52:06 +03:00
Michał Lubas
2d7b4c10d1
Add a delay before dbus sync in ratbagctl.test
2024-01-14 02:49:18 +03:00
Michał Lubas
0204289704
meson.build: Don't pass a file to str.format
2024-01-14 02:48:08 +03:00
Michał Lubas
27b0d4a2d9
Replace removed imp module with importlib
2024-01-14 02:48:08 +03:00
Michał Lubas
34217a752b
Update ratbagctl.test
2024-01-14 02:48:02 +03: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
Yaroslav Chvanov
22ddb717aa
test: format receiver IDs as hex numbers
...
Fixes the receiver test not working basically ever.
Fixes #1558 .
2023-11-24 19:14:40 +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
Yaroslav Chvanov
4a00c06351
build: remove Coverity work-around
...
Coverity hasn't been used in a long while, by their web-site [1], last
analyzing was done in 2019-02 - over 4 years ago.
2023-09-25 22:39:58 +03:00
Yaroslav Chvanov
ec246cd18c
build: move rbtree into a subdirectory
2023-09-25 22:37:08 +03:00
Yaroslav Chvanov
0d2ef30e41
steelseries: remove an unneeded import
2023-09-25 22:27:50 +03:00
Yaroslav Chvanov
a458e40e7f
sinowealth: add a note about a bit mask
2023-09-25 22:27:50 +03:00
Yaroslav Chvanov
dd573b164f
sinowealth: put a number into a const
2023-09-25 22:27:50 +03:00
Yaroslav Chvanov
f08faac63d
libratbag-util: add const correctness
2023-09-25 22:27:50 +03:00
Yaroslav Chvanov
8e07821ffe
libratbag-data: fix narrowing conversions
2023-09-25 22:27:49 +03:00
Yaroslav Chvanov
8c2570b30b
libratbag-hidraw: add const correctness
2023-09-25 22:27:49 +03:00
Yaroslav Chvanov
1f3dea486d
libratbag: add a bit of const correctness
2023-09-25 22:27:49 +03:00
Yaroslav Chvanov
6a7eff8aa1
hidpp20: remove an unused variable
2023-09-25 22:25:12 +03:00
Yaroslav Chvanov
125090c524
ratbagd: show version when starting
...
Fixes #1530 .
2023-09-25 20:28:11 +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
Yaroslav Chvanov
d0c34bdbe9
sinowealth: write simple enough macros as key actions
2023-09-25 18:59:35 +03:00
Yaroslav Chvanov
13a7be878b
sinowealth: change some default switch cases, comments and code style
2023-09-25 18:58:47 +03:00
Yaroslav Chvanov
4c68f71616
sinowealth: handle errors in sinowealth_button_set_key_action
2023-09-25 18:58:09 +03:00
Yaroslav Chvanov
e5ebce50ff
sinowealth: handle errors in sinowealth_update_macro_events_from_action
2023-09-25 18:57:19 +03:00
Yaroslav Chvanov
874f32f212
sinowealth: make report rates list const
2023-09-25 18:56:38 +03:00
Yaroslav Chvanov
2b878fd06a
libratbag: drop everything related to simple key action modifiers
...
Macros can be used for that instead, drivers can adapt them as needed.
Simple key actions will stay here for now, but I plan to completely
replace them with macros eventually.
2023-09-25 18:55:12 +03:00
Yaroslav Chvanov
d155bd27ec
libratbag: refactor ratbag_action_macro_num_keys()
...
Also use a helper for checking modifiers, this will be handy for
drivers.
2023-09-25 18:55:12 +03:00
Yaroslav Chvanov
068a34c1dc
doc: don't say that report rate is related to resolutions
2023-09-25 18:55:11 +03:00
Yaroslav Chvanov
e2f3ac8925
doc: remove an outdated section from IsDisabled field of Resolution
2023-09-25 18:55:11 +03:00
Yaroslav Chvanov
df7be31938
doc: remove leftover docs generators for libratbag-enums
...
Unused since c8c1c63531 .
2023-09-25 18:55:11 +03:00
Yaroslav Chvanov
cf87e57aef
doc: fix ActionTypes
2023-09-25 18:55:11 +03:00
Kyoken
bad8dd7ba7
asus: warn on unknown key codes
2023-09-19 18:17:46 +03:00
Yaroslav Chvanov
e3cf227019
ratbagctl: ignore a Ruff f-string formatting warning (UP032)
...
I think we're better off ignoring the warning here (instead of repeating
the same argument like 10 times).
Fixes tests failing because UP032 was extended in Ruff (and this has
happened before). Pinning Ruff is probably a good idea. (Fixes #1515.)
2023-09-19 18:16:49 +03:00
Yaroslav Chvanov
a4eb09ea6d
ratbagd.py: sync with Piper
...
- Convert strings to f-strings
- Listen and notify about RatabgdProfile.Disabled changes
2023-07-17 18:05:06 +03:00
Yaroslav Chvanov
2311a84339
Use f-strings for formatting
...
Fixes Ruff warnings. Ruff didn't detect these before. Should we pin Ruff
version? 🤔
2023-07-17 00:31:53 +03:00
Ryan Jensen
0b5a95f09e
updating documentation: linux/input.h -> linux/input-event-codes.h
2023-07-08 10:26:07 +03:00
Kyoken
f5e2259da5
asus: fix single profile devices
2023-06-04 18:58:18 +03:00
Yaroslav Chvanov
b1cdf6a4c2
steelseries: ignore the check for HID vendor device
...
Although it does work for some mice and fixes there being several
configurable devices for a single mouse in libratbag, for some mice it
does *not* apply, making them unusable with libratbag.
2023-05-20 11:19:43 +03:00
Yaroslav Chvanov
a121c0227b
steelseries: check for settings reading errors
2023-05-20 11:18:20 +03:00
Yaroslav Chvanov
4240e067a9
openinput: return early instead of making an error-prone zero-sized VLA
...
Fixes a clang-analyze warning.
2023-05-20 11:01:17 +03:00
Yaroslav Chvanov
cf202eeeca
driver-hidpp20: zero initialize a struct
...
This fixes a clang-analyze warning about uninitialized value getting
stored later.
2023-05-20 10:56:55 +03:00
Yaroslav Chvanov
4d6f80de01
liblur: check return value instead of comparing the out_ptr
...
Fixes a clang-analyze warning for a dead assignment.
2023-05-20 00:15:55 +03:00
Yaroslav Chvanov
b717f946ef
sinowealth-nubwo: idiomatically zero initialize a struct
2023-05-20 00:12:46 +03:00
Yaroslav Chvanov
cfab554ea8
sinowealth-nubwo: remove trailing whitespace
2023-05-20 00:12:34 +03:00
Yaroslav Chvanov
b7b9749901
sinowealth-nubwo: correctly use an attribute
...
This erroneously declared it with name `__packed__` instead of using it
as an attribute.
It doesn't seem like it changes struct's size, but it has no
static_assert on it so we can't be 100% sure.
2023-05-20 00:10:33 +03:00
Yaroslav Chvanov
bb67e9b54e
sinowealth-nubwo: fix incorrect firmware version getting error check
...
If by any chance returned `size` was `0`, it would erroneously return 0,
which would do an uninitialized pointer dereference in
sinowealthnubwo_probe().
This fixes a convoluted warning by clang-analyze.
2023-05-19 23:55:21 +03:00
Yaroslav Chvanov
9383f63c04
steelseries: add missing newlines to logging
2023-05-19 23:18:32 +03:00
Yaroslav Chvanov
8c220cb1a8
steeseries: make an array static const
2023-05-19 22:57:12 +03:00
Yaroslav Chvanov
9b36ff7dd1
steelseries: make most of implicit conversions explicit
...
Did not fix brightness and LED color, they deserve being changed on
libratbag side.
2023-05-19 22:57:12 +03:00
Yaroslav Chvanov
ab4504d3ed
steelseries: fix narrowing conversions
2023-05-19 22:57:12 +03:00
Yaroslav Chvanov
d4a35f341b
steelseries: don't define variables on a single line
2023-05-19 22:57:12 +03:00
Yaroslav Chvanov
ea5ca29aa2
steelseries: don't use reserved underscore identifiers
2023-05-19 22:57:12 +03:00
Yaroslav Chvanov
6fcac8a360
steelseries: simplify loop breaking
2023-05-19 22:57:11 +03:00
Yaroslav Chvanov
6e2550ac51
steelseries: add commit error logging
2023-05-19 22:57:11 +03:00
Yaroslav Chvanov
bd65f7f461
steelseries: don't use else after return
2023-05-19 21:50:14 +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
70f2e96a66
asus: check mouse in probe, fix asus status code
2023-03-31 09:55:19 +03:00
Kyoken
fdf9c3ce7e
data: fix asus chakram x
2023-03-31 00:00:15 +03:00
Yaroslav Chvanov
d82821fd62
sinowealth: show a more detailed message for unknown mice
...
The string may be a bit too long, but I still think it's a good idea to
guide people in the right direction.
2023-03-19 03:07:43 +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
44279ddda3
shared-macro: make startswith() return a const char*
...
The supplied arguments are const, and as such the return type which is
derived from the arguments must also be const.
2023-03-19 02:39:30 +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
4b936bf478
test: add test for sinowealth driver sections in device files
2023-03-19 01:51:21 +03:00
Yaroslav Chvanov
2522e4ed20
build: remove redundant build targets for tests
...
Initially I made them so that you can run them separately to see their
output, however, this can be done with meson out of the box. E.g.,
replace:
`ninja -C builddir python-black-check`
with
`meson test -v -C builddir python-black-check`.
2023-03-19 01:30:10 +03:00
halting
b137c61b9f
Revert "g300: use the correct step size"
...
This reverts commit 20b573668e .
200-2500 DPI range and 50 DPI step don't works as expected on Linux.
2023-03-18 18:03:14 -03:00
Yaroslav Chvanov
cb196e16bb
libratbag: don't allow disabling active profile
2023-03-09 18:33:02 +03:00
Yaroslav Chvanov
d259da5d42
test: check that active profile can't be disabled
...
This is failing right now.
2023-03-09 18:33:02 +03:00
Yaroslav Chvanov
115ee47787
libratbag: don't allow setting disabled profile as active
2023-03-09 18:33:02 +03:00
Yaroslav Chvanov
890d8313fd
test: check that disabled profile can't made active
...
This is failing right now.
2023-03-09 18:31:38 +03:00
Yaroslav Chvanov
6e06fe7245
tools: fix printing of macros with buttons in them
...
As the fields are not always keys, also don't strip the first four
symbols of the string.
(as it's not always obvious what the stripped string can be, for example
BTN_0 and KEY_0).
2023-03-09 17:07:28 +03:00
Yaroslav Chvanov
1ffbae54a7
ratbagd: change type of a variable to fix stack smashing
...
sd-bus requires an int variable to be passed to SD_BUS_TYPE_BOOLEAN
calls, see man sd_bus_message_read (3).
We have had an issue of the same sort recently in
77fcaf6d28 which was in some freshly new
code, but this time it's something we have been shipping for a while.
2023-03-08 19:34:28 +03:00
Yaroslav Chvanov
072c1845b2
fixup! sinowealth: read profile count from the device file
2023-03-07 05:38:31 +03:00
Yaroslav Chvanov
2f5a7a5628
data: add SinoWealth driver to the example device file
2023-03-07 05:35:17 +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
ca7d4f78fc
data: enable second profile for T-Dagger Imperial T-TGM310
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
3b7fc7a662
ratbagctl: show if a profile is dirty
2023-03-07 00:31:10 +03:00
Yaroslav Chvanov
c4ee9d707d
ratbagd.py: sync with Piper
...
- Fix a regression of profile not getting dirty after property changes.
- Add `notify` signals for more things.
- Do some minor refactoring.
2023-03-07 00:23:14 +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
44af3f145d
ratbagd.py: use the IsDirty property of the DBus API
2023-03-05 13:39:33 +03:00
Yaroslav Chvanov
f1118b5b64
ratbagd: add IsDirty property to profiles
2023-03-05 13:39:33 +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
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
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
Matthias Bach
6a07d0ec9c
build: install ratbagd into sbindir
...
Ratbagd requires to be run by root. It should thus live in the system binary
directory.
2023-03-04 22:00:02 +03:00
Yaroslav Chvanov
84e8e63752
libratbag: don't apply active profile change until committing
2023-03-04 04:07:32 +03:00
Yaroslav Chvanov
a3f0ea9a52
tools: skip linter checks if linters are not installed
2023-03-04 03:37:31 +03:00
Yaroslav Chvanov
4b8ac177d1
tools: print errors to stderr
2023-03-04 03:34:12 +03:00
Yaroslav Chvanov
0e3f909264
ratbagd.py: add back .keys() calls on all GLib.Variant
...
This causes crashes on Piper side.
2023-03-03 23:37:26 +03:00
Kyoken
3f1e0f09cc
ratbagd.py: don't mark a profile as dirty on active profile switch
2023-03-03 15:40:06 +03:00
Yaroslav Chvanov
b0d3f86287
build: add a missing dependency to a test
...
This fixes tests failing if you run `meson test` without running a
`meson compile` first.
2023-03-02 14:24:57 +03:00
Yaroslav Chvanov
a9545b2b63
test: use a simply assert instead of using a helper
2023-03-02 14:05:37 +03:00
Yaroslav Chvanov
1d24aa71d3
build: use project-local build and source directories
...
I think it should be possible to embed libratbag as a meson subproject
now (not tested).
2023-03-02 13:58:21 +03:00
Yaroslav Chvanov
a00531fe8b
lint: exit early if git ls-files doesn't find anything
2023-03-02 13:48:03 +03:00
Yaroslav Chvanov
265e1cee1a
test: fix traceback.print_exception() usage on older Python versions
2023-03-02 05:48:40 +03:00
Yaroslav Chvanov
e7a738086c
lint: enable flake8-return
2023-03-02 05:30:31 +03:00
Yaroslav Chvanov
40fb7430db
lint: enable flake8-simplify
2023-03-02 05:30:30 +03:00
Yaroslav Chvanov
27d74ae0f0
Use 'a != b' instead of 'not a == b'
2023-03-02 05:30:30 +03:00
Yaroslav Chvanov
80fa7f5b8f
Use 'key in dict' instead of 'key in dict.keys()'
2023-03-02 05:30:30 +03:00
Yaroslav Chvanov
78b56d6ea0
tools: make all exceptions types have Error as the sufix
2023-03-02 05:30:30 +03:00
Yaroslav Chvanov
e84a56c424
test: don't return anything from main()
2023-03-02 04:32:40 +03:00
Yaroslav Chvanov
04b77a3b9b
test: raise ValueError instead of AssertionError manually
2023-03-02 04:32:40 +03:00
Yaroslav Chvanov
57323ac978
ratbagctl: remove unnecessary else
2023-03-02 04:32:40 +03:00
Yaroslav Chvanov
8455c3ea71
ratbagctl: use standard exception types
2023-03-02 04:32:40 +03:00
Yaroslav Chvanov
3252d57b50
ratbagctl: fix an incorrect type hint
2023-03-02 04:32:40 +03:00
Yaroslav Chvanov
4b506a4ece
lint: enable flake8-pie lints
2023-03-02 04:32:40 +03:00
Yaroslav Chvanov
7551bdaeff
tools: remove unnecessary pass statements
2023-03-02 04:32:40 +03:00
Yaroslav Chvanov
ef2049643c
ratbagctl: use textwrap.indent instead of inventing the wheel ourselves
2023-03-02 04:32:39 +03:00
Yaroslav Chvanov
681153ad4d
doc: add angle snapping and debounce time
2023-03-02 03:01:06 +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
37628da52f
Remove flake8 configuration file
...
We now use black and ruff instead.
2023-03-01 23:52:11 +03:00
Yaroslav Chvanov
1b2259a8cb
ratbagctl: rename a member function to prevent incorrect overriding
2023-03-01 23:01:10 +03:00
Yaroslav Chvanov
211551ff5b
ratbagctl: don't reuse a variable for different types
2023-03-01 23:01:10 +03:00
Yaroslav Chvanov
6c5a15172b
ratbagctl: make an argument non-optional
2023-03-01 23:01:10 +03:00
Yaroslav Chvanov
e43a7a279b
ratbagctl: simplify an expression to make mypy understand it
2023-03-01 23:01:10 +03:00
Yaroslav Chvanov
3be064aef0
ratbagctl: add type hints where possible
...
We use the dynamic nature of Python for parsing command line arguments,
which makes it nearly impossible to type hint everything.
2023-03-01 23:01:10 +03:00
Yaroslav Chvanov
9b45b2ac03
tools: fix "line too long" warnings where possible
2023-03-01 22:18:41 +03:00
Yaroslav Chvanov
2bf349459b
tools: ignore a false positive warning
2023-03-01 22:17:32 +03:00
Yaroslav Chvanov
57ac72077f
tools: don't use complex types as default function arguments
2023-03-01 22:17:32 +03:00
Yaroslav Chvanov
a192088f13
tools: chain exceptions within exceptions
2023-03-01 22:17:32 +03:00
Yaroslav Chvanov
fa67024110
tools: fix ambiguous variable names
...
These one-letter variable names really are bad.
A good illustration of this is resolutions being assigned to the
variable where Ratbagd was, both of such variables were always names
just "r".
2023-03-01 22:17:32 +03:00
Yaroslav Chvanov
2ba49ba185
test: fix ambiguous variable names
2023-03-01 22:17:31 +03:00
Yaroslav Chvanov
a66e6d2066
Automatically fix Ruff warnings
2023-03-01 22:17:31 +03:00
Yaroslav Chvanov
3aa82d2b35
build: add Ruff for Python code linting
2023-03-01 22:17:31 +03:00
Yaroslav Chvanov
49146638a6
Format Python code
2023-03-01 22:17:31 +03:00
Yaroslav Chvanov
c723490fc3
build: add Python code formatting with black
...
NOTE: this will fail tests as of this commit, as the code is not
formatted yet.
We didn't explicitly specify a minimum Python version before that, so I
used v3.7 here, because it's the minimal version Ruff - a Python linter
I will add in the next commit - supports.
2023-03-01 22:17:31 +03:00
Yaroslav Chvanov
bc9fa92667
tools: prevent a syntax error for code editors and linters
2023-03-01 22:17:31 +03:00
Yaroslav Chvanov
41b55a1aff
Rename Python files throughout the project to have .py* in the suffix
...
This just makes it more clear what these files are without opening them.
2023-03-01 22:17:31 +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
f9266496b0
ratbagctl: check if there is an active resolution
2023-03-01 03:59:58 +03:00
Yaroslav Chvanov
26cc2c7138
ratbagctl: check if there is an active profile
2023-03-01 03:59:19 +03:00
Yaroslav Chvanov
11f1ba9f37
tools: don't try to return the first resolution on error
2023-03-01 03:58:58 +03:00
Yaroslav Chvanov
fc80221187
tools: don't try to return the first profile on error
...
This may make an exception.
2023-03-01 03:57:54 +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
274f19e84b
test: don't allow the deprecated LedTypes field
2023-02-25 13:39:47 +03:00
Yaroslav Chvanov
ac999da26c
data: remove usage of the deprecated LED type field
2023-02-25 13:39:41 +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
Yaroslav Chvanov
84626322c7
tools: remove helpers for deprecated LED types
2023-02-25 13:30:06 +03:00
Yaroslav Chvanov
11fa70ad5c
hidpp20: remove unused LED type mappings
2023-02-25 13:28:52 +03:00
Yaroslav Chvanov
73b9b2da3a
hidpp20: remove usage of the deprecated LED type in the driver
2023-02-25 13:27:17 +03:00
Yaroslav Chvanov
0c8beb6b9c
libratbag: remove support for the deprecated button type field
2023-02-25 13:27:17 +03:00
Yaroslav Chvanov
6e3011d64f
hidpp20: remove unused physical mapping button type
...
The `name` field does seem useful for debugging, so I left it in place.
2023-02-25 13:27:17 +03:00
Yaroslav Chvanov
1b00f7031a
hidpp20: don't set the deprecated button type field in the driver
2023-02-25 13:23:29 +03:00
Yaroslav Chvanov
5548da21d3
gskill: remove support for the deprecated button type field
...
In this driver it seems like it was used for something. Let's hope it
was something optional.
2023-02-25 13:11:37 +03:00
Yaroslav Chvanov
85cab665b5
tools: remove helpers for the deprecated ratbag_button_type
2023-02-25 13:03:37 +03:00
Yaroslav Chvanov
53d1eefa1c
test: remove support for the deprecated button type field
2023-02-25 13:02:46 +03:00
Yaroslav Chvanov
6cadc70caf
steelseries: remove support for the deprecated button type field
2023-02-25 13:01:24 +03:00
Yaroslav Chvanov
ae2b0aa80b
roccat: remove support for the deprecated button type field
2023-02-25 13:01:16 +03:00
Yaroslav Chvanov
05652e554c
roccat-kone-pure: remove support for the deprecated button type field
2023-02-25 13:01:08 +03:00
Yaroslav Chvanov
a364076919
roccat-kone-emp: remove support for the deprecated button type field
2023-02-25 13:00:53 +03:00
Yaroslav Chvanov
d460e48795
G600: remove support for the deprecated button type field
2023-02-25 13:00:15 +03:00
Yaroslav Chvanov
018bd6e43e
G300: remove support for the deprecated button type field
2023-02-25 13:00:09 +03:00
Yaroslav Chvanov
64dbfaa14a
hidpp10: remove support for the deprecated button type field
2023-02-25 13:00:00 +03:00
Yaroslav Chvanov
515e634e87
gskill: remove support for the deprecated button type field
2023-02-25 12:59:26 +03:00
Yaroslav Chvanov
846a11ad58
etekcity: remove support for the deprecated button type field
2023-02-25 12:58:41 +03:00
Yaroslav Chvanov
54b55df43b
roccat: don't enable key-type button actions
...
Not actually implemented.
2023-02-25 12:51:43 +03:00
Yaroslav Chvanov
40b477c2e3
roccat-kone-pure: don't enable key-type button actions
...
Not actually implemented.
2023-02-25 12:51:28 +03:00
Yaroslav Chvanov
f3052c5ff1
roccat-kone-emp: don't enable key-type button actions
...
Not actually implemented.
2023-02-25 12:51:00 +03:00
Yaroslav Chvanov
fbc4296c3b
etekcity: don't enable key-type button actions
...
Trivially implementable, but not supported as-is.
2023-02-25 12:47:54 +03:00
Yaroslav Chvanov
1ea3eafc20
G300: don't enable key-type button actions
...
Trivially implementable, but not supported as-is.
2023-02-25 12:43:07 +03:00
Yaroslav Chvanov
cbc822bd52
steelseries: don't enable key-type button actions
...
Trivially implementable, but not supported as-is.
2023-02-25 12:43:04 +03:00
Yaroslav Chvanov
de5436e9a6
G600: don't enable key-type button actions
...
Trivially implementable, but not supported as-is.
2023-02-25 12:42:50 +03:00
Yaroslav Chvanov
9ec13c2862
tools: write to file directly without using print
2023-02-25 01:03:13 +03:00
Yaroslav Chvanov
3be9f38d2c
tools: remove unused variables
2023-02-25 00:57:18 +03:00
Yaroslav Chvanov
e49c18b909
tools: use with-statements to open files
...
I'll be honest, writing to files with `print` looks weird...
2023-02-25 00:55:53 +03:00
Yaroslav Chvanov
74c2cb686e
test: add explanations to empty excepts
...
And all of them are the same string... This is a bit annoying.
2023-02-25 00:41:23 +03:00
Yaroslav Chvanov
0db55eda25
tools: remove unused arguments
2023-02-25 00:22:07 +03:00
Yaroslav Chvanov
313c34fa98
tools: fix incorrect special method signature
...
Continuation of 62678baca1 .
2023-02-25 00:22:07 +03:00
Yaroslav Chvanov
b275204c87
tools: check snprintf size argument to prevent potential overflow
2023-02-25 00:22:07 +03:00
Yaroslav Chvanov
e9e9d8e3fe
libratbag-util: check the return value of scanf
2023-02-25 00:22:07 +03:00
Yaroslav Chvanov
3730e4d48a
driver-hidpp10: fix variable shadowing
2023-02-24 23:44:01 +03:00
Yaroslav Chvanov
f872b16ef8
driver-hidpp20: fix variable shadowing
2023-02-24 23:44:01 +03:00
Yaroslav Chvanov
2a866aacde
test: fix variable shadowing
2023-02-24 23:44:01 +03:00
Yaroslav Chvanov
33e0c2cacc
hidpp10: fix variable shadowing
2023-02-24 23:44:01 +03:00
Yaroslav Chvanov
80ce0dbf21
sinowealth: remove an incorrect enum member
2023-02-24 23:44:01 +03:00
Yaroslav Chvanov
7731a874d1
ratbagd: don't extract sd_bus when it's given as an argument
2023-02-24 23:44:00 +03:00
Yaroslav Chvanov
b0a9f24afb
test: remove a duplicate import
2023-02-24 23:44:00 +03:00
Yaroslav Chvanov
200fbe5875
hidpp10: fix a faulty error check which prevent macro parsing
2023-02-24 23:44:00 +03:00
Yaroslav Chvanov
5158d80cfa
G600: prevent unused variable usage warning
2023-02-24 23:44:00 +03:00
Yaroslav Chvanov
683b5d752c
G300: prevent unused variable usage warning
2023-02-24 23:44:00 +03:00
Yaroslav Chvanov
1eed280b82
tools: remove an unused function that always raises
...
..unless it's used by some third-party library? Either way, it just
raises an error.
2023-02-24 23:43:33 +03:00
Yaroslav Chvanov
dcdd7be8d8
tools: remove an unnecessary variable definition
2023-02-24 22:46:34 +03:00
Yaroslav Chvanov
62678baca1
tools: fix incorrect special method signature
...
They worked fine nonetheless as we only called these manually.
2023-02-24 22:43:37 +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
Yaroslav Chvanov
4b2b5a2038
ratbagctl: capitalize device type instead of having it in upper case
2023-02-14 16:29:21 +03:00
Julian Kandlhofer
d95328e8cc
change misnamed function name
...
Signed-off-by: Julian Kandlhofer <julian.kandlhofer@gmail.com >
2023-02-14 16:29:20 +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
Yaroslav Chvanov
931ec44ff2
driver-hidpp10: fix integer overflow when profile count is unset
...
Blame C for implicit conversions.
2023-01-27 13:45:13 +03:00
Yaroslav Chvanov
fbdb41b073
hidpp10: return EINVAL instead of aborting
...
While these indicate an obvious error in the caller's code, there is no
need to crash the whole program because of this.
2023-01-27 13:42:32 +03:00
mistepien
6dcd17d340
data: add additional USB id for Logitech G102 (046d:c09d)
2023-01-06 17:45:30 +03:00
Yaroslav Chvanov
f8080865f4
steelseries: save the firmware version in ratbag device
2023-01-03 04:21:41 +03:00
Yaroslav Chvanov
7e91b3a343
sinowealth: save the firmware version in ratbag device
2023-01-03 04:21:07 +03:00
Yaroslav Chvanov
440292fda1
device: add firmware version API
2023-01-03 04:21:07 +03:00
Yaroslav Chvanov
17f8f0516b
libratbag-util: make asprintf_safe() return a char*
2023-01-03 04:21:07 +03:00
Yaroslav Chvanov
7a5b9b4367
Fix typos throughout the codebase
2023-01-03 04:17:44 +03:00
Zebreus
e39d91cb2d
doc: fix typo in readme
2023-01-02 15:27:46 +01:00
Yaroslav Chvanov
75b9bc9843
doc: fix documentation for disabling resolutions
2022-12-26 23:50:51 +03:00
Yaroslav Chvanov
f595c96495
ratbagctl: fix typo
2022-12-26 23:44:48 +03:00
Yaroslav Chvanov
77fcaf6d28
ratbagd: fix stack smashing
...
A regression I introduced while modifying the disableable resolutions
patch.
It went unnoticed, because it only crashes with optimizations enabled.
In my defense, this exception in D-Bus API that boolean messages must
give address of an int and not a bool is a weird peculiarity...
2022-12-26 23:44:45 +03:00
Yaroslav Chvanov
fdb4d65aa4
sinowealth: implement disabled resolutions
2022-12-25 22:54:16 +03:00
Stephan Lachnit
a624c681a3
driver-hidpp20: implement disabled resolutions
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2022-12-25 22:54:16 +03:00
Stephan Lachnit
45118b8fa5
Implement disabled resolutions
...
Implements feature to disable resolutions from a static resolution list.
Updates DBus API and tests accordingly.
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2022-12-25 22:54:16 +03:00
Stephan Lachnit
c99fd654e3
Make order of resolution properties consistent
...
Resolution properties should be in the order (active, default).
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2022-12-25 22:54:16 +03:00
Peter Hutterer
f6bfed4da0
ratbagd: switch Profile.Enabled to Profile.Disabled
...
When a boolean property is optional, the default None value and the False
value both represent a boolean false. So let's rename the property so that the
boolean values cannot be confused, because None and (Disabled == false) have
the same meaning (profile is enabled).
This is an API break.
Fixes #756
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2022-12-25 22:54:16 +03:00
Yaroslav Chvanov
e32145ecc7
ratbagd.py: fix changes to IsActive potentially not being notified about
2022-12-23 23:41:30 +03:00
Yaroslav Chvanov
2031e169ab
ratbagd.py: make the profile dirty after changing report rate
...
This fixes the "Apply" button being disabled after changing report rate
in Piper (once this file gets synchronized there).
2022-12-23 23:40:55 +03:00
Yaroslav Chvanov
6e406d5127
ratbagc: add NONE as allowed action type
...
Fixes button disabling not working with ratbag-command.
2022-12-23 04:27:43 +03:00
Yaroslav Chvanov
d6c5f18362
Revert "tools: convert our enum equivalents to python enums"
...
This reverts commit 95243307ce .
I don't see any reason it has been there at all, and it also breaks
ratbag-command because of probably mistakenly removed Macro.NONE.
2022-12-23 04:26:40 +03:00
Yaroslav Chvanov
876e0cc642
sinowealth: enable button disabling support
2022-12-23 04:01:54 +03:00
Yaroslav Chvanov
56e0ee9279
ratbagctl: check if disabling buttons is supported
2022-12-23 04:01:29 +03:00
Yaroslav Chvanov
9e12c5874c
libratbag: check if disabling buttons is supported
2022-12-23 04:01:09 +03:00
Yaroslav Chvanov
63f8e2c005
ratbagd: fix error handling in ratbagd_button_set_none()
2022-12-23 04:00:13 +03:00
Filipe Laíns
c4cf24308a
hidpp20: enable disabling buttons on onboard profiles (0x8100)
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2022-12-23 03:38:19 +03:00
Peter Hutterer
39b8f2bce2
ratbagd: map disabling a button to the existing action type None
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2022-12-23 03:38:18 +03:00
Peter Hutterer
cdf19a904e
libratbag: Fix the action type NONE handling
...
Add the required hooks which were largely missing, remove a check that was a
copy/paste error and add a test button.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2022-12-23 03:34:33 +03:00
Peter Hutterer
95243307ce
tools: convert our enum equivalents to python enums
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2022-12-23 03:34:31 +03:00
Yaroslav Chvanov
9c50116646
sinowealth: enable profile cycling mapping with a preprocessor macro
...
They suck, but we already do have the SINOWEALTH_NUM_PROFILES thing,
let's at least give it all possible capabilities if it is used.
2022-12-23 03:18:13 +03:00
Yaroslav Chvanov
ac86673006
sinowealth: further deduplicate the code of reading config data
2022-12-23 03:18:13 +03:00
Yaroslav Chvanov
5d1b529f4c
sinowealth: explain additional profiles and their pit-falls
2022-12-23 03:18:13 +03:00
Yaroslav Chvanov
9bd9446ce2
sinowealth: add support for writing additional profiles
2022-12-23 03:18:11 +03:00
Yaroslav Chvanov
fe73bb34ef
sinowealth: add support for button actions in macros
2022-12-23 02:52:00 +03:00
Yaroslav Chvanov
0bdd0e71ba
sinowealth: improve error handling
...
- No more arbitrary error codes, use POSIX error codes.
- Bubble errors up.
- Add strerror() wherever errno is printed.
2022-12-23 02:52:00 +03:00
Yaroslav Chvanov
46711b3624
sinowealth: refactor sinowealth_update_macro_from_action()
...
Reading it was giving me head-ache. This still doesn't feel perfect but
it's already better.
2022-12-23 02:52:00 +03:00
Yaroslav Chvanov
c48320134e
sinowealth: fix a missing new line in logging
2022-12-23 02:52:00 +03:00
Yaroslav Chvanov
0da7cc10b0
sinowealth: add support for reading 2 profiles (if a macro is set)
...
For what it's worth, all of this may not even belong in libratbag - this
is never going to be shipped to end users, only if someone modifies the
source code. In other words all of this is basically dead code, it's
just me trying to figure out the internal of SinoWealth devices.
2022-12-23 02:52:00 +03:00
Yaroslav Chvanov
4621e1016a
sinowealth: deduplicate the code of reading configuration data
2022-12-23 02:52:00 +03:00
Yaroslav Chvanov
da92117973
sinowealth: fix a typo
2022-12-23 02:52:00 +03:00
Yaroslav Chvanov
36af0009bd
sinowealth: assert instead of silently ignoring an error
2022-12-23 02:51:59 +03:00
Yaroslav Chvanov
f23f2bfbfb
sinowealth: simply return a bool instead of 0 or 1
2022-12-23 02:51:59 +03:00
Yaroslav Chvanov
007fa34c87
sinowealth: make all casts explicit
2022-12-23 02:51:59 +03:00
Yaroslav Chvanov
a018207728
sinowealth: fix some variable types
2022-12-23 02:51:59 +03:00
Yaroslav Chvanov
e18baf6f36
sinowealth: use non-GNU-specific empty array initializer
2022-12-23 02:51:59 +03:00
Yaroslav Chvanov
991cf92594
sinowealth: print a warning if there are too much events in a macro
2022-12-23 02:51:47 +03:00
Yaroslav Chvanov
a493575daa
test: add device data tests for the steelseries driver
2022-12-22 03:38:31 +03:00
Yaroslav Chvanov
c7e2e13ee0
test: add device data tests for the asus driver
2022-12-22 03:38:25 +03:00
Yaroslav Chvanov
d6b6b0d12c
test: make check_section_driver() a bit more diff-friendly
2022-12-22 03:38:09 +03:00
Yaroslav Chvanov
9450ce18e1
test: increase max DPI in check_dpi_range_str() to 36000
...
o_O
2022-12-22 03:38:06 +03:00
Yaroslav Chvanov
10f03eaf0e
test: fix incorrect character escaping in data-parse-test
2022-12-22 03:04:01 +03:00
Yaroslav Chvanov
8e798c74c9
test: data-parse-test: check all files even if there is an error
2022-12-22 03:03:59 +03:00
Yaroslav Chvanov
c6005b2cb8
test: fix formatting
2022-12-22 02:49:10 +03:00
Yaroslav Chvanov
e2ee8185c2
build: fix data tests not running
...
This will also help with out-of-tree builds.
2022-12-22 02:22:59 +03:00
Yaroslav Chvanov
be79267f9d
test: work-around unsupported Driver section of the sinowealth driver
2022-12-22 02:22:59 +03:00
Yaroslav Chvanov
38d10977b6
test: add wheel to the list of permitted LED types
2022-12-22 02:22:59 +03:00
Yaroslav Chvanov
8a7474b1bd
data: fix missing Driver field
2022-12-22 02:22:29 +03:00
Yaroslav Chvanov
1e4c1d73b8
test: add type hints to data-parse-test
...
This will help us prevent errors like in
41c655090ce9f709db4f7069777741a6b5384d24 in the future.
2022-12-22 02:18:42 +03:00
Yaroslav Chvanov
99bbbfb0b5
test: fix incorrect type of file paths in data-parse-test
...
Seems like the API of pathlib changed at some point.
2022-12-22 02:18:41 +03:00
Yaroslav Chvanov
0b8f4a25b1
tools: put the list of possible button action types into a const
2022-12-22 00:52:05 +03:00
Yaroslav Chvanov
72c1a29f28
ratbagd: fix formatting
2022-12-22 00:52:05 +03:00
Yaroslav Chvanov
9485ab6c1f
ratbagd: use NULL instead of 0 for pointers
2022-12-22 00:52:05 +03:00
Yaroslav Chvanov
3b0ac12cc7
ratbagctl: add an error message if the key supplied to macro is wrong
2022-12-22 00:52:05 +03:00
Kyoken
39b6178d92
fix typo in macro bindings
2022-12-22 00:52:05 +03:00
Kyoken
49b9ad5647
use key name instead of code for binding
2022-12-22 00:52:05 +03:00
Kyoken
434b0537b5
fix ratbag-command key bindings
2022-12-22 00:52:05 +03:00
Kyoken
2eeacc354f
implement key bindings feature
2022-12-22 00:51:59 +03:00
Yaroslav Chvanov
8bacfe9ee6
build: bump ratbagd DBus API version
2022-12-22 00:46:03 +03:00
Yaroslav Chvanov
0f39b0f1e9
asus: use ARRAY_FOR_EACH
2022-12-20 04:44:04 +03:00
Yaroslav Chvanov
8c528b2ec0
asus: make pointer variables const wherever possible
...
Also fixes `ASUS_BUTTON_MAPPING` being duplicated between different
source files if I understand C right.
2022-12-20 04:44:04 +03:00
Yaroslav Chvanov
0656d7896c
libratbag-data: fix formatting
2022-12-20 04:44:03 +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
Kyoken
f9286536f8
asus: fix button mapping type
2022-11-26 00:46:37 +03:00
Kyoken
0cf97d40af
asus: handle undefined buttons
2022-11-26 00:46:37 +03:00
Kyoken
b93900bd91
asus: rename params
2022-11-26 00:46:37 +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
3e5ac899ae
asus: fix building errors
2022-11-26 00:46:37 +03:00
Kyoken
041a8023b8
asus: button mapping reworked
2022-11-26 00:46:32 +03:00
Kyoken
e9470ff6f4
asus: add strix impact 2
2022-11-18 11:52:22 +00:00
Yaroslav Chvanov
e26eac95db
sinowealth: remove now unused button_set_key_action_from_macro
...
I first thought that we could use try to use this instead of
full-fledged macros when possible, but the implementation then is going
to look quite messy, so let's just delete this.
2022-11-18 11:52:07 +00:00
Yaroslav Chvanov
d2586a2344
sinowealth: do an assert instead of graceful internal bug handling
2022-11-18 11:52:07 +00:00
Yaroslav Chvanov
dd609c06a9
sinowealth: fix writing of key button action type
...
It did not work *ever* as the helper function was only called when
action type was `key` but the function checked if it was a `macro`.
2022-11-18 11:52:07 +00:00
Yaroslav Chvanov
925b2a2a0a
libratbag 0.17
2022-11-09 10:43:27 +00:00
Yaroslav Chvanov
df42eeb1ca
CI: update runners to use Node 16
...
Fixes warnings.
2022-11-09 10:43:05 +00:00
Yaroslav Chvanov
aab91b4b11
data: add another SinoWealth Generic Mouse (258a:0029)
2022-11-09 10:42:34 +00:00
Yaroslav Chvanov
c39640d943
asus: fix include order
...
It caused an `implicit function declaration` warning.
2022-10-12 22:16:19 +03:00
Kyoken
0c3cfe71a0
asus: remove extern
2022-10-12 21:20:30 +03:00
Kyoken
dcba13152f
asus driver
2022-10-12 18:11:28 +03:00
Andreas Grosse
61da98ffd4
Add Support for G502 X over USB
2022-10-10 21:39:53 +02:00
PeakKS
98eec0941a
Add support for G502 X Wireless
2022-09-11 19:21:27 -04:00
Yaroslav Chvanov
d8301414c7
libratbag-data: add a missing include
...
To fix `Declaration of X will not be visible outside of this function`
Clang warnings.
2022-08-02 12:12:42 +03:00
Yaroslav Chvanov
a4da425298
sinowealth: move device-specific data out of the driver
...
This moves device data out of the driver into device files. However, a
_single_ device file contains data for _several mice_ at the same time.
The reason for this is that different mice by SinoWealth may use the
same VID:PID pair. This is unfortunate, as we only allow a single
device file a given VID:PID pair.
Also move `sinowealth_led_format` enum into a header file and rename
its constants to fit in outside of the driver.
2022-08-02 12:12:42 +03:00
Yaroslav Chvanov
ea7b4b6821
sinowealth: null-terminate the buffer with firmware version
2022-08-02 12:12:42 +03:00
Yaroslav Chvanov
833468b292
sinowealth: use a constant instead of a magic number
2022-08-02 12:12:39 +03:00
Yaroslav Chvanov
cc954af7a7
steelseries: ensure that device has a version number set
...
Otherwise there would be hard to diagnose errors later on.
2022-08-01 07:55:40 +00:00
Yaroslav Chvanov
213ccce0a8
steelseries: add fallback button and LED count
...
Otherwise if there is a device file without them set, will try to create
UINT_MAX-1 instances of them and obviously fail with an out-of-memory
error.
2022-08-01 07:55:40 +00:00
Linus
bb6ab46a1a
Fix presumed typo
2022-08-01 09:27:27 +10:00
listout
05c5815fb9
Use fprintf instead of error
...
hidpp files were using the error function from error.h header file.
Unfortunately not every libc comes with this particular header file, so
with this patch we won't be requiring to be rely on error function and
use fprintf function.
Thanks to developer Yaroslav Chvanov <staticssleever668> for the
original suggestion
Closes: https://github.com/libratbag/libratbag/issues/1253
Signed-off-by: listout <listout@protonmail.com >
2022-07-29 14:22:05 +00:00
Thomas Weißschuh
0fc6764b47
libratbag-data: fix possible NULL dereferences
...
This can happen when a device has not properly initialized and this
fields have not been set.
2022-07-21 09:09:04 +00:00
Peter Hutterer
07b40316fb
test: add the Bolt receiver C548 to the receiver list
...
Listed here: https://pwr-solaar.github.io/Solaar/devices.html
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2022-06-08 12:23:44 +10:00
Sami Olmari
260e4adffc
Add device-file for Logitech MX Anywhere 3B ( #1313 )
...
This variant stands for Logitech MX Anywhere 3 for Business.
Bluetooth match only, the receiver is not yet supported by the
kernel and the device thus has the receiver's USB id
Signed-off-by: Sami Olmari <sami@olmari.fi >
2022-06-07 10:08:16 +10:00
Ilya Guterman
8c3c6598c3
hidpp20: verbose log the get current profile
2022-06-06 17:20:42 +03:00
Yaroslav Chvanov
1140875cd8
sinowealth: fix all devices being detected as generic device
2022-06-06 20:13:19 +10:00
Yaroslav Chvanov
f87bccb370
sinowealth: add data for Marvo Scorpion G961
...
I did not add the data entry for ratbagd though, as there has been
reported breakage with Ant Esports GM500, which uses the same VID:PID.
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
c1955598fe
sinowealth: note that debounce time command doesn't work on shorter mice
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
d261458cae
sinowealth: limit the resolution to sensor's upper bound
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
ef3822af82
sinowealth: fix crashing on mice with unknown sensors
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
2d8115d2bf
sinowealth: detect sensor type automatically
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
4c102358a2
sinowealth: make device detection less imperative
...
..and rename sensor types along the way:
- Prefix them;
- Fix PMW sensors being named PWM.
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
d133d30f62
sinowealth: add numeric IDs to sensor types
...
These IDs match the ones in SinoWealth's configuration software.
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
16a1028e1d
sinowealth: add sensor type field to configuration data
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
704d5d2e65
sinowealth: decrease minimal configuration size
...
Configuration size on 1007 mice is smaller for sure. With these changes
the driver has been reported to successfully work with Marvo Scorpion
G961.
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
bef26c1890
sinowealth: make dpi_to_raw return 8 bit number
...
It would otherwise get converted implicitly anyway.
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
85241fdd1b
sinowealth: handle RGB_NOT_SUPPORTED explicitly
...
This should technically be unreachable but this is good for code
quality.
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
2dea887d2f
sinowealth: prefix a function name
2022-06-06 07:54:17 +00:00
Yaroslav Chvanov
2004a3c13e
sinowealth: fix a typo
2022-06-06 07:54:17 +00:00
Ilya Guterman
48bccf4c98
hidpp20: fetch active profile index only once
...
currently the active profile index is fetched for each profile,
this adds unnecessary overhead.
change the behavior to fetch the active profile only once during the driver data initialization.
2022-06-06 15:11:02 +10:00
Andreas Schwab
3ea0d44176
meson.build: use valgrind only if available
2022-05-06 15:33:46 +01:00
Ilya Guterman
3e1bc79aac
hidpp20: fix set onboard mode
2022-04-29 01:03:45 +03:00
Yaroslav Chvanov
9715c5c150
libratbag-data: fix a memory leak
...
In driver data of hidpp10 and steelseries drivers `dpi_list` and
`dpi_range` were allocated with calloc, but never got freed.
2022-04-27 22:16:32 +03:00
Yaroslav Chvanov
07f0eafa57
sinowealth: add support for writing macros
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
72f8708e0e
sinowealth: add support for writing key button actions
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
6ac5ba6dbb
sinowealth: add support for changing button mappings
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
45a8fd9ec3
sinowealth: add support for reading button bindings
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
e9dff40258
sinowealth: add types for buttons
...
This button mapping reading and writing support is partially based on a
previous work of @phomes and @enkore. Thank you both very much!
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
94f28df134
sinowealth: set button count from detected device
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
4d646db24f
sinowealth: fix rave lighting mode settings being shifted by one byte
...
Turns out I missed a field a bit lower and made an `unknown` section
bigger to compensate for that.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
e21366e5e5
sinowealth: mark color order on Genesis Xenon 770 as tested
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
21ac98e5f9
sinowealth: fix DPI being off by 100 on PWM3327 sensor
...
Thanks @hrw for testing.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
567d666b96
sinowealth: use a union instead of doing pointer arithmetic on DPI slots
...
This makes the code a bit more self-explaining and less error-prone as
we don't have to think about memory addresses when modifying DPI.
Also fixes several `bugprone-implicit-widening-of-multiplication-result`
clang-tidy warnings.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
b62565da56
sinowealth: fix breathing LED mode on 0027 mice
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
3ff3705dbf
sinowealth: add partial support for reading BREATHING7 lighting mode
...
Only partial as libratbag can only have 1 color in breathing lighting
mode.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
2aa9f012fe
sinowealth: fix active resolution slot reading and writing
...
It turns out the field with active resolution only counts active
resolution slots. This was probably missed before because probably no
one sets for instance slots 1 and 3 but disables slot 2. I already added
a comment explaining this behavior before because I noticed this while
trying to implement this in ratbag-python and be surprised it didn't
work, but I didn't notice that the implementation here was lacking.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
e7cc62a9c8
sinowealth: return an error code instead of doing an assert
...
While I doubt it will actually ever get hit, there is no reason to crash
the whole daemon because of this.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
0608a0156d
sinowealth: don't redundantly unreference a profile
...
Not needed anymore as a `for_each` macro is now used to get profiles.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
3723c5177f
sinowealth: add command ID for putting the device into DFU mode
...
This is not right now and will never be actually used, I put it here
just for the sake of completeness.
2022-04-21 00:37:44 +03:00
Yaroslav Chvanov
9d59c1992a
libratbag: remove now unused deprecated driver methods
2022-04-16 02:24:40 +03:00
Yaroslav Chvanov
ee54001032
roccat-kone-pure: migrate to profile-oriented API
2022-04-16 02:24:40 +03:00
Yaroslav Chvanov
7f0d058b66
roccat: migrate to profile-oriented API
2022-04-16 02:24:40 +03:00
Yaroslav Chvanov
cd2ad37db7
etekcity: only write profile once
2022-04-16 02:24:40 +03:00
Yaroslav Chvanov
d08f1f21b7
etekcity: migrate to profile-oriented API
2022-04-16 02:24:40 +03:00
Yaroslav Chvanov
2d21c0dac1
test: migrate to profile-oriented API
2022-04-16 02:24:40 +03:00
Peter Hutterer
7016b50f1b
roccat: remove an unnecessary #include
...
No obvious reason why we need to include that header and it appears to
be glibc-specific. Let's use stdint.h instead (which is already
included).
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2022-02-15 11:32:17 +10:00
Yaroslav Chvanov
217847adde
steelseries: only write report rate if it's dirty
2022-02-11 14:32:14 +10:00
Yaroslav Chvanov
c12edcd4c7
steelseries: fix length of LED cycle output report being incorrect
...
It probably meant to use the macro directly, not `sizeof` of it (which
made it be 4 instead of 64).
2022-02-11 14:31:37 +10:00
Rafael Silva
ae53f6123b
ibratbag-hidraw: add optional filter to hidraw read
...
Currently, these functions will read and timeout after 1s if
no packets were received. The issue with this is that a lot of times we
may catch unrelated packets, such as mouse or keyboard changes.
To solve this, this patch adds a new optional filter argument, when a filter
is passed the functions now will keep reading packets until a valid packet is found.
The filter argument is user written function that returns true or false.
Co-authored-by: Filipe Laíns <lains@riseup.net >
Signed-off-by: Rafael Silva <perigoso@riseup.net >
2022-02-04 14:27:08 +10:00
Yaroslav Chvanov
6dbaeaf506
steelseries: fix a memory leak
...
Found by valgrind. I also feel that there is another memory leak of the
same nature a bit higher in `init_data_hidpp10`.
Introduced by me. :^)
2022-02-01 07:30:01 +10:00
Yaroslav Chvanov
75c8cf83c3
sinowealth: fix several misspellings
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
706fe34382
sinowealth: explain how active_dpi works
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
5e57aa07ea
sinowealth: add helpers for doing raw HID queries
...
Removes a lot of duplicated code.
There is one place, however, where these helpers were not used -
`sinowealth_read_raw_config`. It has some custom handling of data
because of unexpected behavior from mice.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
1f4bf8fe5f
sinowealth: rename a struct member to show that it's bit field
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
dadfb06b98
sinowealth: put command buffer size into a macro
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
d3c37a6836
sinowealth: fix two struct fields having swapped places
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
1b04bcffba
sinowealth: visually separate config report data specific to long mice
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
e5093e1009
sinowealth: prefix some of our data type names
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
132fc21212
sinowealth: sanity check output of all raw data getters
...
Well, of almost all, config getter's output is not checked as it may
have seemingly incorrect data in some cases.
Potentially some mice may not support some commands but look like they
do. You can see this guard in action if you run
`sinowealth_print_long_lod_and_anglesnapping` after any other command
that sets 6 byte long buffer on non-long mice.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
3793e32ebd
sinowealth: put a macro into an enum
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
4e931cb712
sinowealth: remove a now unused macro
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
e1682171ce
sinowealth: improve comments
...
- Add comments to almost all functions.
- Add comments to some data types and macros.
- Add missing periods where it's needed.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
e1334214b8
sinowealth: make the sensor maximum DPI getter return 0 on error
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
fd0954dbdc
sinowealth: remove new-lines between data types and their size checks
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
aa1ab47f59
sinowealth: make update_profile_from_config a void function
...
It only ever returned `0`.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
7585d73ff5
sinowealth: rename macros with config size to make more sense
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
81ca281f2c
sinowealth: don't mark inactive profile as active
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
48d654827e
sinowealth: cache current profile index in driver data
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
6c9306b199
sinowealth: store config report in an array
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
a9c0060029
sinowealth: add a macro for profile count
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
a289612d85
sinowealth: initialize all variables
...
While none of them were actually used before being initialized, I got
tired of constantly seeing `uninitialized variable` warnings in my
editor.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
f7b7007897
sinowealth: declare a variable right before it's initialization
...
It's not in the beginning of the function anyway, so why not make it a
bit more concise.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
16333068b7
sinowealth: use for_each instead of manually getting profiles
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
eace92870a
sinowealth: set the command before writing config
...
This will help if the config report has a different command in it for
some reason. This has happened to me when I tried using the second
profile.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
c176825051
sinowealth: use uint8_t instead of char for report IDs
...
Also move one of them up, this may make the function a bit more readable
if we ever decide to support the second mouse profile.
Fixes a clang-tidy warning.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
ba3547457c
sinowealth: split commit into raw data update and raw write helpers
...
This will get handy if we decide to add multiple profile support.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
3f936eff68
data: add another name to Glorious Model O - O-
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
c25864c18a
data: add SinoWealth Generic Mouse (258a:0027)
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
cf64aac5f1
sinowealth: set the RGB effect to unsupported if LED type is not defined
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
0a39552a65
sinowealth: add default sensor type and LED type
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
03d2d71f82
sinowealth: don't enable LED support if LED type is not defined
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
1edb6df25b
sinowealth: define set_active_profile method in the driver
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
9c7494c5c0
sinowealth: select first profile before getting any data from the mouse
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
7f29c0423f
sinowealth: add active profile setter
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
07307b85d3
sinowealth: add commands IDs for the second profile
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
219218118d
sinowealth: print LOD and angle snapping value
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
1e2489c9e7
sinowealth: add LOD and angle snapping value getter
...
LOD - lift-off distance.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
479c4352af
sinowealth: print debounce time
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
763655516c
sinowealth: add debounce time getter
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
944c4f0af5
sinowealth: print profile index
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
268ccab111
sinowealth: add profile index getter
...
Thank you so much, @araghon007!
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
603b0ca1fc
sinowealth: use RGB or RBG colors depending on device
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
4e50c506de
sinowealth: format code
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
4351eb3d72
sinowealth: support different sensors
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
9f4a1ba405
sinowealth: print device model based on firmware version
...
sinowealth: detect Glorious Model O with old firmware
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
451894b1b4
sinowealth: make the firmware version printing helper return it instead
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
c6051cb9ea
sinowealth: handle new RGB effects
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
34fafbc0f8
sinowealth: use enum types in config report directly
...
Although I'm not sure this if this would work on every compiler, having
a bit of extra type safety is always nice.
It does work with GCC and Clang at the very least.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
75d075cc67
sinowealth: make some utility functions take unsigned integers
...
To avoid implicit conversions.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
2f330b6466
sinowealth: use a struct to store lighting mode
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
c7adc9b9f6
sinowealth: print config data size
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
16a7b6ed18
sinowealth: use NULL instead of 0 for pointers
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
7ff73c8515
sinowealth: rename a config entry to make more sense
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
f11e31d671
sinowealth: add some hidden lighting types
...
These are not available in Glorious software.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
f69457c280
sinowealth: add breathing_mode to config report
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
756fee1202
sinowealth: sort values in an enum
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
d4126463e4
sinowealth: don't say that amount of breathing colors is constant
...
Based on information in gloryctl's documentation, it's not. I guess it
was marked as such because Glorious software doesn't allow to change it.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
00832cb9f0
sinowealth: add a lift off distance value to config report
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
866d4e6433
sinowealth: put some macros into enums
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
cbba00f997
sinowealth: use a map to convert report rates
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
d2e4fcc23e
sinowealth: put report rate conversion comparison in order
...
And also not use some random number in the comparison.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
f0c66d0e1f
sinowealth: separate config to real config and report_rate nibbles
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
b2fb91e261
sinowealth: use correct bits for report rate
...
Turns out it takes the whole nibble, not just three bits.
2022-02-01 07:20:28 +10:00
Yaroslav Chvanov
1a64d2b85d
Add a TODO to make ratbag_button_action_match support macro actions
2022-02-01 07:11:43 +10:00
Yaroslav Chvanov
8f5fdf8590
Fix ratbag_button_action_match not matching on type NONE
2022-02-01 07:11:43 +10:00
Yaroslav Chvanov
baad36060d
util: fix a string of text being printed out of nowhere
2022-02-01 07:06:38 +10:00
Yaroslav Chvanov
7ecabea70d
sinowealth: remove a redundant comment
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
c0c8d6c544
sinowealth: increase log level of printed firmware version
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
37587bb99c
sinowealth: fix a memory leak
...
We were getting profiles, but never unreferenced them afterwards.
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
cc2fff9c06
sinowealth: rename some functions to be more clear
...
So that they would match button data reading later on.
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
b80d3ac0a3
sinowealth: use the detected LED count
...
I put this in a separate commit as 99% of this is just a change of
indentation levels, which doesn't look nice in git.
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
a757180d60
sinowealth: detect LED count at run-time
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
8c0124d654
sinowealth: move raw data reading from init function to probe function
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
b5d41e3657
sinowealth: put reading of raw configuration data into a helper
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
bfd2fc9969
sinowealth: print firmware version on profile init, not on reading
2022-01-28 10:31:09 +10:00
Yaroslav Chvanov
566d160de3
sinowealth: make init_profile return error codes
2022-01-28 10:31:09 +10:00
Kyoken
e0dc0a3a5b
fix ratbag-command led setting
2022-01-24 12:55:12 +10:00
Peter Hutterer
5b7af0ec14
CI: actually test with the various meson args
...
Different variable names and no-one noticed.
This means we need to add a few dependencies that weren't needed before.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2022-01-22 12:09:34 +10:00
Peter Hutterer
44a9959344
roccat: name two fields correctly
...
In hindsight, these should've been obvious.
2022-01-20 19:32:14 +00:00
Peter Hutterer
755dbddfb3
meson.build: fix spelling of receiver
2022-01-20 15:47:11 +10:00
Peter Hutterer
1e3a85433a
CI: add a github pages job to the CI
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2021-12-15 14:40:56 +10:00
Peter Hutterer
b3b3e3f838
Drop CircleCI
...
Right now, CircleCI fails with ssh errors because for some reason it
wants to clone the repo over ssh, not https. This is probably fixable
but CircleCI now limits how many runs we can do per month anyway so it's
borderline useless if we do actual developement.
Having to re-learn the Circle CI syntax to fix the current issue is not
an efficient use of our time, so let's just drop this completely, git
will keep the history of what we used to do in the CI for us.
02f3487f52 added a github workflow which
is comparatively incomplete but could be extended to do the previous
test runs. That's a more future-proof path anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2021-12-15 14:40:56 +10:00
Peter Hutterer
f05b671dc1
Install all data files as subdir
...
This removes the need of listing every device in meson.build which is a
common enough mistake for new contributors.
And move the validation tests over to test/ so we don't have to list
them in the exclude_files of the install_subdir() command.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2021-12-13 10:39:42 +10:00
Peter Hutterer
bfadfc3c91
Change the data validation tests to take the directory instead of files
...
Instead of passing a million files, let's pass the directory and do a
pathlib glob instead.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2021-12-13 10:39:42 +10:00
Peter Hutterer
96d93ae387
meson.build: require meson 0.50.0
...
Released March 2019 we've already relied on some of its features anyway,
let's get rid of the warnings.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2021-12-13 10:38:59 +10:00
Peter Hutterer
03891189da
hidpp20: add missing #define to the feature report strings ( #1237 )
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2021-12-06 08:46:40 +10:00
Peter Hutterer
02f3487f52
Add a GitHub Workflow as CI run ( #1238 )
...
CircleCI is limiting how many runs we can do, which results in pipelines
randomly failing when we've used up the credits for this month.
Let's add a github workflow instead. Unfortunately github workflows are
a bit of a toy api, no support for YAML anchors or extending other jobs,
so there's a lot of duplication needed to get a job to do something.
The actions added in this patch help a bit to make the jobs easier to
understand (copied from libwacom).
This only runs on Ubuntu right now.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2021-12-06 08:43:14 +10:00
Ilya guterman
d2f1ff0ca2
tests: test for additonal lightspeed receviers pids
...
PR #1225
2021-11-06 16:53:01 +00:00
Rafael Silva
d5a7ad3730
device: g635: Set buttons as 0
2021-11-06 03:27:32 +02:00
Carlos Mogas da Silva
e98f86fa2a
Add Logitech G635 Headset
2021-11-06 03:27:32 +02:00
Rafael Silva
fb14cb576b
README: add uninstall instruction
2021-11-04 09:35:30 +00:00
Ilya Guterman
2c83f9c3ef
add static assert
2021-11-04 03:36:41 +02:00
Ilya Guterman
b71f439ed6
fix ci failures
2021-11-04 03:36:41 +02:00
Ilya Guterman
dff102be43
steelseries: prefix hidraw writes with 0
2021-11-04 03:36:41 +02:00
mtayllan
6bb92dc313
Set buttons as 0 for logitech g733
2021-11-01 08:25:03 +02:00
mtayllan
92c5923255
Add support to Logitech G733
2021-11-01 08:25:03 +02:00
staticssleever668
6c8a2d36fe
sinowealth: use proper config size when writing
2021-10-26 11:57:53 +03:00
staticssleever668
875aae6985
sinowealth: add support for mice with longer configuration data
2021-10-26 11:57:53 +03:00
Ilya Guterman
a55297e0fa
fix button count and default report rate always zero
2021-10-20 11:29:55 +03:00
staticssleever668
fa95abbc33
hidpp20: give some structures names
...
Fixes SWIG's 503 warnings.
2021-10-16 22:43:37 +03:00
staticssleever668
48d1b21036
driver-hidpp20: cast an internal log priority enumeration to the general one
...
Fixes an 'enum-conversion' warning by clang.
2021-10-16 22:43:37 +03:00
staticssleever668
904aedc555
driver-hidpp10: cast an internal log priority enumeration to the general one
...
Fixes an 'enum-conversion' warning by clang.
2021-10-16 22:43:37 +03:00
staticssleever668
4fa8663cfb
driver-hidpp10: remove a redundant character array null check
...
It is never null. Fixes a 'pointer-bool-conversion' warning by clang.
2021-10-16 22:43:37 +03:00
staticssleever668
58086882a3
ratbagd: initialize a variable
...
Fixes a 'sometimes-uninitialized' warning by clang.
2021-10-16 22:43:37 +03:00
Tayllan
aef92645b7
hidpp20: allow setting a default buttons count
...
PR #1212
2021-10-16 20:08:44 +01:00
staticssleever668
514ce5419f
data: add SteelSeries Rival 100/105
2021-10-16 19:31:11 +01:00
staticssleever668
2a0a3cf203
steelseries: add support for changing LEDs on Rival 100
2021-10-16 19:31:11 +01:00
staticssleever668
f96ba13f07
libratbag-data: add 'Rival100' quirk to SteelSeries driver
2021-10-16 19:31:11 +01:00
staticssleever668
724d31c8fe
steelseries: make settings unique to SteelSeries Sensei RAW a quirk
2021-10-16 19:31:11 +01:00
staticssleever668
66e44d76b9
steelseries: add 'Quirk' setting
2021-10-16 19:31:11 +01:00
Filipe Laíns
e908871e82
hidpp20: allow setting a default report rate ( #969 )
...
In case we can't get the report rate value from the device, allow
setting in the device file.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2021-10-11 02:14:02 +03:00
Kristian Klausen
9732aa009e
steelseries: only use the HID vendor device
...
Rival mice are composite devices with multiple HID devices and only the
HID vendor device can be used to configure the device.
Tested with a SteelSeries Rival 300 (1038:1710).
Fix #888
2021-10-10 21:10:20 +01:00
Ilya guterman
92299d4673
data: support steelseries rival variations
...
PR #1209
2021-10-10 18:51:35 +01:00
LittleWhite-tb
5c3df3b218
Support for Roccat Kone EMP ( #1131 )
2021-10-07 16:00:36 +10:00
Filipe Laíns
62f26e797e
Revert "data: Add (old) Logitech Performance Mouse MX"
...
This reverts commit d47f2ed946 .
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-07-24 22:25:38 +01:00
Filipe Laíns
d460743bd7
Revert "data: add additional identifier for MX Anywhere 2"
...
This reverts commit 2ce254e51b .
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-07-24 22:25:25 +01:00
strangemax
d47f2ed946
data: Add (old) Logitech Performance Mouse MX
...
PR #1146
2021-07-24 22:19:17 +01:00
João Ferreira
2ce254e51b
data: add additional identifier for MX Anywhere 2
...
PR #1155
2021-07-24 22:18:19 +01:00
staticssleever668
c7c9c908e1
ratbagd-profile: allow report rates up to 8000
2021-07-24 22:17:19 +01:00
staticssleever668
b339370b6a
ratbagd-profile: do not align report rates to 100
2021-07-24 22:17:19 +01:00
staticssleever668
37ae638a7c
steelseries: improve v1 LED breathing duration configuration
...
SteelSeries mice using V1 driver don't support changing LED breathing
duration precisely, so it was always locked on 5 seconds. Now we try to
match desired duration with factory preset values: 3, 5 and 7 seconds.
2021-07-24 22:05:49 +01:00
staticssleever668
6a071dc1ee
sinowealth: expose all eight resolution slots
...
It was limited to six because Glorious' software exposes only so many of
them, but SinoWealth mice firmware allows up to eight.
2021-07-24 22:05:16 +01:00
staticssleever668
7c9a75da9e
sinowealth: add support for changing report rate
2021-07-24 22:04:55 +01:00
staticssleever668
dd1c72a1d0
sinowealth: add support for reading current report rate
2021-07-24 22:04:55 +01:00
staticssleever668
8d7cbcba4f
steelseries: fix report rate changing for version 1 devices
...
Judging by rivalcfg's data for Sensei Raw, Rival 100, Rival (300) and Kinzu v2 (all are version 1 devices in our data), it should have been like that from the beginning.
Confirmed on Rival 100.
2021-07-24 22:04:14 +01:00
staticssleever668
4075227eb7
sinowealth: add support for changing active resolution number
2021-07-24 22:03:44 +01:00
Stephan Lachnit
abcec1d349
Register Roccat Kone Pure driver
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2021-07-24 21:25:56 +01:00
Stephen Kitt
206bc5996d
man: add both variants in ratbagctl.1 synopsis
...
PR #1188
2021-06-30 19:23:30 +01:00
Stephen Kitt
366f19abdd
openinput: fix "Unknown" typo
...
PR #1187
2021-06-30 19:21:47 +01:00
Filipe Laíns
952bd9dc07
libratbag 0.16
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-06-24 15:11:34 +01:00
staticssleever668
6b97d94a2f
sinowealth: print out firmware version when probing
2021-06-23 15:40:38 +00:00
Thomas Weißschuh
ccaa8d1b6c
ratbagd: register task to run as soon as possible
...
Previously the scheduled task would only have been executed after some
other event woke up the mainloop.
If no such event happens, the task will be delayed significantly.
Fixes #1121
2021-06-21 22:47:42 +01:00
Elián Hanisch
abe451df33
sinowealth-nubwo: fix implicit declaration of function ‘vasprintf’
...
driver-sinowealth-nubwo.c was missing to include "config.h" so
_GNU_SOURCE wasn't defined soon enough.
Co-authored-by: Elián Hanisch <elian.hanisch@ing.unlp.edu.ar >
2021-04-29 01:38:03 +01:00
Sethox
a3fa876c3d
data: add SEL variant to Roccat Kone Pure
...
The last part added is for a variant called "Roccat Kone Pure SEL".
PR #1152
2021-04-21 03:45:25 +01:00
Filipe Laíns
230647c7f3
openinput: fail probe if we can't enumerate
...
These functions are mandatory[1], fail to probe if they fail.
[1] https://github.com/openinput-fw/openinput-protocol/tree/master/specification/device-protocol#mandatory-functions
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-04-04 15:08:21 +01:00
Filipe Laíns
3f99446a1b
ci: temporarily disable arch
...
See my description of the problem in [1].
Essentially, docker is mishandling the failuire when a syscall is not
available, returning EPERM instead of ENOSYS, and making code misbehave.
The current issue with arch is glibc, which explodes on EPERM, causing
pacman to misbehave.
Once the fix hits CircleCI, we will re-enable.
[1] https://github.com/fwupd/fwupd/issues/2894
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-03-01 10:34:10 +10:00
Filip Laurentiu
a766f8e909
data: add new identifier for DeviceMatch to match MX Anywhere2 mouse
...
PR #1137
2021-02-28 19:02:52 +00:00
Pavel Kovar
9ae975f9a9
data: add support for Logitech M500s mouse
2021-02-17 17:53:27 +00:00
Filipe Laíns
780934b1a1
data: add openinput device
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
337fb935c4
openinput: refactor function discovery
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
c9cf5fe90c
openinput: add function discovery
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
18af0f97d2
openinput: print device protocol name
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
286f13c654
openinput: read firmware information
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
c6b9cc0c2a
openinput: add error support
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
7d82bb51a6
openinput: save protocol version
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
8976033da7
openinput: add openinput_send_report
...
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
Filipe Laíns
c9c6a1675f
openinput: add barebones driver
...
This is the minimal code required to have a working driver, now we just
need a .device file.
Note the hardcoding of `profile->is_active = true` in
openinput_read_profile, this works because we just have one profile.
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-02-16 00:15:59 +00:00
the Weld
f1e2a4ccff
data: add extra USB device ID for MX Vertical
...
Fixes #1132 , for my own model of MX Vertical at the least.
2021-02-15 20:00:34 +00:00
Filipe Laíns
104543fdf1
data: add G Pro X Wireless Superlight
...
Support for this receiver, and for the device using the powerplay
receiver, still needs to be added to the kernel driver. For now, you can
used the wired connection to configure the device.
You should also not try to use with the powerplay receiver as the kernel
driver does not support the connection and won't forward any input
events to userspace.
Signed-off-by: Filipe Laíns <lains@riseup.net >
2021-01-30 10:59:37 +00:00
Matt
b3275e10d7
data: add Logitech M545
2020-12-30 17:43:52 +00:00
Filipe Laíns
120908bda8
data: add G915 TKL
...
Closes #1008
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-10-22 20:20:04 +01:00
Filipe Laíns
32d6443553
data: add an ID to the MX Anywhere 2
...
Fixes #1078
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-10-17 18:22:54 +01:00
Calvin Walton
ae943eaee7
data: Add configuration for SteelSeries Kinzu V2 Pro Edition
...
Appears to be basically the same as the V2 - the differences were
mostly in hardware (upgraded switches & image sensor). I've verified
that the list of DPI settings is correct and matches the Windows
software. Adjusting DPI config in both profiles works correctly.
2020-10-15 01:50:44 +01:00
Calvin Walton
4a9503f2da
data: add device IDs for Logitech MX Anywhere 3
2020-10-14 21:57:19 +01:00
Filipe Laíns
e268100d31
libratbag-data: log message if the device is a Logitech receiver
...
We have been receiving countless issues and PRs reporting or "fixing"
the device IDs because they think it's wrong. Hopefully this will give
them an hint that is intended behavior. If they look closely at the log,
on a recent enough kernel, they should see their device show up with the
internal ID.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-10-09 17:37:44 +01:00
Filipe Laíns
8ec0e8bbc5
Revert "meson: bump required meson version"
...
This reverts commit e753db72f9 .
The new version is too recent for lgtm.com.
See https://lgtm.com/projects/g/libratbag/libratbag/logs/rev/pr-c8dd47f8b4d0c40fc0a27b13e031bbb8e6c76987/lang:cpp/stage:Build%20merge_7b2f50275451a899db1bf70b6eaae9d88ecc56d0
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-10-08 01:46:03 +01:00
bluemner
e6a9fba498
Update add support for G-Shift keys on g600
2020-10-05 00:44:27 +01:00
Thomas H.P. Andersen
e753db72f9
meson: bump required meson version
...
Bump the required meson version to match the features that we make
use of.
We now also make use of the 'copy:' keyword in configure_file that
is available in version 0.47.
2020-10-05 00:39:43 +01:00
Thomas H.P. Andersen
e1f4fac9a2
ratbagd-json: fix compilation with clang
...
Compilation on clang failed as we would try to jump to
the 'out' label and then jump over the initialization
of a variable with __attribute__((cleanup)).
We move the initaliztion up to make sure it happens before
the goto.
2020-09-29 02:11:09 +01:00
Thomas H.P. Andersen
8f981c8b87
circleci: bump to fedora 32
...
Bump to fedora 32 to updated meson version
2020-09-29 02:08:17 +01:00
Thomas H.P. Andersen
01d2cf8477
sinowealth: silence warning
2020-09-29 01:07:12 +02:00
Filipe Laíns
f7c22ed88c
libratbag 0.15
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-09-25 21:38:01 +01:00
Thomas H.P. Andersen
aeda65cbfa
sinowealth: remove per-resolution led
...
The glorious mice uses a single profile. To differentiate between
resolutions each one has customizable color. A led on the bottom
of the mouse shows the active resolution color.
Libratbag does not support a per-resolution color.
To allow adjusting these colors the sinowealth driver defines a led
for each resolution. This is a misuse of the model and will cause
problems when the mouse is added to Piper.
This patch removes the per-resolution leds and hardcodes the led
count to one.
2020-09-25 20:51:45 +01:00
Pipat Saengow
ed2439e5e2
sinowealthnubwo: more reasonable default and refactor
2020-09-21 17:39:28 +02:00
Pipat Saengow
f407521e8f
Add driver for Nubwo X7 Spectrum
...
Nubwo X7 Spectrum is a sinowealth-based gaming mouse.
The sinowealth-nubwo driver included in this commit provides
- LED support (except color mode that are not available in libratbag)
- DPI and reporting support
- NO button mapping/macros support
2020-09-21 17:39:28 +02:00
heimer16
3c4fe23f70
data: update Logitech g9x ( #913 )
...
* add LED for Logitech g9x
* update min dpi range and step for Logitech g9x
Co-authored-by: Erin Heimer <heimer16@gmail.com >
2020-09-11 22:28:57 +02:00
Mike Crowe
9e2ac55dbc
libratbag-private.h: Ensure that _GNU_SOURCE is defined early enough
...
When compiling on Ubuntu 20.04 with GCC 9.3.0 and glibc 2.31, I get:
In file included from ../src/libratbag-private.h:32,
from ../src/driver-sinowealth.c:24:
../src/libratbag-util.h: In function ‘asprintf_safe’:
../src/libratbag-util.h:154:7: warning: implicit declaration of function ‘vasprintf’; did you mean ‘vsprintf’? [-Wimplicit-function-declaration]
154 | rc = vasprintf(&result, fmt, args);
| ^~~~~~~~~
| vsprintf
This appears to be because <features.h> is being included by another
header before config.h has been included. If _GNU_SOURCE has not been
defined at that point, then the other macros that control whether
vasprintf is declared are not set correctly.
Include config.h right at the top of libratbag-private.h to ensure
that _GNU_SOURCE is defined before any system headers are included to
avoid this problem.
2020-08-30 19:16:51 +02:00
Nguyễn Chính Hữu
1e72ebaa7b
data: add the G203 name to the .device file
2020-08-29 22:23:35 +01:00
peelz
920bc2b993
driver-hidpp10: fix segfault when committing unnamed profiles
2020-08-23 16:21:05 +01:00
TurkeyTheGobbler
20b573668e
g300: use the correct step size
2020-07-25 17:26:37 +01:00
Daniel Lehmann
49acc11db3
Fix enumeration of Logitech G5 (2007)
...
Before this patch, ratbagd would abort initialization of the device because
no profiles are returned.
Once that was handled more gracefully, ratbagd would fail because it doesn't
read the DpiList from its own config file, as no ProfileType is specified.
Specifying G500 as the closest match.
2020-07-23 01:04:14 +01:00
Stephan Lachnit
364e3fd965
data: add additional USB-ID for the M720 Thriatlon
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-07-23 01:00:33 +01:00
Marian Beermann
bb230d390d
sinowealth: fix reading RGB brightness from device
2020-07-23 00:45:29 +01:00
Marian Beermann
93a076bed9
sinowealth: code style changes
2020-07-23 00:45:29 +01:00
Marian Beermann
e7b50c9061
sinowealth: rewrite RGB LED mode conversions
2020-07-23 00:45:29 +01:00
Marian Beermann
9d533bdc3e
sinowealth: fix dpi_count not being updated
...
The firmware of these mice only considers the first dpi_count zero bits
in dpi_enabled.
2020-07-23 00:45:29 +01:00
Marian Beermann
d7906b54b4
sinowealth: code cleanup and style changes
2020-07-23 00:45:29 +01:00
Marian Beermann
f1eba370ed
sinowealth: do not typedef structs
2020-07-23 00:45:29 +01:00
Marian Beermann
7b5ab2ed99
sinowealth: separate capability setting logic from read_profile
2020-07-23 00:45:29 +01:00
Marian Beermann
d2d5471836
sinowealth: implement brightness and speed controls
2020-07-23 00:45:29 +01:00
Marian Beermann
9cfc1e98e3
sinowealth: fixed rgb
...
Turns out it was caused by two mistakes:
1.) While writing the struct I overlooked a changed offset in my notes,
so a bunch of padding was missing in the middle of the struct (unk4[33]);
that padding is probably the set of colors (11) used by tail mode
2.) The LED bodies actually use RBG ordering instead of RGB
2020-07-23 00:45:29 +01:00
Marian Beermann
691661276f
pad struct sinowealth_config_report to full size of report
2020-07-23 00:45:29 +01:00
Marian Beermann
25ed99db84
Add sinowealth driver
2020-07-23 00:45:29 +01:00
Dejan
02226d0428
data: add another device ID for G203 mouse
2020-07-09 21:54:56 +01:00
Stephan Lachnit
f822fb0fa7
remove unused string format to fix flake8 ( #1024 )
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-07-06 11:48:47 +02:00
Stephan Lachnit
b88be0add0
ci: bump Ubuntu to 20.04
...
This also removes the manual addition of the universe repository, since it's already enabled in the circleci image.
Because of this, software-properties-common doesn't need to be installed anymore, and libnss-systemd isn't going to be installed (see c425780220 ).
However, DEBIAN_FRONTEND=noninteractive needs to be set, else the image will loop while trying to configure tzdata (aka the timezome).
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-06-09 10:55:31 +10:00
Stephan Lachnit
9fc6d12486
data: add additional USB-ID for Roccat Kone Pure
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-06-07 20:58:41 +02:00
Stephan Lachnit
0c64dad9e1
fix wrong driver id for Roccat Kone Pure
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-06-07 20:58:41 +02:00
Farid Gh
f61485c603
data: add bluetooth ID to the MX Vertical
2020-05-29 13:57:21 +01:00
Filipe Laíns
8c295479d8
hidpp20: keep unsupported button mappings
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-05-25 18:08:40 +01:00
Dylan Baker
e55b04ec7d
meson: Fix python3 version detection with python3 module
...
I misread the documentation about the python3 module. The newer python
module puts the language_version in the object returned by
`pymod.find_installation()`, while the python3 module has the same
method in the *module*.
Fixes #985
2020-05-19 19:47:24 +01:00
Filipe Laíns
1231415470
libratbag 0.14
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-05-17 21:23:57 +01:00
Filipe Laíns
660da27021
data: add Logitech G935
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-05-17 21:19:32 +01:00
Dylan Baker
481b6f029a
meson: make finding python more robust
...
This code assumes that there is a python3 or python3-embed pkg-config
file on the system, which may or may not be true. On Gentoo for example,
only python-X.Y pkg-config files are available and this will fail to
build.
This makes use of the new py_installation.dependency(embed : true) if
possible, and falls back to trying to find a python that matches the
version of python found by the python3 or python module.
2020-05-17 19:19:42 +01:00
Filipe Laíns
768d93a45a
github: add device info to bug report template
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-29 14:23:47 +01:00
ksv1986
1c6e039d01
hidpp10: fix handling of hidpp10_device_new() failures
...
Signed-off-by: ksv1986 <ksv0x07c2@gmail.com >
2020-04-26 15:07:23 +01:00
ksv1986
d16df8d100
hidpp10: fix crash if device failed to initialize properly
...
Signed-off-by: ksv1986 <ksv0x07c2@gmail.com >
2020-04-26 15:07:23 +01:00
Filipe Laíns
4b1e49d522
hidpp20: fix report type in ColorLedEffects (0x8070) set_zone_effect
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-26 15:07:06 +01:00
Filipe Laíns
786cebcb0b
hidpp20: cleanup, use short reports when possible
...
libratbag has a quite communication-intensive setup routine. This patch
uses short reports when possible. Using short reports will speed up the
setup process and have a lower power consumption, which is relevant for
wireless devices.
We now check the report descriptor for the supported report IDs and
adjust the report type used based on the device capabilities. Because of
that, this patch should work without any issues as the report type will
get overwritten if it not supported.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-26 15:07:06 +01:00
Filipe Laíns
d53454bcb3
hidpp10: fix circular loop on hidpp10_onboard_profiles_read_macro
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-26 15:06:25 +01:00
Filipe Laíns
a0def65b64
hidpp10: add debug log on hidpp10_onboard_profiles_parse_macro fail
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-26 15:06:25 +01:00
Stephan Lachnit
2a40279903
doc: replace some tabs with spaces
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-04-26 15:06:08 +01:00
Filipe Laíns
02c95422f0
hidpp20: fix mapping button to consumer usages
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-18 02:31:17 +01:00
Filipe Laíns
4ce1cf2807
hidpp10: convert key actions to macro
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-18 02:31:17 +01:00
Filipe Laíns
89168f2187
hidpp10: add support from writting simple macro actions
...
Fixes #900
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-18 02:31:17 +01:00
Filipe Laíns
bb92337268
ci: remove dbus policy dir hack in arch
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-18 02:29:05 +01:00
Filipe Laíns
a8316c07f3
ratbagd: create path if not present before installing dbus policy dir
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-18 02:29:05 +01:00
Filipe Laíns
39769c57dd
ci: save cache between jobs for fedora and arch
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-17 05:57:38 +01:00
Filipe Laíns
200a8af7a7
ci: cache packages in arch
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-17 05:57:38 +01:00
FFY00
fcf9f7745d
ci: add arch
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-17 05:57:38 +01:00
Filipe Laíns
633c9fc55d
libratbag-data: add missing header entry ( #958 )
...
Dicovered in #957
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-16 15:59:50 +02:00
Peter Hutterer
ee73434ead
circleci: bump to use ubuntu 19.10
...
The 19.04 repos give us 404s, so let's update to the next version.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2020-04-16 08:01:53 +10:00
Filipe Laíns
d60b1c9d71
data: overwrite led count in G305
...
Fixes #949
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-14 19:00:12 +01:00
Filipe Laíns
88a60f55b4
hidpp20: allow overwritting the led count
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-14 19:00:12 +01:00
D33M0N
dba202ae8b
data: added bluetooth ID to the MX Anywhere 2
2020-04-03 19:27:02 +01:00
Filipe Laíns
6cdcce9de4
hidpp20: log error number when commiting
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-03 17:02:44 +02:00
Filipe Laíns
e2c3373145
hidpp10: log errors when comitting
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-04-03 17:02:44 +02:00
Filipe Laíns
02575a9008
hidpp20: add button/macro opcodes
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-03-22 19:17:47 +00:00
Filipe Laíns
1097b1ba68
meson: silence swig warnings
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-03-22 19:13:58 +00:00
Filipe Laíns
77b67775da
ratbagctl: don't print empty properties
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-03-22 19:08:58 +00:00
Filipe Laíns
5b23c9ebae
data: add Logitech M720
...
Fixes #939
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-03-22 18:58:07 +00:00
Stephan Lachnit
6d0974be25
circleci: add diffutils dependency for fedora
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-02-21 15:21:42 +01:00
simrat39
ea9111a2a6
devices: Set g402 LedTypes
...
Signed-off-by: simrat39 <simrats169169@gmail.com >
2020-02-10 15:49:45 +00:00
Filipe Laíns
42787ee422
meson: libratbag 0.13
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-09 23:32:55 +00:00
Filipe Laíns
611dd9be0d
hidpp20: keep unsupported effects
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-09 23:31:42 +00:00
Filipe Laíns
fd20f9e642
hidpp20: simplify hidpp20_onboard_profiles_write_led
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-09 23:31:42 +00:00
Filipe Laíns
9be5576967
hidpp20: add some missing led effects
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-09 23:31:42 +00:00
Filipe Laíns
9fe511fcc5
hidpp20: add profile field to special bindings in onboard profiles
...
New devices define a profile field in the button configuration. This
allows us to map a button to set the target profile as active. Even
though we don't support configuring this right now, some devices, such
as the G915/G815, come pre-configured with this action on th M-Keys.
This patch makes us able to read and write those settings, this way they
don't get lost when we write a profile to the device.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-09 23:31:42 +00:00
Filipe Laíns
f0b69aab19
hidpp20: only set active resolution if there are resolutions on 0x8100
...
This prevents us from trying to set a resolution on keyboards.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-09 23:31:42 +00:00
Filipe Laíns
7610b80ced
hidpp20: log errors when failed to write sector
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-09 23:31:42 +00:00
Filipe Laíns
f0a05bb522
data: add the Logitech G Powerplay
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-02-10 08:24:10 +10:00
Torbjørn Fylling
2669cc28b2
data: add support for Logitech G815 keyboard
2020-01-31 10:13:37 +00:00
Peter Hutterer
302702d94a
Declare a bunch of structs as extern
...
gcc 10 complains about multiple definitions of these when linking.
/usr/bin/ld: libhidpp.a(src_hidpp-generic.c.o):/builddir/build/BUILD/libratbag-0.12/x86_64-redhat-linux-gnu/../src/libratbag-private.h:588:
multiple definition of `etekcity_driver';
libutil.a(src_libratbag-util.c.o):/builddir/build/BUILD/libratbag-0.12/x86_64-redhat-linux-gnu/../src/libratbag-private.h:588:
first defined here
Special case here is the test_driver struct, without the extern gcc seems to
think it's a new struct with all zeros, causing a segfault when we then try to
strcmp the test driver name.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2020-01-29 02:12:28 +00:00
Filipe Laíns
e1136c4d30
hidpp20: add debug log when failed to read led (8070, getZoneEffects)
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-28 21:41:45 +01:00
Filipe Laíns
0012853a1d
hidpp20: make sure getZoneEffect (8070) is supported
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-28 21:41:45 +01:00
Filipe Laíns
afb85f868c
hidpp20: change unsupported effect log msg to debug verbosity
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-28 21:41:45 +01:00
Filipe Laíns
b76fcdadde
hidpp20: enable 0x8070 (ColorLedEffects) standalone use
...
0x8071 is still missing but as of now we don't have any device that
needs it.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-28 21:41:45 +01:00
Stephan Lachnit
ba7c092ee2
driver-hidpp20: replace goto with return
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-01-08 07:36:52 +10:00
Stephan Lachnit
3483bd8c14
driver-hidpp20: minor cleanup
...
Removes useless setting of the dpi index when updating resolutions.
Removes weird empty line.
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2020-01-08 07:36:52 +10:00
Filipe Laíns
0fb0eb3d42
hidpp20: log errors in hidpp20drv_commit
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-06 19:22:57 +00:00
Filipe Laíns
5fb1f4429d
ratbagd: log error if failed to commit
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-06 19:22:57 +00:00
Filipe Laíns
5f5e294598
hidpp20: add support for reading/writing the report rate via 0x8060
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-06 19:18:06 +00:00
Filipe Laíns
b4218737cd
hidpp20: fix bug that was unsetting some capabilities
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-06 19:18:06 +00:00
Filipe Laíns
3875bb70fd
hidpp20: implement dirty flag for report rate
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-06 19:13:01 +00:00
Filipe Laíns
e9d67b7235
ratbag: add dirty flag for report rate
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-06 19:13:01 +00:00
Filipe Laíns
8a476a8724
hidpp: fix supported_report_types data type
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2020-01-03 22:40:03 +00:00
Sadika Sumanapala
d67cbec5f8
Add M590 bluetooth ID
2020-01-03 08:17:43 +10:00
Stephan Lachnit
f82c6f72b6
Use EditorConfig instead of vim comments
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-24 08:04:11 +10:00
Stephan Lachnit
af30fc28cd
CircleCI: use variables for dependencies
...
Use separate variable lists for dependencies.
Uninstall check merged in upstream meson, so it can be simplified.
`libsolv` doesn't need to be updated any more with Fedora 31.
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-24 07:34:18 +10:00
Filipe Laíns
3fb8a51456
docs: adjust description to say we support other devices than mice
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-23 06:26:55 +10:00
Matthias Bach
ceaa3c3ad5
Reorder the initialisation of the ratbagd client
...
When the API version mismatches we want to fail early before performing
any more complex initialisation. We do however have to check for
devices first so that we can distinguish cases where we cannot access
the daemon from those where it is too old to provide an API version.
2019-12-22 16:58:20 +00:00
Matthias Bach
551b918ba8
Give a more specific error message if user cannot reach ratbagd via D-BUS
...
If access failed, e.g. due to insufficient permissions, don't confuse
the user by reporting an API mismatch.
This is a minimal improvement to target issue #802 . As, if access is
restricted to a group, that group is known in Meson, it would even be
possible to report that group in the error message. But, that would
require converting ratbagd.py to a template or finding some other way to
inject that information at build time.
2019-12-22 16:58:20 +00:00
Filipe Laíns
3105428ba1
tests: fix data parse for hidpp index
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-20 10:30:10 +01:00
Benjamin Tissoires
b3f2406180
data: add G910
...
Same situation than the G513, 0x8100 is not present.
But heh.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2019-12-20 09:15:24 +00:00
Benjamin Tissoires
902160f430
ratbag-command fixes
...
- File "./build/ratbag-command", line 2289, in open_ratbagd
r = Ratbagd(1)
TypeError: __init__() takes 1 positional argument but 2 were given
- AttributeError: module 'libratbag' has no attribute
'ratbag_device_get_bus'
- File "./build/ratbag-command", line 267, in model
return "{}:{04x}:{04x}:{d}".format(bus, vid, pid, version)
KeyError: '04x'
- swig/python detected a memory leak of type 'uint32_t *', no destructor
found.
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
2019-12-19 15:56:52 +01:00
Filipe Laíns
fd6d0b6198
data: add G513
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-19 13:58:02 +01:00
Filipe Laíns
5ed98fdb22
hidpp20: only enable 0x8070 or 0x8071 if 0x8100 is present
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-19 13:58:02 +01:00
Filipe Laíns
e0e73c2971
data: add G915
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-19 12:06:15 +00:00
Filipe Laíns
0d3b4f1b64
libratbag: add 'switches' led type
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-19 12:06:15 +00:00
Filipe Laíns
20b6e3deeb
hidpp20: only populate resolutions if the device supports
...
This patch moves the 0x8100 initialization routine out of
hidpp20drv_init_feature because it needs the capabilities to be
processed first.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-19 12:05:54 +00:00
Filipe Laíns
ffcdee912d
libratbag: allow no resolutions
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-19 12:05:54 +00:00
Filipe Laíns
5357d4cbc2
meson: libratbag 0.12
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-18 19:25:30 +00:00
Filipe Laíns
26c534cc74
hidpp20: check supported report types
...
Fixes #854
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-18 19:23:31 +00:00
Stephan Lachnit
904c7988bb
hidpp20: set dictionary output to raw
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-17 15:54:42 +00:00
Stephan Lachnit
7d255a2f93
Fix missing capability in ratbagctl.test
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-17 15:54:42 +00:00
Stephan Lachnit
d0a5cb1f0e
Minor ratbagd/ratbagc adjustments
...
Bumped copyright to 2019.
Fixed typo in profile.capabilities description.
only ratbagd.py: Removed vim helper line since the file has a proper file extension.
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-17 15:54:42 +00:00
Qiu Wenbo
71b1d66287
hidpp20: fix a double free error of hidpp20
...
These are two fields of a union and should have the same value. What the
code doing here is trying to free a pointer twice.
Signed-off-by: Qiu Wenbo <qiuwenbo@phytium.com.cn >
2019-12-14 14:25:44 +00:00
Qiu Wenbo
32ebbca42f
hidpp20: fix G305 quirk detection
...
Signed-off-by: Qiu Wenbo <qiuwenbo@phytium.com.cn >
2019-12-14 14:25:44 +00:00
Stephan Lachnit
a0afbfeb3f
Update CircleCI config
...
Rename fedora_latest to fedora_31 which is more representative.
Drop the Fedora Rawhide workflow which was always disabled anyway.
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-13 09:34:26 +10:00
Stephan Lachnit
9dfd4fd03a
remove .gitignore
...
Use a personal .gitignore for your build directory instead.
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-12 20:06:16 +00:00
Peter Hutterer
b0ea75979a
data: add a test for unifying receiver IDs
...
We don't want any device files that use the receiver itself as a match so
let's test for that. In virtually all cases this means the user must update
the kernel and hope support for that receiver is already present in that
version.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-12-11 00:27:35 +00:00
Stephan Lachnit
a5c1ca202e
drivers: add Roccat Kone Pure driver
...
Signed-off-by: Stephan Lachnit <stephanlachnit@protonmail.com >
2019-12-11 00:20:02 +00:00
Peter Hutterer
8d40ad6c0c
libratbag: only log to stderr for error messages
...
This was copied from libinput and made sense while libratbag was a library -
we want "unhandled" messages to end up somewhere and stderr is the most likely
candidate here.
Now that we always run within ratbagd and it's all effectively inseperable,
just log to stdout for anything below error.
The switch statement was reformatted for consistency, only the ERROR case has
changed code.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-12-11 09:07:10 +10:00
Peter Hutterer
72d11de597
ratbagd: print two verbose messages at startup
...
When no device is present, starting ratbagd even with --verbose prints exactly
nothing. Let's be more verbose here to give the user an indication that
something's happening. The user wants everything, is probably willing to
accept anything but in the end all we can say is that we have nothing.
Related to #862
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-12-10 22:48:53 +00:00
Filipe Laíns
47cc5fce92
github: add issue templates
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-05 10:01:59 +00:00
Filipe Laíns
5da791b268
ratbagd: support the old --verbose=raw syntax
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-05 09:44:35 +00:00
Filipe Laíns
e63802b01a
ratbagd: make raw the default verbosity level ( #857 )
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-12-05 08:07:46 +10:00
Jeff Huang
cd89b123ce
Add Logitech M585/M590 support. ( #845 )
2019-11-27 15:52:18 +10:00
Peter Hutterer
f6546b3222
circle CI: add diff as fedora package
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-11-18 08:50:36 +10:00
Peter Hutterer
cd8ddc8444
circle CI: switch to Fedora 31
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-11-18 07:16:22 +10:00
Luke
cdb3226ef1
meson: don't use brackets, parenthesis and braces in filenames
...
Renamed filenames to avoid brackets, and added a check to data-parse-test.py to
check for brackets, parentheses, and braces so they aren't shipped in filenames
in the future.
2019-11-17 00:11:42 +00:00
Peter Hutterer
ce377fc36c
meson.build: libratbag 0.11
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-11-05 11:06:27 +10:00
Mateusz Mojsiejuk
fe1308fe38
data: add Steelseries Kinzu V3
2019-11-02 21:21:41 +00:00
FFY00
983d3e2a88
data: fix G502 Hero Wireless .device file
...
Signed-off-by: FFY00 <lains@archlinux.org >
2019-10-23 18:47:17 +01:00
Filipe Laíns
3a3d9e1148
devices: add Logitech G604
...
Fixes #827
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-10-23 18:46:44 +01:00
Pieter
afbba26feb
data: add wireded ID to G502 Hero Wireless
2019-10-23 18:45:14 +01:00
Peter Hutterer
8cc37047fb
tools: fix typo in ratbagd.py
...
Reported in https://github.com/libratbag/piper/issues/406
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-10-16 10:50:58 +10:00
Benjamin Tissoires
c8f56cc535
swig: generate python helpers to use hidpp C library
...
```
$> sudo python3
Python 3.7.1 (default, Nov 23 2018, 10:01:49)
[GCC 8.2.1 20181105 (Red Hat 8.2.1-5)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import hidpp
>>> f = open('/dev/hidraw1', 'r+b')
>>> base = hidpp.hidpp_device()
>>> hidpp.hidpp_device_init(base, f.fileno())
>>> dev = hidpp.hidpp20_device_new(base, 0xff)
>>> hidpp.hidpp20_feature_get_name(0x8100)
'HIDPP_PAGE_ONBOARD_PROFILES'
>>> hidpp.new_uint8_tp()
<Swig Object of type 'uint8_t *' at 0x7f865198fb70>
>>> feature_index = hidpp.new_uint8_tp()
>>> feature_type = hidpp.new_uint8_tp()
>>> feature_version = hidpp.new_uint8_tp()
>>> hidpp.hidpp_root_get_feature(dev, 0x8100, feature_index, feature_type, feature_version)
0
>>> hidpp.uint8_tp_value(feature_index)
14
```
Signed-off-by: Benjamin Tissoires <benjamin.tissoires@gmail.com >
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-09-26 09:12:42 +01:00
Dustin Falgout
b6936ddd3b
Add Support For Logitech MX Master 3 ( #819 )
2019-09-20 15:32:43 +10:00
Filipe Laíns
d4d9712316
hidpp20: add suport for the G602
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-09-11 09:43:41 +01:00
Filipe Laíns
2353af214b
hidpp20: fallback to 1st profile when no 8100 profile is active
...
When the windows driver puts a device in host mode it will mark all 8100
profiles as disabled. If no 8100 profile is enabled no libratbag profile
will get enabled. This patch prevents this by marking the first profile
as enabled if no profile is already enabled.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-09-11 09:33:45 +01:00
Filipe Laíns
a4d19efb93
hidpp20: fix reading cluster info in the 8071 feature
...
TBH I don't know why I wrote the original code in the first place, it
clearly doesn't follow the spec.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-09-11 15:09:43 +10:00
Filipe Laíns
cb0b458824
hidpp20: make cluster_info a single variable in hidpp20drv_read_led_8071
...
This was probably leftover code.
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-09-11 15:09:43 +10:00
Adrian Pascu
48c476b28c
Add missing MX master PID
...
As seen here: https://github.com/torvalds/linux/blob/master/drivers/hid/hid-logitech-hidpp.c#L3717
This mouse is a warranty replacement, shows up as MX Master in Logitech Options but has MX Master 2S Hardware.
2019-09-02 13:24:18 +10:00
Filipe Laíns
d6c3bf881d
hidp20: rename profile mapping 0x04
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-08-30 11:11:23 +01:00
rHermes
1b000e627a
Add G502 Hero Wireless to meson.build
2019-08-20 11:03:54 +02:00
rHermes
75bcf39114
Add Logitech G502 Hero Wireless device
2019-08-20 11:03:54 +02:00
Peter Hutterer
33ced3dfb7
hidpp10: if we can't fetch the current profile, error out
...
Right now we initialize any hidpp10 device with one profile and then go and
fetch the data. But we never check for return codes, so it always succeeds
even when we can't get anything out of the device at all. Eventually we fail
the sanity checks with "invalid dpi list" which is confusing at best.
Let's avoid this by requiring at least the current profile to work. This will
break devices that have a single emulated profile, i.e. those that don't have
profiles but rely on libratbag to emulate one based on the
current-resolution/current-... calls. Not sure we actually support any of
those, so let's see.
Closes #738 though it doesn't fix it, it just bails out better.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-19 15:49:24 +02:00
Peter Hutterer
906f17add2
Rename ratbag_test_driver to ratbag_try_driver
...
This is confusing because we do have a test driver and we have an optional
test_device argument here too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-19 15:49:24 +02:00
Filipe Laíns
016de548fc
hidpp20: fix setting default resolution
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-08-17 10:02:28 +02:00
banditopazzo
665c022382
added bluetooth device ID in profiles for Logitech MX Master AMZ (amazon)
2019-08-15 08:37:58 +10:00
Filipe Laíns
81c7b42bec
hidpp20/data: add the G305
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-08-13 08:52:06 +01:00
Filipe Laíns
edb054c6f8
hidpp20: add quirk system
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-08-13 08:52:06 +01:00
Peter Hutterer
8ae995b72d
hidpp10: try switching to profile 0 where the device is in factory profiles
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-04 17:17:56 +02:00
Peter Hutterer
a941b75ef2
hidpp10: if the current profile is the factory profile, pretend it's 0
...
Rather than bail out completely, let's pretend the factory profile is profile
0 and keep going. This gives us a pretend-function mouse, though whether this
actually works is questionable.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-04 17:17:56 +02:00
Peter Hutterer
8cb85da6be
release.sh: make this script usable for piper
...
Remove some hardcoded names and fix the version number extraction.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-04 17:17:45 +02:00
Peter Hutterer
7ff59a636f
release.sh: drop the module file and section handling
...
leftover from when this was the xorg release script, we need neither here
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-04 17:17:45 +02:00
Peter Hutterer
6cd050f541
release.sh: fix version number replacement
...
sed treats . as "any character", so this breaks if we have a 0.10 version
number.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-04 17:17:45 +02:00
Peter Hutterer
ab3f1df06e
meson.build: libratbag 0.10
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-02 11:19:16 +10:00
Peter Hutterer
caa31e17cf
circle CI: add meson plain and release build types
...
Second time lucky.
Fixes #770
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-01 20:02:28 +10:00
Peter Hutterer
b7e6103496
circleci: move existing config to the new location
...
CircleCI 2.0 requires a new config file location, otherwise it won't run. And
since 1.0 is sunset now, this means our CI wasn't getting executed.
The actual format of the config is the same, we were already using 2.0
features.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-01 10:24:09 +10:00
Peter Hutterer
b1b6a2761e
Revert "circle CI: add meson plain and release build types"
...
This broke CircleCI but since it didn't run for that build, no-one noticed.
This reverts commit 3bc31edd72 .
2019-08-01 10:24:09 +10:00
Peter Hutterer
11f4f32947
Revert "hidpp20: add quirk system"
...
This reverts commit 196d53e65f .
2019-08-01 09:47:00 +10:00
Peter Hutterer
4f5d0dffec
Revert "hidpp20/data: add the G305"
...
This reverts commit cad05ffced .
2019-08-01 09:47:00 +10:00
Peter Hutterer
d213bdb86e
data: add a test for duplicate DeviceMatch lines
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-01 09:22:03 +10:00
Peter Hutterer
e69e1de17b
devices: drop the G700s wireless entry
...
The G700 and G700s both use the receiver's product id, so they both end up
having the same DeviceMatch. One of those two never gets loaded but which one
is implementation-defined and may change accidentally.
Let's drop the G700s entry because the G700 is closer to a lowest comon
denominator. Once we have kernel support for the actual product id, we can
re-instante them.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-08-01 09:22:03 +10:00
Filipe Laíns
cad05ffced
hidpp20/data: add the G305
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-08-01 09:20:47 +10:00
Filipe Laíns
196d53e65f
hidpp20: add quirk system
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-08-01 09:20:47 +10:00
Peter Hutterer
c606b1abe3
tools: flake8 fixes
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-31 09:08:06 +10:00
Peter Hutterer
b4009669b9
ratbagd: Add an APIVersion property to make version checks easier
...
While the DBus API is still in flux, things can break at any time.
Keeping piper and libratbag in version-step works terribly, doubly so where
piper is flatpaked but ratbagd comes from some repo somewhere. We can't check
at build-time, we can't run ratbagd --version at runtime.
so let's add a version field for now and drop it if we ever get to stable.
Meanwhile, ratbagd.py will throw an exception if the expected version doesn't
match exactly.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-31 09:08:06 +10:00
Peter Hutterer
d458305f93
tools: ratbagdctl.test: if an exception occurs during startup, terminate
...
Don't leave a ratbagd.devel process hanging if something goes wrong.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-31 09:08:06 +10:00
Peter Hutterer
9c11960665
ratbagd: document the various commandline options in the man page
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-31 08:46:19 +10:00
Peter Hutterer
e8fc8b45d1
ratbagd: drop the hardcoded test device
...
Force the tests to load a test device with JSON that matches their
expectations instead of having a magic device pre-setup where the tests have
to know what the values are.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-31 08:36:16 +10:00
Peter Hutterer
e64a121572
tools: switch the button tests over to json
2019-07-31 08:36:16 +10:00
Peter Hutterer
607e47953c
tools: switch led tests to use the json parsing
2019-07-31 08:36:16 +10:00
Peter Hutterer
a5816055dc
tools: switch the report rate to json
2019-07-31 08:36:16 +10:00
Peter Hutterer
62ac0772f5
tools: switch the dpi test to json
2019-07-31 08:36:16 +10:00
Peter Hutterer
fc9e63a5aa
tools: switch the resolution tests to use the json loading
2019-07-31 08:36:16 +10:00
Peter Hutterer
936a8f7a92
tools: switch the ratbagctl.test to use the new json loading
2019-07-31 08:36:16 +10:00
Peter Hutterer
818e665853
ratbagd: add ability to load json for test devices
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-31 08:36:16 +10:00
Peter Hutterer
3a3b11ade4
ratbagctl: autogenerate the choices list for the specials and led modes
...
Let's not maintain that list manually if we can fetch it from the enums.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-30 12:39:11 +02:00
Peter Hutterer
3bc31edd72
circle CI: add meson plain and release build types
...
Fixes #770
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-30 12:31:01 +02:00
Peter Hutterer
485df20a83
tools: fix typo in ratbagd.py
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-30 19:30:11 +10:00
Peter Hutterer
49291c4b45
ratbagd: encode the test device path without underscores
...
sd-bus encodes underscores as _5f which looks like memory corruption. Let's
skip them, they don't add value anyway.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-30 19:28:07 +10:00
Filipe Laíns
02ec2442d3
hidpp20: add support for RGB Effects feature (0x8071)
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-07-30 15:12:10 +10:00
Filipe Laíns
a8b4d9c6f3
hidpp20: add new profile layout (0x04)
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-07-30 15:11:54 +10:00
Peter Hutterer
22a6ac1c7e
hidpp10: make raw debugging messages a bit easier to read
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-30 12:01:42 +10:00
Peter Hutterer
42c302c860
tools: fix a few comments referring to old names
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-29 09:53:36 +10:00
Peter Hutterer
e2b1581aef
tools: ratbagctl.test: set the data dir correctly
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-29 09:35:56 +10:00
Peter Hutterer
10a3e87980
meson.build: remove unused fallback SVG name
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-29 06:55:30 +10:00
Peter Hutterer
2d465a63e1
meson: drop the unused libratbag version define
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-29 06:52:14 +10:00
Eric Culp
c2315323f4
meson.build: fix builds with --buildtype=plain
...
When building with --buildtype=plain, the build fails with the following
error:
cc1: error: ‘-Wformat-security’ ignored without ‘-Wformat’ [-Werror=format-security]
-Werror=format-security was recently added in 43def1b3a5 by #745
2019-07-27 09:43:49 +10:00
Peter Hutterer
05d7e9b324
ratbagd: poke DBus to reload its config after installing the devel policy
...
Fixes #753
2019-07-26 16:42:01 +10:00
Peter Hutterer
71a399f20f
ratbagd: encode the test device iteration in the test device name
...
The sequence triggered by the ratbagctl.test suite is:
- DBus call Commit()
- ratbagd schedules the callback as idle func
- DBus call ResetTestDevice()
- ratbagd cleans up the test device
- callback is called on next idle
- boom! the device is already freed
To avoid this, we need to take a ref of the device while it's being scheduled
for the commit handling. But that blocks the object paths for new test devices
because the test device name is encoded in those paths (like "hidraw" for real
devices) and it doesn't change. So let's add a count to the test device name
to make sure the new device doesn't re-use the old device's paths.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 16:41:04 +10:00
Peter Hutterer
8259c2e706
ratbagd: introduce ref/unref for ratbagd_device pointers
...
We'll need to keep references around to devices even when caller is done with
them.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 16:41:04 +10:00
Peter Hutterer
89980a4a72
meson: add the prefix to the dbus dir
...
Otherwise where the directory is used within meson.build, the prefix would be
missing. No real effect since we don't use it anywhere but let's be safe.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 09:34:31 +10:00
Peter Hutterer
79e94b4a7e
ratbagd: install the devel dbus policy file on startup
...
Don't rely on some other tool to install the policy file, let's just do this
in ratbagd.devel directly so it's immediately executable.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 09:34:31 +10:00
Peter Hutterer
122f05c272
tools: drop the RATBAGCTL_DEVEL environ, just use RATBAG_TEST instead
...
Which is the same env that ratbagd uses as well. And we don't have variable
values in RATBAGCTL_DEVEL anymore, so no point in having two different
variables here.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 09:34:31 +10:00
Peter Hutterer
b06ac1035e
tools: add --use-existing-ratbagd to the ratbagctl.test script as well
...
This makes it possible to run the script against a manually started
ratbagd.devel - with a lot less effort.
And since we're don't need to be root to do this, let's move that check too.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 09:34:31 +10:00
Peter Hutterer
647fe432b2
tools: add argument to ratbagctl.devel to connect to running ratbagd
...
This makes it a lot easier to start ratbagd.devel in gdb, then run
ratbagctl.devel against it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 09:34:31 +10:00
Peter Hutterer
4e2e9f037b
Drop the ratbagctl.devel sha bus name
...
We already have a separate name for the devel bus anyway, the git sha doesn't
give us a huge amount of benefits but makes manual debugging a major PITA.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 09:34:31 +10:00
Peter Hutterer
f92fee0b15
meson: document the various built bits a bit better
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-26 09:34:31 +10:00
Peter Hutterer
d7c394f379
tools: ratbactl.test: if RATBAGCTL_DEVEL is set, use the existing server
...
When there's a bug that's triggered by the test suite it's hard to figure out
what exactly crashes. So allow starting ratbagd.devel manually and run the
test suite against that process so we can gdb it.
The steps required for this are a bit insane, so the instructions are listed.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-25 21:38:12 +10:00
Peter Hutterer
7fec19f8f2
test: switch the resolution capabilities to an array
...
Just like the profile ones
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-25 09:08:55 +02:00
Peter Hutterer
11c1e2d71a
Fix setting the capability flags on the resolutions
...
2 hours of debugging... ffs
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-25 09:08:55 +02:00
Peter Hutterer
e2cbaf9dea
tools: print the Model in ratbagctl info
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-25 07:26:27 +02:00
Peter Hutterer
bf9d86e228
hidpp10: if the profile name is the empty string, make it NULL
...
Because our profile struct can never have an NULL name, let's assume the
empty string equals NULL.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-25 13:02:18 +10:00
Filipe Laíns
f24a3bd441
hidpp20: fix 0x1001 comments, add missing ASE and use get_unaligned_be_u16
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-07-24 19:17:31 +10:00
Filipe Laíns
df5742ebfe
libratbag-util: move data manipulation functions out of hidpp-generic
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-07-24 19:17:21 +10:00
Peter Hutterer
0c569e0bf7
tools: use super() in the ratbagctl test
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-24 09:16:24 +02:00
Peter Hutterer
5ea1731f38
tools: use super() without arguments in ratbagctl
...
I *think* this is a Python2 leftover or something. Either way, let's remove
it.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-24 09:16:24 +02:00
Peter Hutterer
572064aba8
tools: use super() instead of the named parent class in ratbagd.py
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-24 09:16:24 +02:00
Peter Hutterer
da2764e78d
Append the created profiles/leds/buttons/resolutions, don't insert
...
We're initializing them with incrementing indices, let's make sure the list is
initialized that way too. Makes things more obvious in the log when the first
profile to be queried from the device isn't profile 4.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-23 13:47:11 +02:00
Peter Hutterer
4e56afae22
roccat: use the new get/set feature helpers
...
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-23 13:46:23 +02:00
Peter Hutterer
d46251900c
hidraw: add a feature report get/set helper functions
...
No real functional changes since they just forward to the existing function.
But it reduces the cognitive load a bit when reading the code.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-23 13:46:23 +02:00
Peter Hutterer
43def1b3a5
meson.build: enable -Werror=format-security
...
We don't want to accidentally ignore those.
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net >
2019-07-19 07:17:45 +02:00
Filipe Laíns
247ff7695d
data: add MX Vertical
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-07-19 07:57:53 +10:00
Filipe Laíns
7a14026f2d
hidpp20: fix warnings
...
Signed-off-by: Filipe Laíns <lains@archlinux.org >
2019-07-17 15:13:51 +01:00