]> git.gir.st - tmk_keyboard.git/blob - tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
Merge branch 'master' into chibios
[tmk_keyboard.git] / tmk_core / protocol / usb_hid / USB_Host_Shield_2.0 / examples / HID / USBHIDBootMouse / USBHIDBootMouse.ino
1 #include <hidboot.h>
2 #include <usbhub.h>
3
4 // Satisfy the IDE, which needs to see the include statment in the ino too.
5 #ifdef dobogusinclude
6 #include <spi4teensy3.h>
7 #include <SPI.h>
8 #endif
9
10 class MouseRptParser : public MouseReportParser
11 {
12 protected:
13 void OnMouseMove (MOUSEINFO *mi);
14 void OnLeftButtonUp (MOUSEINFO *mi);
15 void OnLeftButtonDown (MOUSEINFO *mi);
16 void OnRightButtonUp (MOUSEINFO *mi);
17 void OnRightButtonDown (MOUSEINFO *mi);
18 void OnMiddleButtonUp (MOUSEINFO *mi);
19 void OnMiddleButtonDown (MOUSEINFO *mi);
20 };
21 void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
22 {
23 Serial.print("dx=");
24 Serial.print(mi->dX, DEC);
25 Serial.print(" dy=");
26 Serial.println(mi->dY, DEC);
27 };
28 void MouseRptParser::OnLeftButtonUp (MOUSEINFO *mi)
29 {
30 Serial.println("L Butt Up");
31 };
32 void MouseRptParser::OnLeftButtonDown (MOUSEINFO *mi)
33 {
34 Serial.println("L Butt Dn");
35 };
36 void MouseRptParser::OnRightButtonUp (MOUSEINFO *mi)
37 {
38 Serial.println("R Butt Up");
39 };
40 void MouseRptParser::OnRightButtonDown (MOUSEINFO *mi)
41 {
42 Serial.println("R Butt Dn");
43 };
44 void MouseRptParser::OnMiddleButtonUp (MOUSEINFO *mi)
45 {
46 Serial.println("M Butt Up");
47 };
48 void MouseRptParser::OnMiddleButtonDown (MOUSEINFO *mi)
49 {
50 Serial.println("M Butt Dn");
51 };
52
53 USB Usb;
54 USBHub Hub(&Usb);
55 HIDBoot<HID_PROTOCOL_MOUSE> HidMouse(&Usb);
56
57 uint32_t next_time;
58
59 MouseRptParser Prs;
60
61 void setup()
62 {
63 Serial.begin( 115200 );
64 #if !defined(__MIPSEL__)
65 while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
66 #endif
67 Serial.println("Start");
68
69 if (Usb.Init() == -1)
70 Serial.println("OSC did not start.");
71
72 delay( 200 );
73
74 next_time = millis() + 5000;
75
76 HidMouse.SetReportParser(0,(HIDReportParser*)&Prs);
77 }
78
79 void loop()
80 {
81 Usb.Task();
82 }
83
Imprint / Impressum