added keydown support