You are viewing an older revision! See the latest version

USBMouseKeyboard

Beta only!

This library is in beta, and only works with the betamode compiler and the beta libraries.

To use these, ensure you have enabled /betamode for the compiler, and that you import these examples as the basis for your experiments to ensure the beta mbed library is pulled in.

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

USB pins are available on p31 (D+) and p32 (D-)

Hello World

USBMouseKeyboard Hello World

#include "mbed.h"
#include "USBMouseKeyboard.h"

//Bus of leds
BusOut leds(LED1, LED2, LED3);
USBMouseKeyboard key_mouse(REL_MOUSE, &leds);

int main(void) {
    while (1) {
        key_mouse.mediaControl(KEY_VOLUME_DOWN);
        key_mouse.printf("Hello World from Mbed\r\n");
        key_mouse.keyCode('s', KEY_CTRL);
        key_mouse.move(20, 0);
        key_mouse.keyCode(KEY_SCROLL_LOCK);
        wait(1);
    }
}

Import programUSBMouseKeyboard_HelloWorld

USBMouseKeyboard Hello World

API

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)
Constructor.
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)
Click.
bool scroll (int8_t z)
Scrolling.
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.

Details

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