The USBHost library allows an Arduino Due board to appear as a USB host, enabling it to communicate with peripherals like USB mice and keyboards. USBHost does not support devices that are connected through USB hubs. This includes some keyboards that have an internal hub. This library is compatible with Arduino Due only.
NoteThe USBHost library and associated functions are experimental. While it is not likely the API will change in future releases, it is still under development. *The USBHost library is distributed under the General Public License version 2 (GPL2) as published by the Free Software Foundation. Any sketch that uses the library needs to be open-sourced under the GPL2 as well.
Mouse ControllerThe MouseController library enables communication between a connected USB mouse and the Due.
Arduino Function: USBHost.Mouse.mouseReleased
Arduino Function: USBHost.Mouse.mousePressed
Arduino Function: USBHost.Mouse.mouseMoved
Arduino Function: USBHost.Mouse.mouseDragged
Arduino Function: USBHost.Mouse.MouseController
Arduino Function: USBHost.Mouse.getYChange
Arduino Function: USBHost.Mouse.getXChange
Arduino Function: USBHost.Mouse.getButton
Keyboard ControllerThe KeyboardController library enables communication with a connected USB keyboard.
Keyboards that connect through an internal USB hub will not work. This includes most Apple keyboards that have been tested.