first commit, basic keyboard handling