What coordinates should an USB HID mouse return?
It's my understanding that a mouse is fundamentally a relative device. The values returned by the mouse are the amount of movement since it last reported.

As such, if you want to make a system that performs like a typical computer mouse, you need to integrate the delta values reported by the HID driver.

With a computer screen, basically every display-update-cycle, the computer sums the total reported mouse movement in X and Y, and moves the pointer that much relative to it's current position.

You of course have to do some sanity-checking to ensure your pointer does not leave the screen, but that is the basics required for a implementation of a mouse-pointing-device.



There are (considerable) additional complexities involved in handling mouse-movement on a modern computer, as (almost all) current operating systems have an additional characteristic called pointer acceleration. However, provided your device's screen is not physically very large and/or high-resolution, it's very possible you can simply leave out pointer acceleration without making it much harder to use.

(See the wikipedia note about mouse speed for more information.)



From the sound of your post, it sounds a bit like you are thinking a mouse is an absolute pointing device. Mice in general are a relative pointing devices. They have no ability to tell where they are. All they can report is how much they have moved since they were last polled.