avoid empty character in name input
include ciso646 and clean window_keyboard
remove NULL comparison with smart pointer
include cassert
add space input
show cursor in name input