Example #1
0
 def button_action(self, pointer, button, pressed, _deviceid=-1, *args):
     if button <= 3:
         #we should be using CGEventCreateMouseEvent
         #instead we clear previous clicks when a "higher" button is pressed... oh well
         args = []
         for i in range(button):
             args.append(i == (button - 1) and pressed)
         log("CG.CGPostMouseEvent(%s, %s, %s, %s)", pointer[:2], 1, button,
             args)
         CG.CGPostMouseEvent(pointer[:2], 1, button, *args)
     else:
         if not pressed:
             #we don't simulate press/unpress
             #so just ignore unpressed events
             return
         wheel = (button - 2) // 2
         direction = 1 - (((button - 2) % 2) * 2)
         args = []
         for i in range(wheel):
             if i != (wheel - 1):
                 args.append(0)
             else:
                 args.append(direction)
         log("CG.CGPostScrollWheelEvent(%s, %s)", wheel, args)
         CG.CGPostScrollWheelEvent(wheel, *args)
Example #2
0
 def _process_button_action(self, proto, packet):
     wid, button, pressed, pointer, modifiers = packet[1:6]
     log("process_button_action(%s, %s)", proto, packet)
     self._update_modifiers(proto, wid, modifiers)
     self._process_mouse_common(proto, wid, pointer)
     pointer = self._adjust_pointer(pointer)
     if button <= 3:
         #we should be using CGEventCreateMouseEvent
         #instead we clear previous clicks when a "higher" button is pressed... oh well
         args = []
         for i in range(button):
             args.append(i == (button - 1) and pressed)
         log("CG.CGPostMouseEvent(%s, %s, %s, %s)", pointer, 1, button,
             args)
         CG.CGPostMouseEvent(pointer, 1, button, *args)
     else:
         if not pressed:
             #we don't simulate press/unpress
             #so just ignore unpressed events
             return
         wheel = (button - 2) // 2
         direction = 1 - (((button - 2) % 2) * 2)
         args = []
         for i in range(wheel):
             if i != (wheel - 1):
                 args.append(0)
             else:
                 args.append(direction)
         log("CG.CGPostScrollWheelEvent(%s, %s)", wheel, args)
         CG.CGPostScrollWheelEvent(wheel, *args)
Example #3
0
 def button_action(self, pointer, button, pressed, _deviceid=-1, *_args):
     if button <= 3:
         #we should be using CGEventCreateMouseEvent
         #instead we clear previous clicks when a "higher" button is pressed... oh well
         event = [pointer[:2], 1, button]
         for i in range(button):
             event.append(i == (button - 1) and pressed)
         r = CG.CGPostMouseEvent(*event)
         log("CG.CGPostMouseEvent%s=%s", event, r)
         return
     if not pressed:
         #we don't simulate press/unpress
         #so just ignore unpressed events
         return
     wheel = (button - 2) // 2
     direction = 1 - (((button - 2) % 2) * 2)
     event = [wheel]
     for i in range(wheel):
         if i != (wheel - 1):
             event.append(0)
         else:
             event.append(direction)
     r = CG.CGPostScrollWheelEvent(*event)
     log("CG.CGPostScrollWheelEvent%s=%s", event, r)