1

hello guys i have a problem ,

i have a usb host shield v2.0 from circuits @home attached to an arduino mega and to a usb wireless reciever mouse , this is the serial monitor output :

x=0 dy=3
dx=0 dy=-1
dx=0 dy=-1
dx=0 dy=-1
dx=0 dy=-1
dx=0 dy=-1
dx=0 dy=1
dx=0 dy=-2
dx=0 dy=-2
dx=0 dy=2
dx=0 dy=9
dx=0 dy=6
dx=0 dy=-1
dx=0 dy=2
dx=0 dy=-1
dx=0 dy=-1
dx=1 dy=0
dx=2 dy=0
dx=1 dy=0
dx=2 dy=0

and this is the code from the library usbhidbootmouse :

#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> #endif #include <SPI.h>

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<USB_HID_PROTOCOL_MOUSE> HidMouse(&Usb);

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(&quot;OSC did not start.&quot;);

delay( 200 );

HidMouse.SetReportParser(0, &amp;Prs);

}

void loop() { Usb.Task(); }

i wanna know the dx is equal to 1 when i press the left button on mouse and is equal to 2 when i press the right button on mouse and the dy is responsible for the x and y coordinates from - to + ? how a single value is responsible for x and y both ?

0 Answers0