Index: uspace/lib/gui/canvas.c
===================================================================
--- uspace/lib/gui/canvas.c	(revision 34cb6c8d2f3e38a59a0232921b3ef17208862064)
+++ uspace/lib/gui/canvas.c	(revision a0ff94753b1225b538fead9ff23492769a6af2ac)
@@ -112,5 +112,12 @@
 static void canvas_handle_position_event(widget_t *widget, pos_event_t event)
 {
-	/* No-op */
+	canvas_t *canvas = (canvas_t *) widget;
+	pos_event_t tevent;
+	
+	tevent = event;
+	tevent.hpos -= widget->hpos;
+	tevent.vpos -= widget->vpos;
+	
+	sig_send(&canvas->position_event, &tevent);
 }
 
Index: uspace/lib/gui/canvas.h
===================================================================
--- uspace/lib/gui/canvas.h	(revision 34cb6c8d2f3e38a59a0232921b3ef17208862064)
+++ uspace/lib/gui/canvas.h	(revision a0ff94753b1225b538fead9ff23492769a6af2ac)
@@ -50,4 +50,5 @@
 	surface_t *surface;
 	signal_t keyboard_event;
+	signal_t position_event;
 } canvas_t;
 
