debugDescribeKeys method Null safety

  1. @override
String debugDescribeKeys()
override

Returns a description of the key set that is short and readable.

Intended to be used in debug mode for logging purposes.

Implementation

@override
String debugDescribeKeys() {
  final List<LogicalKeyboardKey> sortedKeys = keys.toList()
    ..sort((LogicalKeyboardKey a, LogicalKeyboardKey b) {
        // Put the modifiers first. If it has a synonym, then it's something
        // like shiftLeft, altRight, etc.
        final bool aIsModifier = a.synonyms.isNotEmpty || _modifiers.contains(a);
        final bool bIsModifier = b.synonyms.isNotEmpty || _modifiers.contains(b);
        if (aIsModifier && !bIsModifier) {
          return -1;
        } else if (bIsModifier && !aIsModifier) {
          return 1;
        }
        return a.debugName!.compareTo(b.debugName!);
      });
  return sortedKeys.map<String>((LogicalKeyboardKey key) => key.debugName.toString()).join(' + ');
}