code: function assignKey(key, scope, method){
      var keys, mods, i, mi;
      if (method === undefined) {
        method = scope;
        scope = 'all';
      }
      key = key.replace(/\s/g,'');
      keys = key.split(',');
  
      if((keys[keys.length-1])=='')
        keys[keys.length-2] += ',';
      // for each shortcut
      for (i = 0; i < keys.length; i++) {
        // set modifier keys if any
        mods = [];
        key = keys[i].split('+');
        if(key.length > 1){
          mods = key.slice(0,key.length-1);
          for (mi = 0; mi < mods.length; mi++)
            mods[mi] = _MODIFIERS[mods[mi]];
          key = [key[key.length-1]];
        }
        // convert to keycode and...
        key = key[0]
        key = _MAP[key] || key.toUpperCase().charCodeAt(0);
        // ...store handler
        if (!(key in _handlers)) _handlers[key] = [];
        _handlers[key].push({ shortcut: keys[i], scope: scope, method: method, key: keys[i], mods: mods });
      }
    }
docs: parse and assign shortcut