É possível substituir o atraso de repetição keydown em JavaScript?

O objetivo é definir manualmente a "taxa de repetição" de uma tecla retida.

Por exemplo, quando em uma caixa de texto e pressionando e segurando a tecla X, eu entendo que existemaneiras específicas do navegador de repetir o caractere pressionado. Em alguns, faz uma pausa e aciona continuamente a tecla pressionada. Em outros, não repete nada. Eu quero atenuar isso, forçando a tecla pressionada para repetir em um intervalo específico, independentemente do navegador.

Através de pesquisa, eu cheguei a uma tentativa baseada em temporizador, mas no Safari, não repete o personagem. Eu tenho um sistema de menu onde a seta pressionada rola pela lista, mas a animação de tradução e a taxa de repetição não gostam uma da outra.

var repeating = false;
var repeatRateTimer = null;

$( document ).bind( 'keyup', function( input ) {
    if( repeatRateTimer != null )
    {
        clearTimeout( repeatRateTimer );
        repeatRateTimer = null;
    }

    repeating = false;
} );

$( document ).bind( 'keydown', function( input ) {
    input.preventDefault( );

    if( repeating == true )
    {
        if( repeatRateTimer != null )
        {
            clearTimeout( repeatRateTimer );
            repeatRateTimer = null;
        }
        else
        {
            repeatRateTimer = setTimeout( function( ){ repeating = false; }, 1000 );
        }

        return;
    }
    repeating = true;

    // ...keyboard logic
} );

Eu posso ter estragado tudo isso ... Eu tentei recriar uma versão simplificada deeste post de SO. No entanto, sinto quetem ser uma maneira melhor de fazer isso. Alguma ideia?

Atualizar:

Podemos supor que o usuário final não definiu a taxa de repetição do seu sistema operacional maior do que a taxa que eu quero usar (1000ms). Se for, então deve retornar à taxa de repetição, já que não vai continuar acionando o evento chave da imprensa. Se não for (mais provavelmente, já que a maioria das pessoas não modifica isso), então estaríamos ignorando esse comportamento para fazê-lo atrasar o período especificado.

questionAnswers(3)

yourAnswerToTheQuestion