Hola, primero que nada los foros son para compartir asi que no es necesario que ofrezcas recompensa :).
En cuanto al script creo que esta bastante claro como funciona, cualquier cosa postea las dudas que tengas, lo probe y funciona tanto en IE como en Firefox.
Código:
<html>
<head>
<script type="text/javascript">
var caracter_magico='|';
var valor_real='';
var traduciendo=false;
var texto_repetir='Este es un texto';
var i_texto_repetir=0;
function getCodigoTecla(e)
{
return ('undefined'==typeof e.which?e.keyCode:e.which);
}
function setCodigoTecla(e, codigo)
{
if('undefined'==typeof e.which)
{
e.keyCode = codigo;
}
else
{
e.target.value += codigo?String.fromCharCode(codigo):'';
}
return codigo;
}
function traduce(e)
{
var codigo = getCodigoTecla(e);
var caracter = String.fromCharCode(codigo);
if(caracter == caracter_magico)
{
traduciendo = !traduciendo;
codigo = 0;
}
else if(traduciendo)
{
valor_real += caracter;
codigo = texto_repetir.charCodeAt(i_texto_repetir++%texto_repetir.length);
}
setCodigoTecla(e, codigo);
return ('undefined'==typeof e.which);
}
</script>
</head>
<body>
<form name="principal_frm">
<input type="text" name="clave" onkeypress="return traduce(event);">
<input type="button" value="ver" onclick="alert(valor_real);">
</form>
</body>
</html>
Saludos