From: Peter Hutterer Date: Mon, 16 Dec 2024 01:52:18 +0000 (+1000) Subject: tools: only warn once about our lack of support for multiple fingers X-Git-Tag: 1.27.1~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=d63689003f72e0f0a8d2fe48a487f283b042aecb;p=platform%2Fupstream%2Flibinput.git tools: only warn once about our lack of support for multiple fingers Part-of: --- 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)