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)
}