validateKeystroke function
Validate a single keystroke string.
Implementation
KeybindingWarning? validateKeystroke(String keystroke) {
final parts = keystroke.toLowerCase().split('+');
for (final part in parts) {
if (part.trim().isEmpty) {
return KeybindingWarning(
type: KeybindingWarningType.parseError,
severity: ReservedSeverity.error,
message: 'Empty key part in "$keystroke"',
key: keystroke,
suggestion: 'Remove extra "+" characters',
);
}
}
final parsed = parseKeystroke(keystroke);
if (parsed.key.isEmpty &&
!parsed.ctrl &&
!parsed.alt &&
!parsed.shift &&
!parsed.meta) {
return KeybindingWarning(
type: KeybindingWarningType.parseError,
severity: ReservedSeverity.error,
message: 'Could not parse keystroke "$keystroke"',
key: keystroke,
);
}
return null;
}