modified XJKeyboardControl