Are Up, Down, Left, Right Arrow KeyCodes always the same?
javascript
Solution
Yes, arrow key keycodes are always the same, regardless of the keyboard layout.
I regularly use different keyboard layouts (Dvorak, Russian, Ukrainian, Hebrew, Spanish) and I have tried all of them in JavaScript and they give consistent results for the arrow keys.
Problem
As the title suggests, in my code I use the following codes: - Left: 37 - Up: 38 - Right: 39 - Down: 40 And check for those key codes to determine my action. My question is, do those always remain the same? If I were to use a DVORAK keyboard, or a non-English keyboard, would those key codes remain the same? Along the same line, is there a preferred method for detecting those keystrokes? Currently, I do it as follows: ``` 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]; } }; ```