Basic keyboard input.  still f'ugly