This content relates to a deprecated version of Mbed

Mbed 2 is now deprecated. For the latest version please see the Mbed OS documentation.

The USBMouseKeyboard interface is used to emulate a mouse and a keyboard at the same time over the USB port.

The USB connector should be attached to

  • p31 (D+), p32 (D-) and GND for the LPC1768 and the LPC11U24
  • The on-board USB connector of the FRDM-KL25Z

Hello World

Import program

00001 #include "mbed.h"
00002 #include "USBMouseKeyboard.h"
00004 //LED1: NUM_LOCK
00005 //LED2: CAPS_LOCK
00007 BusOut leds(LED1, LED2, LED3);
00009 //USBMouseKeyboard
00010 USBMouseKeyboard key_mouse;
00012 int main(void) {
00013     while (1) {
00014         key_mouse.mediaControl(KEY_VOLUME_DOWN);
00015         key_mouse.printf("Hello World from Mbed\r\n");
00016         key_mouse.keyCode('s', KEY_CTRL);
00017         key_mouse.move(20, 0);
00018         key_mouse.keyCode(KEY_SCROLL_LOCK);
00019         wait(1);
00020         leds = key_mouse.lockStatus();
00021     }
00022 }


Import library

Public Member Functions

USBMouseKeyboard (MOUSE_TYPE mouse_type=REL_MOUSE, uint16_t vendor_id=0x0021, uint16_t product_id=0x0011, uint16_t product_release=0x0001)
bool update (int16_t x, int16_t y, uint8_t buttons, int8_t z)
Write a state of the mouse.
bool move (int16_t x, int16_t y)
Move the cursor to (x, y)
bool press (uint8_t button)
Press one or several buttons.
bool release (uint8_t button)
Release one or several buttons.
bool doubleClick ()
Double click (MOUSE_LEFT)
bool click (uint8_t button)
bool scroll (int8_t z)
bool keyCode (uint8_t key, uint8_t modifier=0)
To send a character defined by a modifier(CTRL, SHIFT, ALT) and the key.
virtual int _putc (int c)
Send a character.
bool mediaControl (MEDIA_KEY key)
Control media keys.
uint8_t lockStatus ()
Read status of lock keys.
bool send (HID_REPORT *report)
Send a Report.
bool sendNB (HID_REPORT *report)
Send a Report.
bool read (HID_REPORT *report)
Read a report: blocking.
bool readNB (HID_REPORT *report)
Read a report: non blocking.


You can choose either a relative mouse or an absolute mouse with the keyboard. By default, a USBMouseKeyboard is a relative mouse and a keyboard

All wikipages