Part-of: <https://gitlab.freedesktop.org/libinput/libinput/-/merge_requests/1096>
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"):
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):
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):
raise InvalidDeviceError("device does not have BTN_TOUCH")
self.touches = []
+ self.warned = False
def _find_touch_device(self):
context = pyudev.Context()
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)