> ## Documentation Index
> Fetch the complete documentation index at: https://docs.openinterpreter.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Computer API

The following functions are designed for language models to use in Open Interpreter, currently only supported in [OS Mode](/guides/os-mode/).

### Display - View

Takes a screenshot of the primary display.

```python theme={null}
interpreter.computer.display.view()
```

### Display - Center

Gets the x, y value of the center of the screen.

```python theme={null}
x, y = interpreter.computer.display.center()
```

### Keyboard - Hotkey

Performs a hotkey on the computer

```python theme={null}
interpreter.computer.keyboard.hotkey(" ", "command")
```

### Keyboard - Write

Writes the text into the currently focused window.

```python theme={null}
interpreter.computer.keyboard.write("hello")
```

### Mouse - Click

Clicks on the specified coordinates, or an icon, or text. If text is specified, OCR will be run on the screenshot to find the text coordinates and click on it.

```python theme={null}
# Click on coordinates
interpreter.computer.mouse.click(x=100, y=100)

# Click on text on the screen
interpreter.computer.mouse.click("Onscreen Text")

# Click on a gear icon
interpreter.computer.mouse.click(icon="gear icon")
```

### Mouse - Move

Moves to the specified coordinates, or an icon, or text. If text is specified, OCR will be run on the screenshot to find the text coordinates and move to it.

```python theme={null}
# Click on coordinates
interpreter.computer.mouse.move(x=100, y=100)

# Click on text on the screen
interpreter.computer.mouse.move("Onscreen Text")

# Click on a gear icon
interpreter.computer.mouse.move(icon="gear icon")
```

### Mouse - Scroll

Scrolls the mouse a specified number of pixels.

```python theme={null}
# Scroll Down
interpreter.computer.mouse.scroll(-10)

# Scroll Up
interpreter.computer.mouse.scroll(10)
```

### Clipboard - View

Returns the contents of the clipboard.

```python theme={null}
interpreter.computer.clipboard.view()
```

### OS - Get Selected Text

Get the selected text on the screen.

```python theme={null}
interpreter.computer.os.get_selected_text()
```

### Mail - Get

Retrieves the last `number` emails from the inbox, optionally filtering for only unread emails. (Mac only)

```python theme={null}
interpreter.computer.mail.get(number=10, unread=True)
```

### Mail - Send

Sends an email with the given parameters using the default mail app. (Mac only)

```python theme={null}
interpreter.computer.mail.send("john@email.com", "Subject", "Body", ["path/to/attachment.pdf", "path/to/attachment2.pdf"])
```

### Mail - Unread Count

Retrieves the count of unread emails in the inbox. (Mac only)

```python theme={null}
interpreter.computer.mail.unread_count()
```

### SMS - Send

Send a text message using the default SMS app. (Mac only)

```python theme={null}
interpreter.computer.sms.send("2068675309", "Hello from Open Interpreter!")
```

### Contacts - Get Phone Number

Returns the phone number of a contact name. (Mac only)

```python theme={null}
interpreter.computer.contacts.get_phone_number("John Doe")
```

### Contacts - Get Email Address

Returns the email of a contact name. (Mac only)

```python theme={null}
interpreter.computer.contacts.get_phone_number("John Doe")
```

### Calendar - Get Events

Fetches calendar events for the given date or date range from all calendars. (Mac only)

```python theme={null}
interpreter.computer.calendar.get_events(start_date=datetime, end_date=datetime)
```

### Calendar - Create Event

Creates a new calendar event. Uses first calendar if none is specified (Mac only)

```python theme={null}
interpreter.computer.calendar.create_event(title="Title", start_date=datetime, end_date=datetime, location="Location", notes="Notes", calendar="Work")
```

### Calendar - Delete Event

Delete a specific calendar event. (Mac only)

```python theme={null}
interpreter.computer.calendar.delete_event(event_title="Title", start_date=datetime, calendar="Work")
```
