Exemple #1
0
 def _tablet_wheel_cb(self, instance, wheel_motion, buttons_state):
     self._tablet_buttons_cb(instance, buttons_state)
     if wheel_motion < 0:
         SpiceClientGLib.inputs_button_press(self._inputs_channel, MOUSE_UP,
                                             self._tablet_buttons_state)
         SpiceClientGLib.inputs_button_release(self._inputs_channel,
                                               MOUSE_UP,
                                               self._tablet_buttons_state)
     if wheel_motion > 0:
         SpiceClientGLib.inputs_button_press(self._inputs_channel,
                                             MOUSE_DOWN,
                                             self._tablet_buttons_state)
         SpiceClientGLib.inputs_button_release(self._inputs_channel,
                                               MOUSE_DOWN,
                                               self._tablet_buttons_state)
Exemple #2
0
 def _tablet_buttons_cb(self, instance, buttons_state):
     # TODO Need to swap middle and right buttons - why?
     buttons_state = (
         buttons_state
         & ~6) | (buttons_state & 2) << 1 | (buttons_state & 4) >> 1
     for button in (MOUSE_LEFT, MOUSE_MIDDLE, MOUSE_RIGHT):
         mask = 1 << (button - 1)
         if (buttons_state
                 & mask) and not (self._tablet_buttons_state & mask):
             SpiceClientGLib.inputs_button_press(self._inputs_channel,
                                                 button, mask)
             self._tablet_buttons_state = self._tablet_buttons_state | mask
         if (self._tablet_buttons_state
                 & mask) and not (buttons_state & mask):
             SpiceClientGLib.inputs_button_release(self._inputs_channel,
                                                   button, mask)
             self._tablet_buttons_state = self._tablet_buttons_state & ~mask