prefer-keyboard-event-key

March 27, 2026 ยท View on GitHub

๐Ÿ“ Prefer KeyboardEvent#key over KeyboardEvent#keyCode.

๐Ÿ’ผ This rule is enabled in the following configs: โœ… recommended, โ˜‘๏ธ unopinionated.

๐Ÿ”ง This rule is automatically fixable by the --fix CLI option.

Enforces the use of KeyboardEvent#key over KeyboardEvent#keyCode which is deprecated. The .key property is also more semantic and readable.

This rule is partly fixable. It can only fix direct property access.

Examples

// โŒ
window.addEventListener('keydown', event => {
	if (event.keyCode === 8) {
		console.log('Backspace was pressed');
	}
});

// โœ…
window.addEventListener('keydown', event => {
	if (event.key === 'Backspace') {
		console.log('Backspace was pressed');
	}
});
// โŒ
window.addEventListener('keydown', event => {
	console.log(event.keyCode);
});
// โœ…
window.addEventListener('click', event => {
	console.log(event.key);
});