N64 to USB HID interface

Dependencies:   mbed

Committer:
igor_m
Date:
Wed Dec 10 14:22:30 2014 +0000
Revision:
5:eb93a4f91396
Parent:
0:547c5459faa6
Initial Release

Who changed what in which revision?

UserRevisionLine numberNew contents of line
igor_m 0:547c5459faa6 1 #include "usbhid.h"
igor_m 0:547c5459faa6 2
igor_m 0:547c5459faa6 3 #ifndef MBED_USBMOUSE_H
igor_m 0:547c5459faa6 4 #define MBED_USBMOUSE_H
igor_m 0:547c5459faa6 5
igor_m 0:547c5459faa6 6 /* Class: USBMouse
igor_m 0:547c5459faa6 7 * Emulate a USB Mouse HID device
igor_m 0:547c5459faa6 8 *
igor_m 0:547c5459faa6 9 * Example:
igor_m 0:547c5459faa6 10 * > #include "mbed.h"
igor_m 0:547c5459faa6 11 * > #include "USBMouse.h"
igor_m 0:547c5459faa6 12 * >
igor_m 0:547c5459faa6 13 * > USBMouse mouse;
igor_m 0:547c5459faa6 14 * >
igor_m 0:547c5459faa6 15 * > int main() {
igor_m 0:547c5459faa6 16 * > while(1) {
igor_m 0:547c5459faa6 17 * > mouse.move(10, 0);
igor_m 0:547c5459faa6 18 * > wait(2);
igor_m 0:547c5459faa6 19 * > }
igor_m 0:547c5459faa6 20 * > }
igor_m 0:547c5459faa6 21 */
igor_m 0:547c5459faa6 22 class USBMouse : private usbhid {
igor_m 0:547c5459faa6 23 public:
igor_m 0:547c5459faa6 24 /* Constructor: USBMouse
igor_m 0:547c5459faa6 25 * Create a USB Mouse using the mbed USB Device interface
igor_m 0:547c5459faa6 26 */
igor_m 0:547c5459faa6 27 USBMouse();
igor_m 0:547c5459faa6 28
igor_m 0:547c5459faa6 29 /* Function: move
igor_m 0:547c5459faa6 30 * Move the mouse
igor_m 0:547c5459faa6 31 *
igor_m 0:547c5459faa6 32 * Variables:
igor_m 0:547c5459faa6 33 * x - Distance to move in x-axis
igor_m 0:547c5459faa6 34 * y - Distance to move in y-axis
igor_m 0:547c5459faa6 35 */
igor_m 0:547c5459faa6 36 void move(int x, int y);
igor_m 0:547c5459faa6 37
igor_m 0:547c5459faa6 38 /* Function: scroll
igor_m 0:547c5459faa6 39 * Scroll the scroll wheel
igor_m 0:547c5459faa6 40 *
igor_m 0:547c5459faa6 41 * Variables:
igor_m 0:547c5459faa6 42 * z - Distance to scroll scroll wheel
igor_m 0:547c5459faa6 43 */
igor_m 0:547c5459faa6 44 void scroll(int z);
igor_m 0:547c5459faa6 45
igor_m 0:547c5459faa6 46 /* Function: buttons
igor_m 0:547c5459faa6 47 * Set the state of the buttons
igor_m 0:547c5459faa6 48 *
igor_m 0:547c5459faa6 49 * Variables:
igor_m 0:547c5459faa6 50 * left - set the left button as down (1) or up (0)
igor_m 0:547c5459faa6 51 * middle - set the middle button as down (1) or up (0)
igor_m 0:547c5459faa6 52 * right - set the right button as down (1) or up (0)
igor_m 0:547c5459faa6 53 */
igor_m 0:547c5459faa6 54 void buttons(int left, int middle, int right);
igor_m 0:547c5459faa6 55
igor_m 0:547c5459faa6 56 private:
igor_m 0:547c5459faa6 57 int _buttons;
igor_m 0:547c5459faa6 58 };
igor_m 0:547c5459faa6 59
igor_m 0:547c5459faa6 60 #endif