forked from: charCode vs. keyCode

