def button_press(self, mapper): if self.button in mapper.pressed and mapper.pressed[self.button] > 0: # Uses scheduler to generate release-press-release-press sequence. self.lst = [ ButtonAction._button_release, ButtonAction._button_press, ButtonAction._button_release, ButtonAction._button_press, ] self._rel_tap_press(mapper) else: ButtonAction._button_press(mapper, self.button) mapper.schedule(0, self._scheduled_release)
def button_press(self, mapper): if self.button in mapper.pressed and mapper.pressed[self.button] > 0: # Uses scheduler to generate release-press-release-press sequence. self.lst = [ ButtonAction._button_release, ButtonAction._button_press, ButtonAction._button_release, ButtonAction._button_press, ] self._rel_tap_press(mapper) else: ButtonAction._button_press(mapper, self.button) mapper.schedule(0, self._scheduled_release)
def _rel_tap_press(self, mapper): if not self.button in mapper.pressed or mapper.pressed[self.button] < self.COUNTER_VAL: # Something else tried to _release_ button in meanwhile, bail out mapper.pressed[self.button] = 1 ButtonAction._button_release(mapper, self.button) return self._bailout() elif mapper.pressed[self.button] > self.COUNTER_VAL: # Something else pressed button in meanwhile, bail out mapper.pressed[self.button] = 1 return self._bailout() a, self._lst = self._lst[0], self._lst[1:] if a: mapper.pressed[self.button] = 0 ButtonAction._button_press(mapper, self.button) else: mapper.pressed[self.button] = 1 ButtonAction._button_release(mapper, self.button) if len(self._lst): mapper.pressed[self.button] = self.COUNTER_VAL mapper.schedule(self.PAUSE, self._rel_tap_press)
def button_press(self, mapper): ButtonAction._button_press(mapper, self.button)
def button_press(self, mapper): ButtonAction._button_press(mapper, self.button)