static/ext/src/util/KeyMap.js
function(key, fn, scope) {
        var keyCode, shift, ctrl, alt;
        if (Ext.isObject(key) && !Ext.isArray(key)) {
            keyCode = key.key;
            shift = key.shift;
            ctrl = key.ctrl;
            alt = key.alt;
        } else {
            keyCode = key;
        }
        this.addBinding({
            key: keyCode,
            shift: shift,
            ctrl: ctrl,
            alt: alt,
            fn: fn,
            scope: scope
        });
    }
function(key, fn, scope) {
        var keyCode, shift, ctrl, alt;
        if (Ext.isObject(key) && !Ext.isArray(key)) {
            keyCode = key.key;
            shift = key.shift;
            ctrl = key.ctrl;
            alt = key.alt;
        } else {
            keyCode = key;
        }
        this.addBinding({
            key: keyCode,
            shift: shift,
            ctrl: ctrl,
            alt: alt,
            fn: fn,
            scope: scope
        });
    }
Shorthand for adding a single key listener.

@param {Number/Number[]/Object} key Either the numeric key code, array of key codes or an object with the
following options: `{key: (number or array), shift: (true/false), ctrl: (true/false), alt: (true/false)}`
@param {Function} fn The function to call
@param {Object} [scope] The scope (`this` reference) in which the function is executed.
Defaults to the browser window.