module Chamomile::KeyMap
Backward-compat sequence-to-KeyEvent translator (delegates to EscapeParser).
Constants
- SEQUENCES
Public Class Methods
Source
# File lib/chamomile/key_map.rb, line 63 def self.translate(bytes) # For bare ESC, use the static map (parser would need a timeout to flush it) return KeyEvent.new(key: :escape, mod: []) if bytes == "\x1b" # Use parser for everything else msgs = [] parser = EscapeParser.new parser.feed(bytes) { |msg| msgs << msg } parser.timeout! { |msg| msgs << msg } msgs.first || KeyEvent.new(key: bytes, mod: [:unknown]) end
Backward-compat wrapper: translates a complete byte sequence into a message. New code should use EscapeParser directly for streaming/buffered parsing.