require keyboard