displayString property

String get displayString

Format the activator as a human-readable string.

Implementation

String get displayString {
  if (activator is SingleActivator) {
    final single = activator as SingleActivator;
    final parts = <String>[];

    if (single.control) parts.add(_isMacOS ? '⌘' : 'Ctrl');
    if (single.alt) parts.add(_isMacOS ? '⌥' : 'Alt');
    if (single.shift) parts.add(_isMacOS ? '⇧' : 'Shift');
    if (single.meta && !_isMacOS) parts.add('Win');

    parts.add(_keyLabel(single.trigger));

    return parts.join(_isMacOS ? '' : '+');
  }
  return activator.toString();
}