self._active_gesture = SingleFingerMoveGesture(self, update) elif update.n_touches == 2: self._active_gesture = TwoFingerSwipePinchGesture(self, update) elif update.n_touches > 2: self._active_gesture = HigherSwipeGesture(self, update) if self._active_gesture is not None: if was_pending and not self._active_gesture.pending: for l in self._listeners: l(self._active_gesture) if __name__ == '__main__': from touchpad import find_all_touchpads, Touchpad # type: ignore def callback(gesture: Gesture) -> None: print("New Gesture: %s" % gesture) gesture.listener(GestureListener( lambda values: print(values), lambda: print("---- Terminated ----") )) event = list(find_all_touchpads())[0][1] touchpad = Touchpad(event) gestures = Gestures( touchpad ) gestures.listener(callback) touchpad.run()