Keyboard stuff

also a bunch of commenting