/**
 * Reusable constants.
 */
(function(define) {
    'use strict';
    define([], function() {
        /**
         * Reusable constants.
         *
         * ### keyCodes - A mapping of key names to their corresponding codes.
         *
         * - `constants.keyCodes.tab` - the tab key
         * - `constants.keyCodes.enter` - the enter key
         * - `constants.keyCodes.esc` - the escape key
         * - `constants.keyCodes.space` - the space key
         * - `constants.keyCodes.left` - the left arrow key
         * - `constants.keyCodes.up` - the up arrow key
         * - `constants.keyCodes.right` - the right arrow key
         * - `constants.keyCodes.down` - the down arrow key
         *
         * @class constants
         */
        return {
            keyCodes: {
                tab: 9,
                enter: 13,
                esc: 27,
                space: 32,
                left: 37,
                up: 38,
                right: 39,
                down: 40
            }
        };
    });
}).call(
    this,
    // Pick a define function as follows:
    // 1. Use the default 'define' function if it is available
    // 2. If not, use 'RequireJS.define' if that is available
    // 3. else use the GlobalLoader to install the class into the edx namespace
    // eslint-disable-next-line no-nested-ternary
    typeof define === 'function' && define.amd ? define :
        (typeof RequireJS !== 'undefined' ? RequireJS.define :
            edx.GlobalLoader.defineAs('constants', 'edx-ui-toolkit/js/utils/constants'))
);

@@ -136,32 +136,113 @@
 nts.%0A         *%0A
+         * ### keys - A mapping of key names to their corresponding identifiers.%0A
          * ### k
@@ -301,13 +301,29 @@
 ing 
-codes
+keyCodes (DEPRECATED)
 .%0A  
@@ -358,20 +358,16 @@
 ants.key
-Code
 s.tab%60 -
@@ -406,20 +406,16 @@
 ants.key
-Code
 s.enter%60
@@ -458,20 +458,16 @@
 ants.key
-Code
 s.esc%60 -
@@ -509,20 +509,16 @@
 ants.key
-Code
 s.space%60
@@ -561,20 +561,16 @@
 ants.key
-Code
 s.left%60 
@@ -617,20 +617,16 @@
 ants.key
-Code
 s.up%60 - 
@@ -669,20 +669,16 @@
 ants.key
-Code
 s.right%60
@@ -727,20 +727,16 @@
 ants.key
-Code
 s.down%60 
@@ -824,16 +824,498 @@
 eturn %7B%0A
+            keys: %7B%0A                tab: 'Tab',%0A                enter: 'Enter',%0A                esc: 'Escape',%0A                space: 'Space',%0A                left: 'ArrowLeft',%0A                up: 'ArrowUp',%0A                right: 'ArrowRight',%0A                down: 'ArrowDown'%0A            %7D,%0A            // NOTE: keyCode is deprecated. Use the %60key%60 or %60code%60 event property if possible.%0A            // See: https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/keyCode%0A
         

Add alternative to deprecated keyCodes