Rework kbd stuff a bit. Still stinks :-\