[PATCH 2/8] dix: fill out root_x/y for keyboard events

Daniel Stone daniel at fooishbar.org
Thu Sep 22 03:25:33 PDT 2011


On Fri, Sep 09, 2011 at 02:20:47PM +1000, Peter Hutterer wrote:
> Switching screens relies on rootx/y to be set to the correct value. Note:
> though we technically take a mask for GetKeyboardEvents we don't actually
> handle it properly to move the pointer as required (and generate motion
> events if needed).
> 
> Signed-off-by: Peter Hutterer <peter.hutterer at who-t.net>

Reviewed-by: Daniel Stone <daniel at fooishbar.org>

but ...

> @@ -953,6 +962,11 @@ GetKeyboardEvents(InternalEvent *events, DeviceIntPtr pDev, int type,
>  
>      set_valuators(pDev, event, &mask);
>  
> +    if (!IsFloating(pDev)) {
> +            DeviceIntPtr master = GetMaster(pDev, MASTER_POINTER);
> +            event_set_root_coordinates(event, master->last.valuators[0], master->last.valuators[1]);
> +    }
> +

... a very long line again though.

Cheers,
Daniel


More information about the xorg-devel mailing list