add keyboard suppot