shortcutActivatorToKeySet function
Converts a ShortcutActivator into a list of logical keyboard keys.
Extracts modifier keys (control, alt, meta, shift) and the primary key from
a shortcut activator, returning them as a list of List<LogicalKeyboardKey>.
Parameters:
activator(ShortcutActivator, required): The shortcut to convert.
Returns: List<LogicalKeyboardKey> — all keys involved in the shortcut.
Supports CharacterActivator and SingleActivator types.
Implementation
List<LogicalKeyboardKey> shortcutActivatorToKeySet(
ShortcutActivator activator) {
List<LogicalKeyboardKey> keys = [];
if (activator is CharacterActivator) {
if (activator.control) {
keys.add(LogicalKeyboardKey.control);
}
if (activator.alt) {
keys.add(LogicalKeyboardKey.alt);
}
if (activator.meta) {
keys.add(LogicalKeyboardKey.meta);
}
keys.add(LogicalKeyboardKey(activator.character.codeUnitAt(0)));
}
if (activator is SingleActivator) {
if (activator.control) {
keys.add(LogicalKeyboardKey.control);
}
if (activator.alt) {
keys.add(LogicalKeyboardKey.alt);
}
if (activator.meta) {
keys.add(LogicalKeyboardKey.meta);
}
if (activator.shift) {
keys.add(LogicalKeyboardKey.shift);
}
keys.add(activator.trigger);
}
if (activator is LogicalKeySet) {
for (final trigger in activator.triggers) {
keys.add(trigger);
}
}
return keys;
}