diff options
author | Peter Hutterer <peter.hutterer@who-t.net> | 2024-12-16 11:52:18 +1000 |
---|---|---|
committer | Marge Bot <emma+marge@anholt.net> | 2024-12-18 08:49:34 +0000 |
commit | d63689003f72e0f0a8d2fe48a487f283b042aecb (patch) | |
tree | cc8acb64ec3bdb196c4779a01c5c955c32c31777 | |
parent | eef065075925d48754c992302c16f8b54ccc40fe (diff) |
tools: only warn once about our lack of support for multiple fingers
Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1096>
-rwxr-xr-x | tools/libinput-measure-touch-size.py | 13 | ||||
-rwxr-xr-x | tools/libinput-measure-touchpad-pressure.py | 13 | ||||
-rwxr-xr-x | tools/libinput-measure-touchpad-tap.py | 12 |
3 files changed, 26 insertions, 12 deletions
diff --git a/tools/libinput-measure-touch-size.py b/tools/libinput-measure-touch-size.py index 43f14cda..6e01740a 100755 --- a/tools/libinput-measure-touch-size.py +++ b/tools/libinput-measure-touch-size.py @@ -206,6 +206,8 @@ class Device(libevdev.Device): self.sequences = [] self.touch = Touch(0, 0) + self.warned = False + def find_touch_device(self): context = pyudev.Context() for device in context.list_devices(subsystem="input"): @@ -259,10 +261,13 @@ class Device(libevdev.Device): libevdev.EV_KEY.BTN_TOOL_QUINTTAP, ] if event.code in tapcodes and event.value > 0: - print( - "\rThis tool cannot handle multiple fingers, " "output will be invalid", - file=sys.stderr, - ) + if not self.warned: + self.warned = True + print( + "\rThis tool cannot handle multiple fingers, " + "output will be invalid", + file=sys.stderr, + ) def handle_abs(self, event): if event.matches(libevdev.EV_ABS.ABS_MT_TRACKING_ID): diff --git a/tools/libinput-measure-touchpad-pressure.py b/tools/libinput-measure-touchpad-pressure.py index 5d145fc3..f4babe1c 100755 --- a/tools/libinput-measure-touchpad-pressure.py +++ b/tools/libinput-measure-touchpad-pressure.py @@ -293,10 +293,15 @@ def handle_key(device, event): libevdev.EV_KEY.BTN_TOOL_QUINTTAP, ] if event.code in tapcodes and event.value > 0: - print( - "\r\033[2KThis tool cannot handle multiple fingers, " - "output will be invalid" - ) + try: + if handle_key.warned: + return + except AttributeError: + handle_key.warned = True + print( + "\r\033[2KThis tool cannot handle multiple fingers, " + "output will be invalid" + ) def handle_abs(device, event): diff --git a/tools/libinput-measure-touchpad-tap.py b/tools/libinput-measure-touchpad-tap.py index c33acfc7..3719228f 100755 --- a/tools/libinput-measure-touchpad-tap.py +++ b/tools/libinput-measure-touchpad-tap.py @@ -100,6 +100,7 @@ class Device(libevdev.Device): raise InvalidDeviceError("device does not have BTN_TOUCH") self.touches = [] + self.warned = False def _find_touch_device(self): context = pyudev.Context() @@ -141,10 +142,13 @@ class Device(libevdev.Device): libevdev.EV_KEY.BTN_TOOL_QUINTTAP, ] if event.code in tapcodes and event.value > 0: - error( - "\rThis tool cannot handle multiple fingers, " "output will be invalid" - ) - return + if not self.warned: + self.warned = True + error( + "\rThis tool cannot handle multiple fingers, " + "output will be invalid" + ) + return if event.matches(libevdev.EV_KEY.BTN_TOUCH): self.handle_btn_touch(event) |