Disparando um evento de teclado no Chrome

Estou tentando disparar um evento de teclado para uma página usando o javascript no Chrome. Eu tinha uma abordagem que costumava funcionar no Firefox:

pressKey = function(key, shift) {
  var evt = document.createEvent('KeyboardEvent');
  evt.initKeyEvent("keypress", false, true, null, false, false,
                   shift, false, keyCode(key), key.charCodeAt(0));
  document.dispatchEvent(evt);
}

onde key é a chave desejada e keyCode altera letras minúsculas para maiúsculas e também chama charCodeAt ().

Meu problema é que os eventos no Safari / Chrome não têm initKeyEvent, mas initKeyboardEvent. A principal diferença que pude notar foi que você tem que passar a chave como um keyIdentifier (que se parece com um caractere unicode) em vez de passar o keycode eo keychar. No entanto, ainda não consigo fazer funcionar.

Eu também tentei a abordagem JQuery descritaAqui sem sucesso.

EDITAR: Depurei isso um pouco mais e parece que o evento no Chrome acionar os ouvintes, mas keyCode / charCode é sempre 0. Eu tentei definir evt.keyCode ou evt.charCode sem sucesso também.

questionAnswers(5)

yourAnswerToTheQuestion