Commit Graph

154 Commits

Author SHA1 Message Date
pixl
0a26579d5a
Merge pull request #200 from deamn/master
Add <thread> to Device.cpp, fixes issue #199
2021-03-13 20:24:54 -05:00
pixl
214af3d6bb
Merge pull request #215 from PixlOne/fix/thumbwheel
Fix ThumbWheel feature direction bug
2021-03-13 19:30:30 -05:00
pixl
48399a1dd4
Fix ThumbWheel feature direction bug
Should fix #145 for the MX Master 3
2021-03-13 17:55:53 -05:00
Oskar Haarklou Veileborg
f0de58e76e Fix missing release of ThumbWheel touch 2021-03-02 12:20:01 +01:00
Nicolas De Amicis
7462a11a5a
Update Device.cpp 2021-02-03 16:38:43 +01:00
max
1f02882971 Enable axis in virtual_input device only when needed 2020-12-21 11:50:04 +01:00
max
15de10344a In error case set device and ui_device to nullptr 2020-12-15 13:59:06 +01:00
max
8280bc2505 Enable some keys by default and enable more on request
if the user chooses to use such keys in the config.
2020-12-14 22:10:07 +01:00
max
f8eb77cad7 Register keys for keypress only when needed
there seems to be an issue that with too many registered events some window
manager cannot recognize the device as input device with systemd 247.

PixlOne#166
2020-12-14 20:51:47 +01:00
Kristóf Marussy
911e91eeeb
Enable fewer EV_KEY events in InputDevice
Fixes #166

Starting with systemd 247 (?), desktop environments fail to recognize
the virtual input device if it has too many enabled libinput events.

It seems like KEY_ROTATE_LOCK_TOGGLE as the highest enabled event is a
good limit. This is the highest evdev event mapped by xkb, so the
usefulness higher events is limited, anyways.
2020-12-14 19:49:51 +01:00
Kristóf Marussy
c261b6582c
Cleanup in InputDevice 2020-12-14 19:49:28 +01:00
pixl
ec8115634d
Revert "Enable compatibility with libconfig older than v1.5" 2020-11-23 15:42:29 -05:00
Kevin Abraham
28a93b2df4 Enable compatibility with older versions of libconfig (such as the one shipped with RHEL/CentOS 7) 2020-11-22 12:12:29 -05:00
pixl
3b4b90dac0
Support NoPress gesture mode on none direction
Fix #122, makes logid.example.cfg accurate.
2020-09-05 18:12:56 -04:00
pixl
4cfc2515d5
Fix ThumbWheel setStatus arg alignment 2020-09-05 18:00:18 -04:00
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
a8e2ecbcd7
Add HiresScroll destructor 2020-08-21 21:46:33 -04:00
pixl
b554d32cf3
Fix InputDevice on distros without hires axes 2020-08-21 21:02:24 -04:00
pixl
cce1275385
Implement HID++ 2.0 ThumbWheel (0x2150) 2020-08-21 20:29:06 -04:00
pixl
63ecbc411e
Fix InputDevice missing header on some systems 2020-08-21 20:09:02 -04:00
pixl
41903992ef
Fix ThresholdGesture
Style fixes, allow to compile, add copyright notice.
2020-08-21 16:57:40 -04:00
pixl
e570e7b91e
Merge pull request #115 from michtere/master
Add ThresholdGesture.
2020-08-21 16:54:07 -04:00
pixl
c1423e345e
Support HiresScroll gesture remapping
This commit allows HiresScroll (when target is true) to map the up and
down events to gestures that support it (i.e.AxisGesture/
IntervalGesture). This check is done by checking if wheelCompatibility()
is true.

This also allows hires scroll events to send low-res scroll events as
well.

TODO: Fix bug w/ Chromium (and some other programs?) where mapping
scroll wheel to REL_WHEEL_HI_RES will cause the program to skip events
occassionally. I have literally been stuck on this bug for a week and I
still don't know what causes it. evtest shows proper scroll events,
Firefox works fine, and libinput test-gui reports proper scrolling.
2020-08-21 16:05:20 -04:00
Michail Terezakis
3561b1f487 Add ThresholdGesture. 2020-08-16 19:57:31 +03:00
pixl
6ea65601f3
Fix typo in HiresScroll 2020-08-02 02:34:58 -04:00
pixl
34b8047360
Refer to receiver from receiver devices 2020-07-20 00:25:04 -04:00
pixl
1056dfa032
Don't use DeviceStatus on unifying devices 2020-07-20 00:07:35 -04:00
pixl
78c0788be6
Fix bad removeDevice map check 2020-07-19 23:48:24 -04:00
pixl
168c28d1e4
Wait for device to initialize before addDevice
For some reason, hidpp20 device names were badly set (e.g.
'Wireless Mouse MWireless' instead of 'Wireless Mouse MX Master').
Adding a 100ms delay to addDevice seems to have fixed it.
2020-07-19 01:35:26 -04:00
pixl
9607c32520
Fix issue where I/O would hang
RawDevice will now interruptRead() on pushing an event to the I/O
queue. This will prevent the listener from waiting for an event to
be received before handling an I/O request.
2020-07-19 01:22:56 -04: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
82ff2bdf38
Create features::UnsupportedFeature exception
Creates an abstraction layer for hidpp10/hidpp20/etc. UnsupportedFeature
exceptions.
2020-07-18 21:15:39 -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
f51ba0f681
Remove unused assert warnings when building Release 2020-07-15 13:27:21 -04:00
pixl
56d10898fb
Print CIDs on device connect 2020-07-15 00:26:39 -04:00
pixl
018bdb83ad
Add ability to ignore devices 2020-07-14 16:21:14 -04:00
pixl
497ec07bdf
Properly set PID on dummy connect events 2020-07-14 16:20:58 -04:00
pixl
89b9829b84
Fix bug where GetPairingInfo would be offset by -1. 2020-07-14 16:20:06 -04:00
pixl
d3d4a2755a
Apply clang-tidy inspections 2020-07-14 00:12:40 -04:00
pixl
937225b6f2
TODO cleanup: Remove error check todo in DeviceManager 2020-07-13 22:44:22 -04:00
pixl
825967b140
TODO cleanup: Add PowerSwitchLocation enum 2020-07-13 22:42:23 -04:00
pixl
944a6419b4
Remove unused DeviceFinder.cpp
How'd that get in here anyways?
2020-07-13 22:06:15 -04:00
pixl
3659ec25fb
Add additional DJ report descriptor
Should fix invalid DJ reports in #100.
2020-07-13 22:04:50 -04:00
pixl
a2718d9023
Fix undetected CIDs 2020-07-13 15:29:40 -04:00
pixl
0f60c3896c
Fix usbhid-dump SIGSEGV on #100 2020-07-13 15:12:28 -04:00
pixl
dde2993223
Fix crashes when logid starts as root
If logid scans every device, it will either SIGSEGV or not work at all.
This commit should fix bug #100.
2020-07-13 01:14:15 -04:00
pixl
8f073d66c3
Remove unused dependencies 2020-07-12 16:21:26 -04:00
pixl
4ce76f5927
Listen for events on receiver device on timeout
Previously, if a receiver device didn't respond during the initial scan,
logid would not recognize it until it sent a wakeup/connect event.

This makes it so if the device times out, logid will listen for the next
event from the device and try detecting it. (e.g. shaking the mouse will
make it become detected)
2020-07-12 16:16:50 -04:00