Shinichiro Oba
/
USBJoystick
USB HID Joystick Example (modified USBMouse)
USBHID/USBMouse.h@0:d450e82033a1, 2011-01-19 (annotated)
- Committer:
- bricklife
- Date:
- Wed Jan 19 06:17:43 2011 +0000
- Revision:
- 0:d450e82033a1
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
bricklife | 0:d450e82033a1 | 1 | #include "usbhid.h" |
bricklife | 0:d450e82033a1 | 2 | |
bricklife | 0:d450e82033a1 | 3 | #ifndef MBED_USBMOUSE_H |
bricklife | 0:d450e82033a1 | 4 | #define MBED_USBMOUSE_H |
bricklife | 0:d450e82033a1 | 5 | |
bricklife | 0:d450e82033a1 | 6 | /* Class: USBMouse |
bricklife | 0:d450e82033a1 | 7 | * Emulate a USB Mouse HID device |
bricklife | 0:d450e82033a1 | 8 | * |
bricklife | 0:d450e82033a1 | 9 | * Example: |
bricklife | 0:d450e82033a1 | 10 | * > #include "mbed.h" |
bricklife | 0:d450e82033a1 | 11 | * > #include "USBMouse.h" |
bricklife | 0:d450e82033a1 | 12 | * > |
bricklife | 0:d450e82033a1 | 13 | * > USBMouse mouse; |
bricklife | 0:d450e82033a1 | 14 | * > |
bricklife | 0:d450e82033a1 | 15 | * > int main() { |
bricklife | 0:d450e82033a1 | 16 | * > while(1) { |
bricklife | 0:d450e82033a1 | 17 | * > mouse.move(10, 0); |
bricklife | 0:d450e82033a1 | 18 | * > wait(2); |
bricklife | 0:d450e82033a1 | 19 | * > } |
bricklife | 0:d450e82033a1 | 20 | * > } |
bricklife | 0:d450e82033a1 | 21 | */ |
bricklife | 0:d450e82033a1 | 22 | class USBMouse : private usbhid { |
bricklife | 0:d450e82033a1 | 23 | public: |
bricklife | 0:d450e82033a1 | 24 | /* Constructor: USBMouse |
bricklife | 0:d450e82033a1 | 25 | * Create a USB Mouse using the mbed USB Device interface |
bricklife | 0:d450e82033a1 | 26 | */ |
bricklife | 0:d450e82033a1 | 27 | USBMouse(); |
bricklife | 0:d450e82033a1 | 28 | |
bricklife | 0:d450e82033a1 | 29 | /* Function: move |
bricklife | 0:d450e82033a1 | 30 | * Move the mouse |
bricklife | 0:d450e82033a1 | 31 | * |
bricklife | 0:d450e82033a1 | 32 | * Variables: |
bricklife | 0:d450e82033a1 | 33 | * x - Distance to move in x-axis |
bricklife | 0:d450e82033a1 | 34 | * y - Distance to move in y-axis |
bricklife | 0:d450e82033a1 | 35 | */ |
bricklife | 0:d450e82033a1 | 36 | void move(int x, int y); |
bricklife | 0:d450e82033a1 | 37 | |
bricklife | 0:d450e82033a1 | 38 | /* Function: scroll |
bricklife | 0:d450e82033a1 | 39 | * Scroll the scroll wheel |
bricklife | 0:d450e82033a1 | 40 | * |
bricklife | 0:d450e82033a1 | 41 | * Variables: |
bricklife | 0:d450e82033a1 | 42 | * z - Distance to scroll scroll wheel |
bricklife | 0:d450e82033a1 | 43 | */ |
bricklife | 0:d450e82033a1 | 44 | void scroll(int z); |
bricklife | 0:d450e82033a1 | 45 | |
bricklife | 0:d450e82033a1 | 46 | /* Function: buttons |
bricklife | 0:d450e82033a1 | 47 | * Set the state of the buttons |
bricklife | 0:d450e82033a1 | 48 | * |
bricklife | 0:d450e82033a1 | 49 | * Variables: |
bricklife | 0:d450e82033a1 | 50 | * left - set the left button as down (1) or up (0) |
bricklife | 0:d450e82033a1 | 51 | * middle - set the middle button as down (1) or up (0) |
bricklife | 0:d450e82033a1 | 52 | * right - set the right button as down (1) or up (0) |
bricklife | 0:d450e82033a1 | 53 | */ |
bricklife | 0:d450e82033a1 | 54 | void buttons(int left, int middle, int right); |
bricklife | 0:d450e82033a1 | 55 | |
bricklife | 0:d450e82033a1 | 56 | private: |
bricklife | 0:d450e82033a1 | 57 | int _buttons; |
bricklife | 0:d450e82033a1 | 58 | }; |
bricklife | 0:d450e82033a1 | 59 | |
bricklife | 0:d450e82033a1 | 60 | #endif |