Commit Graph

342 Commits

Author SHA1 Message Date
pixl
237fa5fbd3
Merge pull request #414 from wprzytula/fix-uint8_t-cid
fix bug: represent cid as `uint16_t`, not `uint8_t`
2024-05-27 19:55:13 -07:00
pixl
456efb4db0
Merge pull request #441 from pasanflo/patch-1
Update TESTED.md
2024-05-27 19:54:49 -07:00
pixl
d79d050bf4
Merge pull request #415 from kostadinsh/gcc-14
Add include <algorithm> to fix building with gcc 14
2024-05-27 19:50:21 -07:00
Pablo Sánchez Flores
e9f8072a0c
Update TESTED.md
I've tested my Logitech MX Master 3S with LogiOps, and I can see that it's working with the config name as shown on the PR.
2024-03-04 13:17:30 +01:00
Kostadin Shishmanov
da742af3a5
Add include <algorithm> to fix building with gcc 14
With gcc 14 some C++ Standard Library headers have been changed to no longer include other headers that were being used internally by the library. In logiops's case it is the <algorithm> header.

Downstream Gentoo bug:
https://bugs.gentoo.org/917002

GCC 14 porting guide:
https://gcc.gnu.org/gcc-14/porting_to.html

Signed-off-by: Kostadin Shishmanov <kocelfc@tutanota.com>
2023-11-07 19:10:29 +02:00
Wojciech Przytuła
700070c651 fix bug: represent cid as uint16_t
The function ReprogControlsV4::setControlReporting() erroneously took
cid as uint8_t. Because of that, reports contained only lower byte
of any cid, so any ReprogControls request for such cid resulted
in error response. Lack of error response handling in this library
led to timeout.

