summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Hutterer <peter.hutterer@who-t.net>2024-12-16 11:52:18 +1000
committerMarge Bot <emma+marge@anholt.net>2024-12-18 08:49:34 +0000
commitd63689003f72e0f0a8d2fe48a487f283b042aecb (patch)
treecc8acb64ec3bdb196c4779a01c5c955c32c31777
parenteef065075925d48754c992302c16f8b54ccc40fe (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-xtools/libinput-measure-touch-size.py13
-rwxr-xr-xtools/libinput-measure-touchpad-pressure.py13
-rwxr-xr-xtools/libinput-measure-touchpad-tap.py12
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)