add support of keyboard control