onKeySetChange method
dynamic
onKeySetChange(
- dynamic _
Implementation
onKeySetChange(_) {
ctrlPressed = false;
altPressed = false;
shiftPressed = false;
var keys = key?.split("-");
// lookup logical keys
if (keys != null) {
for (var keyLabel in keys) {
// lookup the logical key
keyLabel = keyLabel.trim();
// control key?
LogicalKeyboardKey? key;
if (keyLabel.toUpperCase() == "CTRL") {
key = LogicalKeyboardKey.control;
ctrlPressed = true;
} else if (keyLabel.toUpperCase() == "ALT") {
key = LogicalKeyboardKey.alt;
altPressed = true;
} else if (keyLabel.toUpperCase() == "SHIFT") {
key = LogicalKeyboardKey.shift;
shiftPressed = true;
}
// other key?
else {
// lookup key
key = LogicalKeyboardKey.knownLogicalKeys.firstWhereOrNull((k) {
if (k.keyLabel == keyLabel) return true;
if (k.keyLabel.toUpperCase() == keyLabel.toUpperCase()) return true;
for (var s in k.synonyms) {
if (s.keyLabel == keyLabel) return true;
if (s.keyLabel.toUpperCase() == keyLabel.toUpperCase()) {
return true;
}
}
return false;
});
}
// no corresponding key
if (key == null) {
keySequence.clear();
break;
}
// add logical key to the set
if (!ShortcutHandler.isControlKey(key)) {
keySequence.add(key);
}
}
}
}