def mouseDown(x=None, y=None, button='<STR_LIT:left>', duration=<NUM_LIT:0.0>, tween=linear, pause=None, _pause=True):
if button not in ('<STR_LIT:left>', '<STR_LIT>', '<STR_LIT:right>', <NUM_LIT:1>, <NUM_LIT:2>, <NUM_LIT:3>):<EOL><INDENT>raise ValueError("<STR_LIT>" % button)<EOL><DEDENT>_failSafeCheck()<EOL>x, y = _unpackXY(x, y)<EOL>_mouseMoveDrag('<STR_LIT>', x, y, <NUM_LIT:0>, <NUM_LIT:0>, duration=<NUM_LIT:0>, tween=None)<EOL>x, y = platformModule._position() <EOL>if button == <NUM_LIT:1> or str(button).lower() == '<STR_LIT:left>':<EOL><INDENT>platformModule._mouseDown(x, y, '<STR_LIT:left>')<EOL><DEDENT>elif button == <NUM_LIT:2> or str(button).lower() == '<STR_LIT>':<EOL><INDENT>platformModule._mouseDown(x, y, '<STR_LIT>')<EOL><DEDENT>elif button == <NUM_LIT:3> or str(button).lower() == '<STR_LIT:right>':<EOL><INDENT>platformModule._mouseDown(x, y, '<STR_LIT:right>')<EOL><DEDENT>_autoPause(pause, _pause)<EOL>
Performs pressing a mouse button down (but not up).

    The x and y parameters detail where the mouse event happens. If None, the
    current mouse position is used. If a float value, it is rounded down. If
    outside the boundaries of the screen, the event happens at edge of the
    screen.

    Args:
      x (int, float, None, tuple, optional): The x position on the screen where the
        mouse down happens. None by default. If tuple, this is used for x and y.
        If x is a str, it's considered a filename of an image to find on
        the screen with locateOnScreen() and click the center of.
      y (int, float, None, optional): The y position on the screen where the
        mouse down happens. None by default.
      button (str, int, optional): The mouse button pressed down. Must be one of
        'left', 'middle', 'right' (or 1, 2, or 3) respectively. 'left' by
        default.

    Returns:
      None

    Raises:
      ValueError: If button is not one of 'left', 'middle', 'right', 1, 2, or 3