added WM_KEYDOWN support