[vbox-dev] IMouse::putMouseEventAbsolute - no mouse event received by VM
klaus.espenlaub at oracle.com
Tue Jan 28 18:07:08 UTC 2014
On 24.01.2014 16:30, Karoline Haus wrote:
> Hi I'm working on a custom graphics frontend for VBox. I'm having
> problems with IMouse::putMouseEventAbsolue.
> I'm sending this to my IMouse object but do not seem to receive any
> events in the VM. Meaning that I cannot click on anything inside the VM.
> The mouse just does not react. I'm pretty sure that my .xml is correctly
> including a mouse pointing device because when I use VBoxSDL with that
> same .xml then the mouse works OK. Any idea what the problem could be?
> Is it possible that IMouse::putMouseEventAbsolute is not supported by
> the VM? The guest OS is Fedora 20.
Absolute mouse events will only get through if IMouse::absoluteSupported
returns TRUE (similarly relative mouse events will only get through if
IMouse::relativeSupported returns TRUE, and it's possible that both
return TRUE). If the VM is configured to use an actual mouse (which
inherently is relative) then this will only be the case if the Guest
Additions are installed in the VM, because these add absolute support.
If you configure the VM to use the USB tablet (default config for
reasonably new Linux VMs) then the absolute events should always go through.
A VM frontend needs to check this condition (which can change at
runtime, signaled by event MouseCapabilityChanged), otherwise it risks
losing events wholesale. Again, VBoxSDL is a good example - except that
I would encourage you to stay away from active event handling, unless
you really want it - VBoxSDL uses it because it was written in the days
when only active event handling was available. Passive event handling is
usually easier to set up, and has lower implementation complexity as it
doesn't have to deal with asynchronous callbacks.
More information about the vbox-dev