keyboard directive