rem:   if (this._lastKeyEventType === qx.constant.Event.KEYDOWN && vType === qx.constant.Event.KEYUP) { this._onkeyevent_post(vDomEvent, qx.constant.Event.KEYPRESS); 
add: var vKeyCode = vDomEvent.keyCode; var vCharCode = vDomEvent.charCode;  if (qx.sys.Client.getInstance().isWebkit()) {  vKeyCode = qx.event.handler.EventHandler._safariKeyCodeMapping[vKeyCode] || vKeyCode;    if (qx.event.handler.EventHandler._safariKeyCodeMapping[this._lastCharCodeForEvent[vType]]) { this._lastCharCodeForEvent[vType] = null; return false; } 
context: qx.Proto._onkeyevent = function(vDomEvent){  if (this.getDisposed() || typeof qx.event.type.KeyEvent != qx.constant.Type.FUNCTION) {    return;  }  if(!vDomEvent) {    vDomEvent = window.event;  }  var vType = vDomEvent.type;  // MSHTML sometimes does not include a keypress event type  if (this._lastKeyEventType === qx.constant.Event.KEYDOWN && vType === qx.constant.Event.KEYUP) {    this._onkeyevent_post(vDomEvent, qx.constant.Event.KEYPRESS);  }  this._lastKeyEventType = vType;  this._onkeyevent_post(vDomEvent, vType);}
meta: 1005	/local1/tlutelli/issta_data/temp/all_js/javascript/2006_temp/2006/1005/b70f008008c1987921a24294b66459ee888124b2/EventHandler.js/buggy/qooxdoo/frontend/framework/source/class/qx/event/handler/EventHandler.js