diff --git a/drivers/input/evdev.c b/drivers/input/evdev.c
index e9ae3d5..edd0b4f 100644
--- a/drivers/input/evdev.c
+++ b/drivers/input/evdev.c
@@ -1425,6 +1425,9 @@ static int evdev_connect(struct input_handler *handler, struct input_dev *dev,
 	if (error)
 		goto err_cleanup_evdev;
 
+	evdev_open_device(evdev);
+	dev_info(evdev, "%s\n", dev->name);
+
 	return 0;
 
  err_cleanup_evdev:
@@ -1457,8 +1460,7 @@ static const struct input_device_id evdev_ids[] = {
 MODULE_DEVICE_TABLE(input, evdev_ids);
 
 static struct input_handler evdev_handler = {
-	.event		= evdev_event,
-	.events		= evdev_events,
+	.event		= genode_evdev_event,
 	.connect	= evdev_connect,
 	.disconnect	= evdev_disconnect,
 	.legacy_minors	= true,