E.g.:
```
[DEBUG] Configuring button: 0x103
[RAWREPORT] /dev/hidraw1 OUT: 11 ff 08 32 00 03 22 01 03 00 00 00 00 00 00 00 00 00 00 00
[RAWREPORT] /dev/hidraw1 IN:  11 ff ff 08 32 02 00 00 00 00 00 00 00 00 00 00 00 00 00 00
```
We can see only lower byte (03) of `cid` present. Thus we get an error
response (with feature id `ff`), but the logiops keeps waiting for
response with feature id `08` and hence eventually timeouts.
2023-11-07 16:22:50 +01:00
pixl
94f6dbab53
Merge pull request #399 from PixlOne/cmake-fixes
CMake fixes: NDEBUG in None build type and allow shared ipcgull library
2023-07-12 17:39:21 -04:00
pixl
f2680bdf5f
Use NDEBUG for None build type 2023-07-12 14:08:59 -04:00
pixl
d51fd5c344
Update ipcgull to allow for shared library options 2023-07-12 14:03:08 -04:00
pixl
31d1955faf
Merge pull request #390 from PixlOne/fix-iomon-locks
Resolve deadlocking when adding to IOMonitor
2023-07-12 13:59:18 -04:00
pixl
cb7a2dad7c
Resolve deadlocking when adding to IOMonitor
Do not lock run_mutex while running an I/O handler.
2023-05-20 20:55:01 -04:00
pixl
5767aac362
Merge pull request #380 from PixlOne/fix-wakeup-memleak 2023-05-18 21:15:53 -04:00
pixl
64962a8ed3
Merge pull request #378 from PixlOne/remove-dbus-check
Remove check if DBus is found
2023-05-16 15:42:28 -04:00
pixl
b4a9d4460e
Remove check if DBus is found
Broken on Ubuntu and leads to DBus policy not being installed, DBus
is required anyways right now so remove this check. Fixes #371.
2023-05-16 15:37:24 -04:00
pixl
b81f935bcd
Only create one waiter per device on receiver 2023-05-16 15:34:11 -04:00
pixl
5e32120b2c
Fix broken pipes and improve receiver handling
Retry before failing on broken pipe error (fixes Nano receiver),
and test for virtual devices without I/O.
2023-05-16 15:16:11 -04:00
pixl
be5ee9f793
Exit gracefully upon return
Stop all worker threads when main thread exits.
2023-05-15 16:38:49 -04:00
pixl
a361f206ff
Only call wakeup test once
Ensures that wakeup check does not occur multiple times and possibly
create new event handlers on every HID packet.
2023-05-15 16:38:49 -04:00
pixl
f85cd5ba62
Avoid event handler data races 2023-05-15 16:38:01 -04:00
pixl
4ae58b81a3
Use RAII for IOMonitor locks
May solve faulty IO monitor locking and solve #374.
2023-05-15 16:37:54 -04:00
pixl
30ade71edf
Merge pull request #375 from PixlOne/udev-enum-fix
Do not terminate on bad udev device
2023-05-10 22:30:04 -04:00
pixl
eb5b3ca481
Do not terminate on bad udev device
Skip the device in this case since this could occur if the device is
removed. Fixes #373
2023-05-10 22:23:10 -04:00
pixl
be840b333a
Merge pull request #324 from wooparadog/master
Set 0 buffer for stdout
2023-05-08 15:33:14 -04:00
WooParadog
99716cbd99
Set 0 buffer for stdout
So that journald can follow its logs
2023-05-08 15:29:36 -04:00
pixl
3fb18a7d5f
Merge pull request #261 from leios76/master
support smartshift(0x2111) on mx anywhere3
2023-05-08 15:12:10 -04:00
Minsoo Kim
1503a1b2ca
support smartshift(0x2111) on mx anywhere3 2023-05-08 15:02:29 -04:00
pixl
a77b328b35
Use PROJECT_SOURCE_DIR across CMakeLists 2023-05-04 01:31:54 -04:00
pixl
4e70095281
Fix building outside out of source dir 2023-05-04 01:19:51 -04:00
pixl
1d7ff5e034
Fix make-release github action 2023-05-04 01:13:04 -04:00
pixl
1267db027c
Fix build test status in README 2023-05-04 00:20:39 -04:00
pixl
bb8e0b4a78
Add GitHub Actions for build test and releases
Adds a build test for ubuntu (latest, 20.04), archlinux, and fedora
and makes a tarball including submodules.
2023-05-04 00:16:07 -04:00
pixl
a96036c97d
Fix compiler warnings on Ubuntu and code cleanup
Fixes some compiler warnings, avoids using anonymous namespaces as much
and removes manual inlining for config.
2023-05-03 21:31:05 -04:00
pixl
5e436a2bdf
Fix none gesture not working
Also fixes gestures on MX Master 3S by ignoring the first movement
event. Fixes #366 and #339.
2023-05-03 18:38:46 -04:00
pixl
5547f52cad
Do not restart logid on failure
logid is not as buggy as before and should not randomly crash.
Generally failures will repeat and the user should investigate
why it fails before restarting.
2023-05-03 17:51:14 -04:00
pixl
2815fc50f8
Update ipcgull to fix stdexcept errors
Fixes #368
2023-05-03 17:49:54 -04:00
pixl
2df4351ff8
Merge pull request #369 from PixlOne/cxx2a-fixes
Fix c++2a compatibility
2023-05-03 17:40:36 -04:00
pixl
0945fa1fe8
Fix c++2a compatibility
Adds gcc 9 support.
2023-05-03 17:35:56 -04:00
pixl
4c406c7363
Fix compiler errors and warnings on Ubuntu 20.04
Also fixes some warnings and errors seen on clang.
2023-05-03 15:14:51 -04:00
pixl
7147825539
Call libconfig read/write file with C strings
Older libconfig versions don't support calling these functions with
std::string, fixes #364.
2023-05-03 14:28:06 -04:00
pixl
c27a6edae8
Merge pull request #365 from jw910731/master
Fix #363 by changing ipcgull submodule upstream url to http protocol
2023-05-03 14:23:04 -04:00
jw910731
9b020a9f9c
Change ipcgull submodule upstream url to http protocol 2023-05-04 01:07:36 +08:00
pixl
9cf7e438cd
Merge pull request #359 from vitek/m575
Add Ergo m575 to the list of tested devices
2023-05-02 22:41:22 -04:00
pixl
e238dce6f1
Merge branch 'master' into m575 2023-05-02 22:41:08 -04:00
pixl
44e319d770
Do not throw error if config file does not exist 2023-05-02 22:09:58 -04:00
pixl
c5a9c1d0a4
Merge pull request #358 from kalenpw/master
Confirm MX Master 3 for Mac support
2023-05-02 21:16:16 -04:00
pixl
c88f8b9b53
Update TESTED.md 2023-05-02 21:16:00 -04:00
pixl
fbd915e201
Merge pull request #346 from ckiee/config-invalid-enforce
logid: Fail on invalid Configurations
2023-05-02 21:08:38 -04:00
pixl
cdca3e8312
Merge branch 'master' into config-invalid-enforce 2023-05-02 21:07:56 -04:00
pixl
bd8b905e27
Fix versioning 2023-05-02 19:23:04 -04:00
pixl
0072093424
Update OpenSUSE dependencies 2023-05-02 19:22:15 -04:00