Вы можете использовать плагин jquery , если вы уже используете jquery. И, может быть, посмотрим, как они сделали это в этих плагинов.
редактировать
В горячих клавишах jquery есть объект для отображения символов со смещением:
shiftNums = {
"`": "~", "1": "!", "2": "@", "3": "#", "4": "$", "5": "%", "6": "^", "7": "&",
"8": "*", "9": "(", "0": ")", "-": "_", "=": "+", ";": ": ", "'": "\"", ",": "<",
".": ">", "/": "?", "\\": "|"
}
Есть также строки:
character = String.fromCharCode( event.which ).toLowerCase();
var tmp = shiftNums[ character ];
Это должно вам помочь. Исходный код. О чем. Кстати: исходный код горячих клавиш jquery настолько мал, что не повлияет на размер ваших скриптов:)