Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
USBHID/usbhid.h
- Committer:
 - norberts 
 - Date:
 - 2011-08-28
 - Revision:
 - 0:207850946233
 - Child:
 - 2:1a24252c8cb1
 
File content as of revision 0:207850946233:
/* usbhid.h */
/* USB HID class device */
/* Copyright (c) Phil Wright 2008 */
/* modified by Shinichiro Oba <http://mbed.org/users/bricklife/> */
#ifndef USBHID_H
#define USBHID_H
#include "usbdevice.h"
/* Mouse buttons */
#define MOUSE_L (1<<0)
#define MOUSE_M (1<<1)
#define MOUSE_R (1<<2)
class usbhid : public usbdevice
{
public:
    usbhid();
    bool keyboard(char c);
    bool keyboard(char *string);
    bool mouse(signed char x, signed char y, unsigned char buttons=0, signed char wheel=0);
protected:
    virtual bool requestSetConfiguration();
    virtual void endpointEventEP1In(void);
    virtual void deviceEventReset(void);
    virtual bool requestGetDescriptor(void);
    virtual bool requestSetup(void);
private:
    bool sendInputReport(unsigned char id, unsigned char *data, unsigned char size);
};
//
// USBJoystick
//
#define JOYSTICK_UP    (1<<0)
#define JOYSTICK_DOWN  (1<<1)
#define JOYSTICK_LEFT  (1<<2)
#define JOYSTICK_RIGHT (1<<3)
class USBJoystick : public usbhid
{
public:
    USBJoystick();
    bool joystick(unsigned char stick, unsigned short buttons=0, signed char x=0, signed char y=0, signed char z=0, signed char rz=0);
protected:
    virtual bool requestGetDescriptor(void);
private:
    bool sendInputReport(unsigned char *data, unsigned char size);
};
#endif