Commit Graph

18 Commits

Author SHA1 Message Date
pixl
0fbeb1e3c9 Add Gesture support
Only supports OnRelease right now. Also, some bugs were spotted while
writing this:

 - Sometimes deadlocks on startup (cause unknown)
 - Sometimes valid CIDs will be unknown (bug may have been fixed?)
2020-07-12 16:16:24 -04:00
pixl
41049deb35 Fix compiler warnings 2020-07-12 16:16:24 -04:00
pixl
d6f5c35983 Add HiresScroll hidpp20 feature 2020-07-12 16:16:24 -04:00
pixl
5bf5dc75b5 Implement RemapButton feature
Many changes were made here, too many to list here.
2020-07-12 16:16:22 -04:00
pixl
0b87d3c664 Fixed bug: odd devices would fail Root GetFeature
Some devices throw an hidpp20::Error InvalidFeatureIndex when Root
GetFeature is called with some features (e.g. 0x1b04) as the parameter.

Since Root is a required feature in the HID++ 2.0 protocol, this error
can safely be ignored and treated as an UnsupportedFeature.

Fixes bug in #20 where the Logitech PRO headset would not work.
2020-07-12 16:15:48 -04:00
pixl
3129cda581 Add hidpp20 ReprogControls support 2020-07-12 16:15:48 -04:00
pixl
4e33ad7593 Add SmartShift Device feature 2020-07-12 16:15:48 -04:00
pixl
5abf777e00 Add SmartShift hidpp20 feature 2020-07-12 16:15:48 -04:00
pixl
5f76ccc4ac Implement AdjustableDPI feature 2020-07-12 16:15:48 -04:00
pixl
ef0a0fab8d Support Reset (0x0020) feature 2020-07-12 16:15:48 -04:00
pixl
7ae46c938d Implement FeatureSet feature 2020-07-12 16:15:48 -04:00
pixl
22455af615 Add GPL copyright notice in all C++ source files 2020-07-12 16:15:32 -04:00
pixl
dd75df8c18 Use consistent code style
Only files that are currently used in logid are changed.
2020-07-12 16:14:25 -04:00
pixl
e40da5f0c0 Implement receiver HID++ connect/disconnect events
Many changes were made here but that was the biggest one.

There's currently a bug where std::system_error: Broken pipe is thrown
after launching the daemon with a receiver connector.

A workaround for this bug is to simply shake the mouse while starting
the daemon. I will investigate this soon.
2020-07-12 16:14:24 -04:00
pixl
7f1af81910 Rewrite logid::DeviceMonitor 2020-07-12 16:14:21 -04:00
pixl
cc025d3b96 Fully implement Root and virutal Feature class 2020-07-12 16:13:53 -04:00
pixl
c21a923ab2 Print version number of device 1 on each raw dev.
Only works on HID++ >=2.0 so far. Also solves a race condition where
the wrong response can be sent to a request.
2020-07-12 16:13:53 -04:00
pixl
14d07c220e Create enum of feature IDs 2020-07-12 16:13:53 -04:00