Acho incrivelmente interessantes as coisas que as pessoas estão fazendo com o Node.js. O senhor ouve falar de pessoas que usam o Node.js para controlar drones, Arduinos e uma série de outros dispositivos. Aproveitei as vantagens do Node.js para criar um controle remoto Roku, um projeto que foi divertido e mais fácil do que eu imaginava. No entanto, houve uma parte desse experimento que foi difícil: ouvir as teclas digitadas no mesmo shell que executou o script.


O processo para usar o controle remoto é o seguinte:

  1. Execute o script para se conectar ao seu Roku: node remote
  2. No mesmo shell, use as teclas de seta e as teclas de atalho para navegar pelo Roku
  3. Imprensa CONTROL+C para eliminar o script

O código JavaScript a seguir é o que eu precisava usar para escutar os pressionamentos de tecla dentro do mesmo shell depois que o script fosse iniciado:



// Readline lets us tap into the process events
const readline = require('readline');

// Allows us to listen for events from stdin
readline.emitKeypressEvents(process.stdin);

// Raw mode gets rid of standard keypress events and other
// functionality Node.js adds by default
process.stdin.setRawMode(true);


// Start the keypress listener for the process
process.stdin.on('keypress', (str, key) => {

    // "Raw" mode so we must do our own kill switch
    if(key.sequence === '\u0003') {
        process.exit();
    }

    // User has triggered a keypress, now do whatever we want!
    // ...

});


O código acima transforma seu script Node.js em um fio ativo para ouvir os eventos de pressionamento de tecla. Com o meu Roku Remote, eu passo os eventos de pressionamento de teclas de setas e letras diretamente para o Roku por meio de uma API REST (código completo aqui). Adoro o fato de o Node.js ter tornado isso tão fácil – outro motivo pelo qual o JavaScript sempre vence!

  • API de vibração

    Muitas das novas APIs fornecidas pelos fornecedores de navegadores são mais voltadas para o usuário móvel do que para o usuário de desktop. Uma dessas APIs simples é a API de vibração. A API de vibração permite que os desenvolvedores direcionem o dispositivo, usando JavaScript, para vibrar em…

  • 9 demonstrações WebGL mais impressionantes
  • Usando o TogetherJS
  • Animações de cores de links aleatórios do jQuery

    Todos nós sabemos que podemos definir a cor :hover de um link, mas e se quisermos adicionar um pouco mais de dinamismo e estilo? O jQuery permite que você não apenas anime uma cor específica, mas também uma cor aleatória.