updated keyboard interface