fixed keyboard observer