collect with keyboard