fixed delegate keyboard event