J'utilise le protocole LineText2 d'EventMachine et je voudrais déclencher la méthode receive_line
à chaque fois que j'appuie sur une touche de mon clavier et pas seulement lorsque j'entre une nouvelle ligne. Y a-t-il un moyen de modifier ce comportement par défaut?
class KeyboardHandler < EM::Connection
include EM::Protocols::LineText2
def initialize(q)
@queue = q
end
def receive_line(data)
@queue.push(data)
end
end
EM.run {
q = EM::Queue.new
callback = Proc.new do |line|
# affiche à chaque appui de touche pas sur "\n"
puts line
q.pop(&callback)
end
q.pop(&callback)
EM.open_keyboard(KeyboardHandler, q)
}