Подтвердить что ты не робот

Клавиши "Вверх", "Вниз", "Влево", "Вправо" всегда одинаковы?

Как видно из названия, в моем коде я использую следующие коды:

  • Слева: 37
  • Вверх: 38
  • Вправо: 39
  • Вниз: 40

И проверьте эти коды клавиш, чтобы определить мое действие. Мой вопрос: всегда ли они остаются прежними? Если бы я использовал клавиатуру DVORAK или неанглийскую клавиатуру, эти коды клавиш остались бы прежними?

В той же строке есть ли предпочтительный способ для обнаружения этих нажатий клавиш?

В настоящее время я делаю это следующим образом:

    var Key = {
        _pressed: {},
        LEFT: 37,
        UP: 38,
        RIGHT: 39,
        DOWN: 40,

        isDown: function (keyCode) {
            return this._pressed[keyCode];
        },

        onKeydown: function (event) {
            this._pressed[event.keyCode] = true;

            if (Key.isDown(Key.UP))
                //do up action
            else if (Key.isDown(Key.DOWN)) {
                //do down action
            }
            delete this._pressed[event.keyCode];
        }
    };
4b9b3361

Ответ 1

Да, клавиши клавиш со стрелками всегда одинаковы, независимо от раскладки клавиатуры.

Я регулярно использую разные раскладки клавиатуры (Dvorak, русский, украинский, иврит, испанский), и я пробовал их все в JavaScript, и они дают согласованные результаты для клавиш со стрелками.