add keyboardmanager
reslove conflict