Added keyhandling
Added proper surface handling with a cursor