filled keys enum
added keyboard input support
added mouse support