def mouse_move(
        self,
        x: Optional[Union[str, int]] = None,
        y: Optional[Union[str, int]] = None,
        *,
        speed: Optional[int] = None,
        relative: bool = False,
        send_mode: Optional[SendMode] = None,
        blocking: bool = True,
        coord_mode: Optional[CoordModeRelativeTo] = None,
    ) -> Union[None, FutureResult[None]]:
        """
        Analog for `MouseMove <https://www.autohotkey.com/docs/commands/MouseMove.htm>`_
        """
        if relative and (x is None or y is None):
            x = x or 0
            y = y or 0
        elif not relative and (x is None or y is None):
            posx, posy = self.get_mouse_position()
            x = x or posx
            y = y or posy

        if speed is None:
            speed = 2
        args = [str(x), str(y), str(speed)]
        if relative:
            args.append('R')
        else:
            args.append('')
        if send_mode:
            args.append(send_mode)
        else:
            args.append('')

        if coord_mode:
            args.append(coord_mode)
        else:
            args.append('')

        resp = self._transport.function_call('AHKMouseMove', args, blocking=blocking)
        return resp

        Analog for `MouseMove <https://www.autohotkey.com/docs/commands/MouseMove.htm>`_
        
ahk/_sync/engine.py