Socket.io cómo verificar si el usuario está escribiendo y transmitiéndolo a otros usuarios

Estoy tratando de configurar el servidor de chat socket.io. Lo he incorporado para enviar y recibir mensajes del servidor y del cliente. Estaba interesado en mostrar a los usuarios si alguien está escribiendo. Sé que puedo emitir cuando algo se escribe de cliente a servidor, también puedo transmitirlo a otros usuarios. Pero, ¿será eficiente hacer eso en cada keyup? ¿Cómo manejo tal situación? A continuación se muestra mi código por ahora:

$("#textbox").keyup(function (e)  {
 if (e.keyCode == 13)  {
  socket.emit('send', {nickname: $('#nickname').val() , msg: $("#textbox").val()});
      $('#textbox').val('');  }
 else{
  socket.emit('is typing',  {nickname: $('#nickname').val()});
     }
});

y en el lado del servidor:

socket.on('is typing', function(data){
 socket.broadcast.emit('typing', {nickname: data.nickname});
});

Respuestas a la pregunta(4)

Su respuesta a la pregunta