call method

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

Translates a TerminalKeyboardEvent into an escape sequence. If the event cannot be translated, null is returned.

Implementation

@override
String? call(TerminalKeyboardEvent event) {
  if (!event.alt || event.ctrl || event.shift) {
    return null;
  }

  if (event.platform == TerminalTargetPlatform.macos) {
    return null;
  }

  final key = event.key;

  if (key.index >= TerminalKey.keyA.index &&
      key.index <= TerminalKey.keyZ.index) {
    final charCode = key.index - TerminalKey.keyA.index + 65;
    final input = [0x1b, charCode];
    return String.fromCharCodes(input);
  }

  return null;
}