JSFiddle - React, Tailwind, and code Playground
HTML
<script src="https://rawgithub.com/bitovi/syn/master/dist/syn.js"></script>
<script src="https://rawgit.com/tzuryby/jquery.hotkeys/master/jquery.hotkeys.js"></script>
<input type="text" id="textInput" />
<input type="text" id="textInput2" />
CSS
input:first-of-type {
width: 400px;
}
JavaScript
var texto = 'Eu gostava de criar um ponto de exclamação via shift + 1!';
var textoDigitado = '';
var letras = texto.split('');
var letra = 0;
$('#textInput').bind('keyup', 'shift+1', function(){
$('#textInput2').val('!');
});
var maquinaDeEscrever = setInterval(function () {
//Syn.key(letras[letra], 'textInput');
textoDigitado += letras[letra];
$('#textInput').val( textoDigitado );
letra++;
if (letra == letras.length) {
clearInterval(maquinaDeEscrever);
//Syn.type('[shift]1[shift-up]', 'textInput2'); // isto não funciona
$('#textInput').trigger('keyup');
};
}, 100);
document.getElementById('textInput').onkeypress = function (e) {
console.log(e.which, e.shiftKey)
}