Mouse getPollData and moving the Mouse

What does the getPollData method return for a Mouse Controller’s X and Y Axis? The X an Y axis are relative and analog. Endolf wrote that its a unit and not a pixel value. What is a unit?

My project Keyboarding Master uses jinput. I am trying to remap buttons on a mouse but in order to do this, all data from the mouse is sent to jinput but not forwarded by the OS. That means my “drivers” must then re-interpret that data and use the Robot class to send the appropriate signals to the OS. Keyboard presses and mouse button presses works fine. However, I don’t know what to send to the Robot class (mouseMove) from the data that I get back from jinput.

Note, I am using the event queue and poll it every 20 milliseconds.

Thanks for your help!

Hi

A unit is system dependent, it doesn’t match with a pixel. Relative data are particularly useful when you just want to know how the mouse moves without being limited by the resolution of the screen. Some parts of what you describe is going to be done in the new NEWT Input API, please look at the bug report 814.

Thanks gouessej. It seems they are proposing any controller to move the mouse cursor. In my case, that would be a mouse moving the mouse cursor.

In the mean time, I wonder if there is anyway around this problem. I don’t think its possible to only grab the buttons on the mouse and not the axis through the call below (which is how I accomplish getting device input without it sending it to the OS).

ioctl(fd,EVIOCGRAB,grab)

Because it uses the file descriptor for the device, so I don’t think its possible to pass through the axis information.

Are there any details of what a Unit is? Is the Robot class the only way to move the mouse pointer? Is Robot class even appropriate since the mouseMove method requires an integer representing a pixel location?

Is the event queue appropriate? Is 20 ms too long to poll the device? Can the eventqueue be mixed with a pull?

Thanks