Shinichiro Oba
/
USBJoystick
USB HID Joystick Example (modified USBMouse)
Embed:
(wiki syntax)
Show/hide line numbers
usbhid.h
00001 /* usbhid.h */ 00002 /* USB HID class device */ 00003 /* Copyright (c) Phil Wright 2008 */ 00004 00005 /* modified by Shinichiro Oba <http://mbed.org/users/bricklife/> */ 00006 00007 #ifndef USBHID_H 00008 #define USBHID_H 00009 00010 #include "usbdevice.h" 00011 00012 /* Mouse buttons */ 00013 #define MOUSE_L (1<<0) 00014 #define MOUSE_M (1<<1) 00015 #define MOUSE_R (1<<2) 00016 00017 class usbhid : public usbdevice 00018 { 00019 public: 00020 usbhid(); 00021 bool keyboard(char c); 00022 bool keyboard(char *string); 00023 bool mouse(signed char x, signed char y, unsigned char buttons=0, signed char wheel=0); 00024 protected: 00025 virtual bool requestSetConfiguration(); 00026 virtual void endpointEventEP1In(void); 00027 virtual void deviceEventReset(void); 00028 virtual bool requestGetDescriptor(void); 00029 virtual bool requestSetup(void); 00030 private: 00031 bool sendInputReport(unsigned char id, unsigned char *data, unsigned char size); 00032 }; 00033 00034 00035 // 00036 // USBJoystick 00037 // 00038 00039 #define JOYSTICK_UP (1<<0) 00040 #define JOYSTICK_DOWN (1<<1) 00041 #define JOYSTICK_LEFT (1<<2) 00042 #define JOYSTICK_RIGHT (1<<3) 00043 00044 class USBJoystick : public usbhid 00045 { 00046 public: 00047 USBJoystick(); 00048 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); 00049 protected: 00050 virtual bool requestGetDescriptor(void); 00051 private: 00052 bool sendInputReport(unsigned char *data, unsigned char size); 00053 }; 00054 00055 #endif
Generated on Tue Jul 12 2022 21:48:19 by 1.7.2