renamed virtkey to be keyboard in order to remove ambiguity with key