rem: if (e.shiftKey == keyData.shift && 
add: if (e.shiftKey == keyData.shift && 
context: YAHOO.util.KeyListener = function(attachTo, keyData, handler, event) {	if (! attachTo) {		YAHOO.log("No attachTo element specified", "error");	}	if (! keyData) {		YAHOO.log("No keyData specified", "error");	}	if (! handler) {		YAHOO.log("No handler specified", "error");	}	if (! event) {		event = YAHOO.util.KeyListener.KEYDOWN;	}	var keyEvent = new YAHOO.util.CustomEvent("keyPressed");		this.enabledEvent = new YAHOO.util.CustomEvent("enabled");	this.disabledEvent = new YAHOO.util.CustomEvent("disabled");	if (typeof attachTo == 'string') {		attachTo = document.getElementById(attachTo);	}	if (typeof handler == 'function') {		keyEvent.subscribe(handler);	} else {		keyEvent.subscribe(handler.fn, handler.scope, handler.correctScope);	}	/**	* Handles the key event when a key is pressed.	* @private	*/	function handleKeyPress(e, obj) {		var keyPressed = e.charCode || e.keyCode;				if (! keyData.shift) {				keyData.shift = false; 		}		if (! keyData.alt) {				keyData.alt = false;		}		if (! keyData.ctrl) {			keyData.ctrl = false;		}		// check held down modifying keys first		if (e.shiftKey == keyData.shift && 			e.altKey   == keyData.alt &&			e.ctrlKey  == keyData.ctrl) { // if we pass this, all modifiers match			if (keyData.keys instanceof Array) {				for (var i=0;i<keyData.keys.length;i++) {					if (keyPressed == keyData.keys[i]) {						keyEvent.fire(keyPressed, e);						break;					}				}			} else {				if (keyPressed == keyData.keys) {					keyEvent.fire(keyPressed, e);				}			}		}	}	this.enable = function() {		if (! this.enabled) {			YAHOO.util.Event.addListener(attachTo, event, handleKeyPress);			this.enabledEvent.fire(keyData);		}		this.enabled = true;	};	this.disable = function() {		if (this.enabled) {			YAHOO.util.Event.removeListener(attachTo, event, handleKeyPress);			this.disabledEvent.fire(keyData);		}		this.enabled = false;	};	/**	* Returns a string representation of the object.	* @type string	*/ 	this.toString = function() {		return "KeyListener [" + keyData.keys + "] " + attachTo.tagName + (attachTo.id ? "[" + attachTo.id + "]" : "");	};};
meta: 4707	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/4707/50c3492c4c3c825dbd3401e134a19ed46799c456/container-debug.js/clean/www/resources/yui/container/container-debug.js