summaryrefslogtreecommitdiff
path: root/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
diff options
context:
space:
mode:
Diffstat (limited to 'tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino')
-rw-r--r--tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino83
1 files changed, 83 insertions, 0 deletions
diff --git a/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
new file mode 100644
index 0000000000..53102512bd
--- /dev/null
+++ b/tmk_core/protocol/usb_hid/USB_Host_Shield_2.0/examples/HID/USBHIDBootMouse/USBHIDBootMouse.ino
@@ -0,0 +1,83 @@
+#include <hidboot.h>
+#include <usbhub.h>
+
+// Satisfy the IDE, which needs to see the include statment in the ino too.
+#ifdef dobogusinclude
+#include <spi4teensy3.h>
+#include <SPI.h>
+#endif
+
+class MouseRptParser : public MouseReportParser
+{
+protected:
+ void OnMouseMove (MOUSEINFO *mi);
+ void OnLeftButtonUp (MOUSEINFO *mi);
+ void OnLeftButtonDown (MOUSEINFO *mi);
+ void OnRightButtonUp (MOUSEINFO *mi);
+ void OnRightButtonDown (MOUSEINFO *mi);
+ void OnMiddleButtonUp (MOUSEINFO *mi);
+ void OnMiddleButtonDown (MOUSEINFO *mi);
+};
+void MouseRptParser::OnMouseMove(MOUSEINFO *mi)
+{
+ Serial.print("dx=");
+ Serial.print(mi->dX, DEC);
+ Serial.print(" dy=");
+ Serial.println(mi->dY, DEC);
+};
+void MouseRptParser::OnLeftButtonUp (MOUSEINFO *mi)
+{
+ Serial.println("L Butt Up");
+};
+void MouseRptParser::OnLeftButtonDown (MOUSEINFO *mi)
+{
+ Serial.println("L Butt Dn");
+};
+void MouseRptParser::OnRightButtonUp (MOUSEINFO *mi)
+{
+ Serial.println("R Butt Up");
+};
+void MouseRptParser::OnRightButtonDown (MOUSEINFO *mi)
+{
+ Serial.println("R Butt Dn");
+};
+void MouseRptParser::OnMiddleButtonUp (MOUSEINFO *mi)
+{
+ Serial.println("M Butt Up");
+};
+void MouseRptParser::OnMiddleButtonDown (MOUSEINFO *mi)
+{
+ Serial.println("M Butt Dn");
+};
+
+USB Usb;
+USBHub Hub(&Usb);
+HIDBoot<HID_PROTOCOL_MOUSE> HidMouse(&Usb);
+
+uint32_t next_time;
+
+MouseRptParser Prs;
+
+void setup()
+{
+ Serial.begin( 115200 );
+#if !defined(__MIPSEL__)
+ while (!Serial); // Wait for serial port to connect - used on Leonardo, Teensy and other boards with built-in USB CDC serial connection
+#endif
+ Serial.println("Start");
+
+ if (Usb.Init() == -1)
+ Serial.println("OSC did not start.");
+
+ delay( 200 );
+
+ next_time = millis() + 5000;
+
+ HidMouse.SetReportParser(0,(HIDReportParser*)&Prs);
+}
+
+void loop()
+{
+ Usb.Task();
+}
+