Index: trunk/src/core/io_event.cc
===================================================================
--- trunk/src/core/io_event.cc	(revision 449)
+++ trunk/src/core/io_event.cc	(revision 450)
@@ -141,4 +141,19 @@
 		.field( "param2",   &system_event::param2 );
 
-	// TODO: io_event
+	db->create_type<io_event>()
+		.field( "type", &io_event::type )
+		.union_field( "key",     &io_event::key,    "type", EV_KEY )
+		.union_field( "mbutton", &io_event::mbutton,"type", EV_MOUSE_BUTTON )
+		.union_field( "mmove",   &io_event::mmove,  "type", EV_MOUSE_MOVE )
+		.union_field( "mwheel",  &io_event::mwheel, "type", EV_MOUSE_WHEEL )
+		.union_field( "pbutton", &io_event::pbutton,"type", EV_PAD_BUTTON )
+		.union_field( "paxis",   &io_event::paxis,  "type", EV_PAD_AXIS )
+		.union_field( "jbutton", &io_event::jbutton,"type", EV_JOY_BUTTON )
+		.union_field( "jaxis",   &io_event::jaxis,  "type", EV_JOY_AXIS )
+		.union_field( "jhat",    &io_event::jhat,   "type", EV_JOY_HAT )
+		.union_field( "jball",   &io_event::jball,  "type", EV_JOY_BALL )
+		.union_field( "resize",  &io_event::resize, "type", EV_ACTIVE )
+		.union_field( "active",  &io_event::active, "type", EV_RESIZE )
+		.union_field( "system",  &io_event::system, "type", EV_SYSTEM );
+
 }
