first commit, keyboard event and stuff