parseKeystroke function
Parse a keystroke string like "ctrl+shift+k".
Implementation
ParsedKeystroke parseKeystroke(String input) {
final parts = input.toLowerCase().split('+').map((s) => s.trim()).toList();
var ctrl = false;
var alt = false;
var shift = false;
var meta = false;
var key = '';
for (final part in parts) {
switch (part) {
case 'ctrl' || 'control':
ctrl = true;
case 'alt' || 'opt' || 'option':
alt = true;
case 'shift':
shift = true;
case 'meta' || 'cmd' || 'command' || 'super' || 'win':
meta = true;
default:
key = _normalizeKeyName(part);
}
}
return ParsedKeystroke(
key: key,
ctrl: ctrl,
alt: alt,
shift: shift,
meta: meta,
);
}