Esempio n. 1
0
    def double_click(self, x, y, button_name=LEFT_BUTTON, click_interval=0.5):
        MacUtils.verify_xy_coordinates(x, y)
        MacUtils.verify_mouse_button_name(button_name,
                                          self._SUPPORTED_BUTTON_NAMES)

        if button_name == self.LEFT_BUTTON:
            button = CG.kCGMouseButtonLeft
            down = CG.kCGEventLeftMouseDown
            up = CG.kCGEventLeftMouseUp
        if button_name == self.RIGHT_BUTTON:
            button = CG.kCGMouseButtonRight
            down = CG.kCGEventRightMouseDown
            up = CG.kCGEventRightMouseUp

        # http://www.codeitive.com/0iJqgkejVj/performing-a-double-click-using-cgeventcreatemouseevent.html
        event = CG.CGEventCreateMouseEvent(None, down, (x, y), button)
        CG.CGEventPost(CG.kCGSessionEventTap, event)
        CG.CGEventSetType(event, up)
        CG.CGEventPost(CG.kCGSessionEventTap, event)

        CG.CGEventSetIntegerValueField(event, CG.kCGMouseEventClickState, 2)
        # https://msdn.microsoft.com/en-us/library/windows/desktop/ms646263%28v=vs.85%29.aspx
        sleep(click_interval)

        CG.CGEventSetType(event, down)
        CG.CGEventPost(CG.kCGSessionEventTap, event)
        CG.CGEventSetType(event, up)
        CG.CGEventPost(CG.kCGSessionEventTap, event)
Esempio n. 2
0
    def double_click(self, x, y, button_name=LEFT_BUTTON):
        MacUtils.verify_xy_coordinates(x, y)
        MacUtils.verify_mouse_button_name(button_name,
                                          self._SUPPORTED_BUTTON_NAMES)

        if button_name == self.LEFT_BUTTON:
            button = CG.kCGMouseButtonLeft
            down = CG.kCGEventLeftMouseDown
            up = CG.kCGEventLeftMouseUp
        if button_name == self.RIGHT_BUTTON:
            button = CG.kCGMouseButtonRight
            down = CG.kCGEventRightMouseDown
            up = CG.kCGEventRightMouseUp

        # http://www.codeitive.com/0iJqgkejVj/performing-a-double-click-using-cgeventcreatemouseevent.html
        event = CG.CGEventCreateMouseEvent(None, down, (x, y), button)
        CG.CGEventPost(CG.kCGHIDEventTap, event)
        CG.CGEventSetType(event, up)
        CG.CGEventPost(CG.kCGHIDEventTap, event)

        CG.CGEventSetIntegerValueField(event, CG.kCGMouseEventClickState, 2)

        CG.CGEventSetType(event, down)
        CG.CGEventPost(CG.kCGHIDEventTap, event)
        CG.CGEventSetType(event, up)
        CG.CGEventPost(CG.kCGHIDEventTap, event)
Esempio n. 3
0
    def click_mouse(self):
        point = CG.CGPointMake(self.width / 2, 250)
        # Move mouse to top-middle position.
        move = CG.CGEventCreateMouseEvent(None, CG.kCGEventMouseMoved, point,
                                          CG.kCGMouseButtonLeft)
        # Mouse down.
        down = CG.CGEventCreateMouseEvent(NULL, CG.kCGEventLeftMouseDown,
                                          point, CG.kCGMouseButtonLeft)
        # Mouse up.
        up = CG.CGEventCreateMouseEvent(NULL, CG.kCGEventLeftMouseUp, point,
                                        CG.kCGMouseButtonLeft)

        #send the events
        CG.CGEventPost(CG.kCGHIDEventTap, move)
        CG.CGEventPost(CG.kCGHIDEventTap, down)
        time.sleep(0.05)
        CG.CGEventPost(CG.kCGHIDEventTap, up)
Esempio n. 4
0
 def move_mouse(self):
     x = random.randint(0, self.width)
     y = random.randint(0, self.height)
     #create the event
     move = CG.CGEventCreateMouseEvent(None, CG.kCGEventMouseMoved,
                                       CG.CGPointMake(x, y),
                                       CG.kCGMouseButtonLeft)
     #send the event
     CG.CGEventPost(CG.kCGHIDEventTap, move)
Esempio n. 5
0
    def _mouse_event(self,
                     event_type,
                     x,
                     y,
                     mouse_button=CG.kCGMouseButtonLeft):
        if mouse_button not in [CG.kCGMouseButtonLeft, CG.kCGMouseButtonRight]:
            raise TypeError('Pikuli.MacMouse: incorrect mouse button type')

        evt = CG.CGEventCreateMouseEvent(None, event_type, (x, y),
                                         mouse_button)
        CG.CGEventPost(CG.kCGHIDEventTap, evt)
        return evt
Esempio n. 6
0
    def _do_event(self, code, x, y):
        """
        Generates mouse event for a special coordinate.

        :param int code: mouse event code.
        :param int x: x coordinate.
        :param int y: y coordinate.
        """
        if code in self._LEFT_BUTTON_CODES:
            button = CG.kCGMouseButtonLeft
        elif code in self._RIGHT_BUTTON_CODES:
            button = CG.kCGMouseButtonRight
        else:
            button = CG.kCGMouseButtonCenter

        CG.CGEventPost(CG.kCGHIDEventTap,
                       CG.CGEventCreateMouseEvent(None, code, (x, y), button))
Esempio n. 7
0
    def _do_event(self, code, x, y):
        """
        Generates mouse event for a special coordinate.

        Arguments:
            - code: integer value holding mouse event code.
            - x: integer value with x coordinate.
            - y: integer value with y coordinate.
        Returns:
            - None
        """

        if code in self._LEFT_BUTTON_CODES:
            button = CG.kCGMouseButtonLeft
        elif code in self._RIGHT_BUTTON_CODES:
            button = CG.kCGMouseButtonRight
        else:
            button = CG.kCGMouseButtonCenter

        CG.CGEventPost(CG.kCGHIDEventTap,
                       CG.CGEventCreateMouseEvent(None, code, (x, y), button))
Esempio n. 8
0
def mouse_event(type, posx, posy):
    theEvent = cg.CGEventCreateMouseEvent(None, type, (posx, posy),
                                          cg.kCGMouseButtonLeft)
    cg.CGEventPost(cg.kCGHIDEventTap, theEvent)