call method

  1. @override
String? call(
  1. TerminalKeyboardEvent event
)
override

Implementation

@override
String? call(TerminalKeyboardEvent event) {
  if (event.type == TerminalKeyEventType.release) return null;
  if (!event.ctrl || !event.shift || event.superKey) return null;

  final key = event.key;
  if (key.index < TerminalKey.keyA.index ||
      key.index > TerminalKey.keyZ.index) {
    return null;
  }

  final codepoint = key.index - TerminalKey.keyA.index + 0x61;
  final modifiers = switch (event.alt) {
    true => 8,
    false => 6,
  };
  return '\x1b[$codepoint;${modifiers}u';
}