Skip to content

WPShout Newsletter

Sign up for news, tips, and insights to help you build better websites.

Newsletter - Top banner

How to use JavaScript to Detect What Key the User Pressed

In many apps, especially games or interactive tools, you may need to trigger certain actions when the user presses a key or a combination of keys. Modern browsers make this easy to handle with JavaScript, and you can do it in a cross-browser way with just a few lines of code.

Here’s how:

window.addEventListener('keydown', function (e) {
  document.querySelector('p').innerHTML = `You pressed ${e.key}`;
}, false);Code language: JavaScript (javascript)

Here’s a live demo that prints the key pressed on the page:

If you want deeper browser support that goes back to pre-IE9, you would have to use the keypress event (which is now deprecated) in a snippet like this:

function doWhichKey(e) { 
  e = e || window.event; 
  let charCode = e.keyCode || e.which; 
  return String.fromCharCode(charCode); 
} 

window.addEventListener('keypress', function (e) { 
  console.log("You pressed " + doWhichKey(e));
}, false);Code language: JavaScript (javascript)

Here’s a brief breakdown of the code:

  • The doWhichKey() function includes some code for older browsers like old IE
  • The function returns a character code for the key that was pressed (e.g. the letter J is represented by “74”; the spacebar by “32”, and so on)
  • The event listener logs the code, which has been converted to its literal value using String.fromCharCode()

💡 The website keycode.info allows you to see the keycode for any key.

Note: To the best of our knowledge, the information above and the snippet are accurate and up to date. However, in case you notice something wrong, please report snippet or leave a comment below.

View All Code Snippets
Louis Lazaris
Share:

0 Comments
Most Voted
Newest Oldest
Inline Feedbacks
View all comments

Or start the conversation in our Facebook group for WordPress professionals. Find answers, share tips, and get help from other WordPress experts. Join now (it’s free)!