This page is also available in 2 other languages

Mouse

[USB]

Description

The mouse functions enable 32u4 or SAMD micro based boards to control cursor movement on a connected computer through their micro’s native USB port. When updating the cursor position, it is always relative to the cursor’s previous location.

Compatible Hardware

HID is supported on the following boards:

Board Supported Pins

Leonardo

All digital & analog pins

Micro

All digital & analog pins

Due

All digital & analog pins

Zero

All digital & analog pins

UNO R4 Minima

All digital & analog pins

UNO R4 WiFi

All digital & analog pins

Giga R1

All digital & analog pins

Nano ESP32

All digital & analog pins

MKR Family

All digital & analog pins

Notes and Warnings

These core libraries allow the 32u4 and SAMD based boards (Leonardo, Esplora, Zero, Due and MKR Family) to appear as a native Mouse and/or Keyboard to a connected computer.

A word of caution on using the Mouse and Keyboard libraries: if the Mouse or Keyboard library is constantly running, it will be difficult to program your board. Functions such as Mouse.move() and Keyboard.print() will move your cursor or send keystrokes to a connected computer and should only be called when you are ready to handle them. It is recommended to use a control system to turn this functionality on, like a physical switch or only responding to specific input you can control. Refer to the Mouse and Keyboard examples for some ways to handle this.

When using the Mouse or Keyboard library, it may be best to test your output first using Serial.print(). This way, you can be sure you know what values are being reported.

See also