[vbox-dev] IMouse::putMouseEventAbsolute - no mouse event received by VM

Klaus Espenlaub klaus.espenlaub at oracle.com
Tue Jan 28 18:07:08 GMT 2014


Hi Karoline,

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.

Klaus

> Thanks,
> Karoline




More information about the vbox-dev mailing list