USB device stack, with KL25Z fixes for USB 3.0 hosts and sleep/resume interrupt handling

Dependents:   frdm_Slider_Keyboard idd_hw2_figlax_PanType idd_hw2_appachu_finger_chording idd_hw3_AngieWangAntonioDeLimaFernandesDanielLim_BladeSymphony ... more

Fork of USBDevice by mbed official

Embed: (wiki syntax)

« Back to documentation index

USBKeyboard Class Reference

USBKeyboard Class Reference

USBKeyboard example. More...

#include <USBKeyboard.h>

Inherits USBHID.

Public Member Functions

 USBKeyboard (uint16_t vendor_id=0x1235, uint16_t product_id=0x0050, uint16_t product_release=0x0001)
 Constructor.
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 sendTO (HID_REPORT *report, int timeout_ms)
 Send a Report with timeout.
bool read (HID_REPORT *report)
 Read a report: blocking.
bool readNB (HID_REPORT *report)
 Read a report: non blocking.
bool writeTO (uint8_t endpoint, uint8_t *buffer, uint32_t size, uint32_t maxSize, int timeout_ms)
 Write a certain endpoint.

Detailed Description

USBKeyboard example.

 #include "mbed.h"
 #include "USBKeyboard.h"

 USBKeyboard key;

 int main(void)
 {
   while (1)
   {
       key.printf("Hello World\r\n");
       wait(1);
   }
 }

Definition at line 92 of file USBKeyboard.h.


Constructor & Destructor Documentation

USBKeyboard ( uint16_t  vendor_id = 0x1235,
uint16_t  product_id = 0x0050,
uint16_t  product_release = 0x0001 
)

Constructor.

Parameters:
ledsLeds bus: first: NUM_LOCK, second: CAPS_LOCK, third: SCROLL_LOCK
vendor_idYour vendor_id (default: 0x1235)
product_idYour product_id (default: 0x0050)
product_releaseYour preoduct_release (default: 0x0001)

Definition at line 105 of file USBKeyboard.h.


Member Function Documentation

int _putc ( int  c ) [virtual]

Send a character.

Parameters:
ccharacter to be sent
Returns:
true if there is no error, false otherwise

Definition at line 449 of file USBKeyboard.cpp.

bool keyCode ( uint8_t  key,
uint8_t  modifier = 0 
)

To send a character defined by a modifier(CTRL, SHIFT, ALT) and the key.

 //To send CTRL + s (save)
  keyboard.keyCode('s', KEY_CTRL);
Parameters:
modifierbit 0: KEY_CTRL, bit 1: KEY_SHIFT, bit 2: KEY_ALT (default: 0)
keycharacter to send
Returns:
true if there is no error, false otherwise

Definition at line 453 of file USBKeyboard.cpp.

uint8_t lockStatus (  )

Read status of lock keys.

Useful to switch-on/off leds according to key pressed. Only the first three bits of the result is important:

  • First bit: NUM_LOCK
  • Second bit: CAPS_LOCK
  • Third bit: SCROLL_LOCK
Returns:
status of lock keys

Definition at line 445 of file USBKeyboard.cpp.

bool mediaControl ( MEDIA_KEY  key )

Control media keys.

Parameters:
keymedia key pressed (KEY_NEXT_TRACK, KEY_PREVIOUS_TRACK, KEY_STOP, KEY_PLAY_PAUSE, KEY_MUTE, KEY_VOLUME_UP, KEY_VOLUME_DOWN)
Returns:
true if there is no error, false otherwise

Definition at line 485 of file USBKeyboard.cpp.

bool read ( HID_REPORT *  report ) [inherited]

Read a report: blocking.

Parameters:
reportpointer to the report to fill
Returns:
true if successful

Definition at line 50 of file USBHID.cpp.

bool readNB ( HID_REPORT *  report ) [inherited]

Read a report: non blocking.

Parameters:
reportpointer to the report to fill
Returns:
true if successful

Definition at line 62 of file USBHID.cpp.

bool send ( HID_REPORT *  report ) [inherited]

Send a Report.

warning: blocking

Parameters:
reportReport which will be sent (a report is defined by all data and the length)
Returns:
true if successful

Definition at line 34 of file USBHID.cpp.

bool sendNB ( HID_REPORT *  report ) [inherited]

Send a Report.

warning: non blocking

Parameters:
reportReport which will be sent (a report is defined by all data and the length)
Returns:
true if successful

Definition at line 39 of file USBHID.cpp.

bool sendTO ( HID_REPORT *  report,
int  timeout_ms 
) [inherited]

Send a Report with timeout.

Blocks until the report has been sent or the timeout expires, whichever comes first.

Parameters:
reportReport to be sent
timeout_msTimeout in milliseconds
Returns:
true if successful

Definition at line 44 of file USBHID.cpp.

bool writeTO ( uint8_t  endpoint,
uint8_t *  buffer,
uint32_t  size,
uint32_t  maxSize,
int  timeout_ms 
) [inherited]

Write a certain endpoint.

Blocks until the report has been sent successfully, or until the timeout expires, whichever comes first.

Parameters:
endpointendpoint to write
bufferdata contained in buffer will be write
sizethe number of bytes to write
maxSizethe maximum length that can be written on this endpoint
timeout_mstimeout in milliseconds
Returns:
true if successful, false on error or timeout

Definition at line 928 of file USBDevice.cpp.