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.state.appKeypadMode) return null;
  if (event.state.ignoreKeypadWithNumLockMode) return null;

  final suffix = switch (event.key) {
    TerminalKey.numpad0 => 'p',
    TerminalKey.numpad1 => 'q',
    TerminalKey.numpad2 => 'r',
    TerminalKey.numpad3 => 's',
    TerminalKey.numpad4 => 't',
    TerminalKey.numpad5 => 'u',
    TerminalKey.numpad6 => 'v',
    TerminalKey.numpad7 => 'w',
    TerminalKey.numpad8 => 'x',
    TerminalKey.numpad9 => 'y',
    TerminalKey.numpadDecimal => 'n',
    TerminalKey.numpadDivide => 'o',
    TerminalKey.numpadMultiply => 'j',
    TerminalKey.numpadSubtract => 'm',
    TerminalKey.numpadAdd => 'k',
    TerminalKey.numpadEnter => 'M',
    _ => null,
  };
  if (suffix == null) return null;

  return '\x1bO$suffix';
}