@ -104,16 +104,16 @@ evdev_flush_pending_event(struct evdev_device *device, uint32_t time)
goto handled ;
case EVDEV_ABSOLUTE_MT_DOWN :
weston_output_transform_coordinate ( device - > output ,
device - > mt . slots [ slot ] . x ,
device - > mt . slots [ slot ] . y ,
wl_fixed_from_int ( device - > mt . slots [ slot ] . x ) ,
wl_fixed_from_int ( device - > mt . slots [ slot ] . y ) ,
& x , & y ) ;
notify_touch ( master , time ,
slot , x , y , WL_TOUCH_DOWN ) ;
goto handled ;
case EVDEV_ABSOLUTE_MT_MOTION :
weston_output_transform_coordinate ( device - > output ,
device - > mt . slots [ slot ] . x ,
device - > mt . slots [ slot ] . y ,
wl_fixed_from_int ( device - > mt . slots [ slot ] . x ) ,
wl_fixed_from_int ( device - > mt . slots [ slot ] . y ) ,
& x , & y ) ;
notify_touch ( master , time ,
slot , x , y , WL_TOUCH_MOTION ) ;
@ -125,13 +125,17 @@ evdev_flush_pending_event(struct evdev_device *device, uint32_t time)
case EVDEV_ABSOLUTE_TOUCH_DOWN :
transform_absolute ( device , & cx , & cy ) ;
weston_output_transform_coordinate ( device - > output ,
cx , cy , & x , & y ) ;
wl_fixed_from_int ( cx ) ,
wl_fixed_from_int ( cy ) ,
& x , & y ) ;
notify_touch ( master , time , 0 , x , y , WL_TOUCH_DOWN ) ;
goto handled ;
case EVDEV_ABSOLUTE_MOTION :
transform_absolute ( device , & cx , & cy ) ;
weston_output_transform_coordinate ( device - > output ,
cx , cy , & x , & y ) ;
wl_fixed_from_int ( cx ) ,
wl_fixed_from_int ( cy ) ,
& x , & y ) ;
if ( device - > caps & EVDEV_TOUCH )
notify_touch ( master , time , 0 , x , y , WL_TOUCH_MOTION ) ;