added more onkeypress onkeyrelease support, very unstable