decode method

List<KeyEvent> decode(
  1. List<int> bytes
)

Decodes bytes, returning the keys that completed. Incomplete trailing sequences are retained for the next call.

Implementation

List<KeyEvent> decode(List<int> bytes) {
  _pending.addAll(bytes);
  final events = <KeyEvent>[];
  while (_pending.isNotEmpty) {
    final consumed = _decodeOne(events);
    if (consumed == 0) break; // need more bytes
    _pending.removeRange(0, consumed);
  }
  return events;
}