JSFiddle - React, Tailwind, and code Playground

HTML

<script src="https://rawgithub.com/bitovi/syn/master/dist/syn.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 letras = texto.split('');
var letra = 0;

var maquinaDeEscrever = setInterval(function () {
    Syn.key(letras[letra], 'textInput');
    letra++;
    if (letra == letras.length) {
        clearInterval(maquinaDeEscrever);
        Syn.type('[shift]1[shift-up]', 'textInput2'); // isto não funciona
    };
}, 100);

document.getElementById('textInput').onkeypress = function (e) {
    console.log(e.which, e.shiftKey)
}