diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2018-10-31 09:55:17 +1000 |
---|---|---|
committer | Peter Hutterer <peter.hutterer@who-t.net> | 2018-11-06 00:24:06 +0000 |
commit | 27bf3fb2abaaa84fdccefded39b87097a6efab83 (patch) | |
tree | 10fd64ac608534a8d024ac0bd98b74500a88078e /tools/libinput-measure-touchpad-pressure.py | |
parent | 6041d0ba696947fb28967e5132de7fe8a5faa179 (diff) | |
download | libinput-27bf3fb2abaaa84fdccefded39b87097a6efab83.tar.gz |
tools: allow measuring single-touch ABS_PRESSURE
Fixes #173
Signed-off-by: Peter Hutterer <peter.hutterer@who-t.net>
Diffstat (limited to 'tools/libinput-measure-touchpad-pressure.py')
-rwxr-xr-x | tools/libinput-measure-touchpad-pressure.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/tools/libinput-measure-touchpad-pressure.py b/tools/libinput-measure-touchpad-pressure.py index c04d8d6d..a7a2e34b 100755 --- a/tools/libinput-measure-touchpad-pressure.py +++ b/tools/libinput-measure-touchpad-pressure.py @@ -170,7 +170,12 @@ class Device(object): caps = all_caps.get(evdev.ecodes.EV_ABS, []) p = [cap[1] for cap in caps if cap[0] == evdev.ecodes.ABS_MT_PRESSURE] if not p: - raise InvalidDeviceError("device does not have ABS_MT_PRESSURE") + p = [cap[1] for cap in caps if cap[0] == evdev.ecodes.ABS_PRESSURE] + if not p: + raise InvalidDeviceError("device does not have ABS_PRESSURE/ABS_MT_PRESSURE") + self.has_mt_pressure = False + else: + self.has_mt_pressure = True p = p[0] prange = p.max - p.min @@ -247,7 +252,8 @@ def handle_abs(device, event): except IndexError: # If the finger was down at startup pass - elif event.code == evdev.ecodes.ABS_MT_PRESSURE: + elif ((event.code == evdev.ecodes.ABS_MT_PRESSURE) or + (event.code == evdev.ecodes.ABS_PRESSURE and not device.has_mt_pressure)): try: s = device.current_sequence() s.append(Touch(pressure=event.value)) |