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
bc8f1a983a
Add configurable I/O timeout
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
71b0ddd279
Add reset mechanism to logid::Device
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
c382ba1c0b
Add getFeature function to Device
2020-07-12 16:15:48 -04:00
pixl
b445b979d3
Remove some useless debug output
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
181be50f88
Use unique pointer for global device manager
...
Changed from raw pointer to a unique_ptr, also renamed from finder to
device_manager
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
4ba9248038
Use safe thread class instead of std::thread
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
60e47572d6
Add GPL copyright notice to DeviceFeature.h
2020-07-12 16:15:48 -04:00
pixl
152b9e6cfd
Add interface for device features in logid::Device
2020-07-12 16:15:48 -04:00
pixl
1d001237ba
Monitor wake up/sleep events with Receiver
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
bd080e7ef6
Fix bug described in 698971a
...
Feels like a hacky workaround, may come back to this later.
2020-07-12 16:14:24 -04:00
pixl
261d82390b
Assert report ID and length before sending
2020-07-12 16:14:24 -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
b05e525bbc
Add RawReport log level
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
fb0b8e88ef
Clean up temporary code
2020-07-12 16:14:24 -04:00
pixl
f2a7b7b947
Fix long report descriptor check
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
47db60fad8
Fix swapped DefaultDevice and CordedDevice indexes
2020-07-12 16:13:53 -04:00
pixl
ecc5062e0f
Support getting version of HID++ 1.0 devices
2020-07-12 16:13:53 -04:00
pixl
7571be1f54
Don't create a new thread for each raw event
...
Threads should be created as necessary, there is no reason to
launch a simple event handler in a new thread.
2020-07-12 16:13:53 -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
pixl
91954e8a73
Use shared_ptr for devices in DeviceMonitor
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
PixlOne
526ffec61a
Implement reload method
2020-07-12 16:03:32 -04:00
PixlOne
6316b89840
Reorganise logid.cpp
2020-07-12 16:01:52 -04:00
PixlOne
6e7445b197
Add versioning to logiops binaries
2020-07-12 16:00:33 -04:00
Azeem Jiva
d0242f53c8
Add string headers to allow building on latest gcc
2020-07-04 11:36:53 -07:00
pixl
ef84577b9c
Add ability to blacklist devices
2020-07-04 00:10:44 -04:00
zvon
a8abe89cd1
Only prit CIDs the first time a device connects
2020-06-11 18:26:42 +02:00
zvon
a69ba7787e
Log device's available CIDs
2020-06-10 15:26:45 +02:00
pixl
78f2d74cc1
Update hiddp submodule
2020-05-15 18:57:05 -04:00
PixlOne
0c5291083d
Move StartLimitIntervalSec to Unit
...
Solution to #51 , thanks levaidaniel
2020-05-15 04:07:17 -04:00
Fabio Streun
97b174f6df
Fix DeviceConfig default initialization
...
Initialize smartshift to nullptr.
Otherwise, the device configuration contains a SmartshiftStatus, even though, none was declared in the configuration file.
This causes later an error if the device does not support SmartShift.
2020-05-14 12:43:25 +02:00
PixlOne
2ed3efaed4
Make logid service restart after failure
...
Workaround, should fix bug #39 .
2020-04-07 15:07:06 -04:00
PixlOne
00298c00ab
Make gesture constructor require fewer arguments
2020-04-02 02:09:03 -04:00
PixlOne
5a913552b1
Make OnFewPixels require a pixels field.
...
Fixes bug #29 .
2020-04-01 02:31:46 -04:00
PixlOne
da689cad35
Set timeout error severity to DEBUG
2020-03-31 16:07:55 -04:00
PixlOne
f3edab82ce
Fix unsupported functions on ReprogControls
2020-03-29 18:05:52 -04:00
PixlOne
38dcc65d4b
Use camelCase for function names
2019-10-05 21:27:17 -04:00
PixlOne
9272666ffe
Use logid namespace
2019-10-04 21:56:17 -04:00
PixlOne
295a469505
Update hidpp submodule
2019-10-04 21:54:38 -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
0002d9f536
Fix bluetooth reconnection events
2019-09-21 13:29:12 -04:00
rockerbacon
a03e13936c
Renamed method
2019-09-20 18:48:44 -03:00
rockerbacon
874b9101e5
Removed list include in DeviceFinder
2019-09-20 18:36:21 -03:00
rockerbacon
cf39d9f680
Fixed map include in DeviceFinder
2019-09-20 18:34:36 -03:00
rockerbacon
21b6c2367f
Formatted variable names to conform with snail case standard
2019-09-20 18:24:30 -03:00
rockerbacon
34509ad6d6
Using error code to check for resource error
2019-09-20 18:15:52 -03:00
rockerbacon
03560b08df
Fixed error that caused logid to stop querying asleep devices
2019-09-20 18:03:23 -03:00
rockerbacon
ba0bf93b80
Switched device removal and insertion responsibility to DeviceFinder
2019-09-20 17:20:06 -03:00
rockerbacon
13bce5cc76
Added mutex to devices to avoid cuncurrency issues
2019-09-13 11:21:26 -03:00
pixl
d5c5c9040c
Merge pull request #2 from rockerbacon/clean-warnings
...
Add virtual destructor to ButtonAction + extra warning flag
2019-09-11 20:45:46 -04:00
PixlOne
4dff144798
I forget what I did here.
2019-09-11 20:41:44 -04:00
rockerbacon
15ed6dd454
Changed tab to 4 spaces
2019-09-11 12:50:23 -03:00
rockerbacon
934a76f017
Added virtual destructor to abstract class ButtonActions to avoid errors during destruction of child classes
2019-09-11 12:40:06 -03:00
PixlOne
8d2ae4c3c4
Fixed bug where mouse would not reconfigure
2019-08-17 19:58:00 -04:00
PixlOne
b55db6777e
Add logid service & install target
2019-08-09 14:25:40 -04:00
PixlOne
c2b5fceaf5
Add command line options
2019-08-08 22:13:50 -04:00
PixlOne
e36750f8cd
Undivert unused CIDs
2019-08-08 20:17:10 -04:00
PixlOne
268908e5a7
Implement additional gesture modes
2019-08-08 18:22:54 -04:00
PixlOne
52f6a667d0
Add config info in README
2019-07-29 22:56:20 -04:00
PixlOne
b95cc60fd1
Use events instead of continous pinging
2019-07-28 02:08:18 -04:00
PixlOne
fef5ade956
Add Reprog Controls V3 support
2019-07-22 19:47:09 -04:00
PixlOne
9c092edcf3
Major refactoring, transferring from masterd
2019-07-17 01:53:51 -04:00