add: evt.which = keycode; 
context: function triggerKeyEvent(element, eventType, keySequence, canBubble, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown) {    var keycode = getKeyCodeFromKeySequence(keySequence);    canBubble = (typeof(canBubble) == undefined) ? true : canBubble;    if (element.fireEvent) {        var keyEvent = createEventObject(element, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown);        keyEvent.keyCode = keycode;        element.fireEvent('on' + eventType, keyEvent);    }    else {        var evt;        if (window.KeyEvent) {            evt = document.createEvent('KeyEvents');            evt.initKeyEvent(eventType, true, true, window, controlKeyDown, altKeyDown, shiftKeyDown, metaKeyDown, keycode, keycode);        } else {            evt = document.createEvent('UIEvents');                        evt.shiftKey = shiftKeyDown;            evt.metaKey = metaKeyDown;            evt.altKey = altKeyDown;            evt.ctrlKey = controlKeyDown;            evt.initUIEvent(eventType, true, true, window, 1);            evt.keyCode = keycode;        }        element.dispatchEvent(evt);    }}
meta: 3428	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/3428/53d094521bf3201d46fb5f3e1bdfeb345d213e25/htmlutils.js/clean/code/javascript/core/scripts/htmlutils.js