]> git.donarmstrong.com Git - qmk_firmware.git/blob - tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
Merge commit 'f6d56675f9f981c5464f0ca7a1fbb0162154e8c5'
[qmk_firmware.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