keyboard interpreter