keyboard is hidden when necessary