【发布时间】:2013-01-06 14:39:24
【问题描述】:
我使用 EventMachine LineText2 协议,我想在每次按下键盘上的字符时触发 receive_line 方法,而不仅仅是在输入新行时。有没有办法改变这种默认行为?
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|
# puts on every keypress not on "\n"
puts line
q.pop(&callback)
end
q.pop(&callback)
EM.open_keyboard(KeyboardHandler, q)
}
【问题讨论】:
标签: ruby eventmachine