USBHIDBootMouse.ino (1866B)
- #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();
- }