События при нажатии на клавиши

1-ый способ

Выполнение кода после того, как клавиша была нажата и отпущена, происходит через событие onkeydown. Переданный код клавиши доступен через свойство keyCode.

document.onkeydown = function(e) {
    if (e.keyCode == 27) {
        alert('ESC pressed');
    }
}

В коде выше выполняется функция при нажатии на клавишу ESC.

Код клавиши ESC — 27. Но при работе с кодом, можно забыть, какой клавише соответствует число 27. Поэтому рекомендуется назначить код клавиши в переменную.

var KEY_ESC = 27;
document.onkeydown = function(e) {
    if (e.keyCode == KEY_ESC) {
        alert('ESC pressed');
    }
}

Можно узнать код любого символа через метод charCodeAt(). Этим самым, можно отслеживать событие нажатия клавиш, не зная их код.

document.onkeydown = function(e) {
    if (e.keyCode == 'S'.charCodeAt()) {
        alert('S pressed');
    }
}

Пример кода: http://jsfiddle.net/hLu7r/1/ 

Событие при нажатии двух клавиш:

document.onkeydown = function(e) {
    if (e.shiftKey && e.keyCode == "S".charCodeAt()) {
        alert('Shift + S');
    }
}
 
// Также есть следующие команды:
// e.altKey
// e.ctrlKey

Пример кода: jsfiddle.net/hLu7r/2/

2-ой способ: плагин

Также можно воспользоваться библиотекой Handling Keyboard Shortcuts.

shortcut.add("Ctrl+Shift+Z", function() {
    alert("Z pressed");
});

Пример кода: http://jsfiddle.net/83ugp/

Страница библиотеки: openjs.com/scripts/events/keyboard_shortcuts/