Commit Graph

46 Commits

Author SHA1 Message Date
pixl
8348782f27 Implement ThumbWheel feature
This feature has not been tested as it only works on devices with the
0x2150 Thumb wheel feature (e.g. MX Master 3).
2020-08-22 16:59:10 -04:00
pixl
cce1275385 Implement HID++ 2.0 ThumbWheel (0x2150) 2020-08-21 20:29:06 -04:00
Michail Terezakis
3561b1f487 Add ThresholdGesture. 2020-08-16 19:57:31 +03:00
pixl
cfcdca00a0 Add DeviceStatus device feature
Should fix bug #66.
2020-07-18 22:55:51 -04:00
pixl
1551c4ded0 Add hidpp20 WirelessDeviceStatus feature 2020-07-18 22:46:47 -04:00
pixl
0928b39e03 Add ChangeHostAction support 2020-07-15 17:43:24 -04:00
pixl
d59daf86e2 Add ChangeHost hidpp20 feature 2020-07-15 15:18:28 -04:00
pixl
8f073d66c3 Remove unused dependencies 2020-07-12 16:21:26 -04:00
pixl
b00b4645e4 Add ChangeDPI action 2020-07-12 16:16:25 -04:00
pixl
949a1ee283 Add CycleDPI action 2020-07-12 16:16:24 -04:00
pixl
21b7455919 Add NullAction support 2020-07-12 16:16:24 -04:00
pixl
4117d71c9d Add NoPress gesture mode 2020-07-12 16:16:24 -04:00
pixl
10bb10e5c5 Add Axis gesture 2020-07-12 16:16:24 -04:00
pixl
ecfd03fd21 Add OnInterval/OnFewPixels gesture 2020-07-12 16:16:24 -04:00
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
1f3fa53721 Add workqueue system 2020-07-12 16:16:24 -04:00
pixl
02d361b541 Add ToggleHiresScroll action 2020-07-12 16:16:24 -04:00
pixl
77f4240ec7 Add ToggleSmartShift action 2020-07-12 16:16:24 -04:00
pixl
055d136b09 Add HiresScroll device feature 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
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
07b8fc1af4 Add DPI feature 2020-07-12 16:15:48 -04:00
pixl
f6b93b94af Split Configuration into several classes
Each feature should handle its own configuration.
2020-07-12 16:15:48 -04:00
pixl
5f76ccc4ac Implement AdjustableDPI feature 2020-07-12 16:15:48 -04:00
pixl
1106133f3c Move logger into util/log.h 2020-07-12 16:15:48 -04:00
pixl
d84363019b Create a safe thread wrapper 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
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
c04408c2dd Implement logid::backend::dj::ReceiverMonitor 2020-07-12 16:14:24 -04:00
pixl
6bfa52e5c1 Remove libhidpp submodule 2020-07-12 16:14:24 -04:00
pixl
f0c903d539 Rename DeviceMonitor to DeviceManager 2020-07-12 16:14:24 -04:00
pixl
7f1af81910 Rewrite logid::DeviceMonitor 2020-07-12 16:14:21 -04:00
pixl
b41649b0de Implement dj::Receiver class
Again, many things were done here.
2020-07-12 16:13:54 -04:00
pixl
ecc5062e0f Support getting version of HID++ 1.0 devices 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
6b895b3015 Monitor all HID++ reports on wireless device 1
Again, many things were done in this commit such as implementing an
I/O queue, a mutex_queue, and implementing the hidpp::Report class.

I'm expecting commits to be like this until I can get a clean
codebase for the backend.
2020-07-12 16:13:53 -04:00
pixl
ec4ae56bc4 Implement raw DeviceMonitor
Multiple things have been done in this commit; the base of the new
backend has effectively been created. This branch currently has many
vital parts commented out. Therefore, this branch is currently only
intended for debugging.
2020-07-12 16:13:40 -04:00
Ayman Bagabas
1e86dc49f6 Add libconfig to CMake pkg_check_modules 2019-10-02 21:13:06 -04:00
PixlOne
ca04204a8c Use receiver events to listen for devices 2019-10-02 18:41:10 -04:00
PixlOne
00df833c54 Add libhidpp as submodule 2019-09-22 22:51:01 -04:00
PixlOne
b55db6777e Add logid service & install target 2019-08-09 14:25:40 -04:00
PixlOne
9c092edcf3 Major refactoring, transferring from masterd 2019-07-17 01:53:51 -04:00