keyboard: symmetrical semantics