Popover keys now use virtual codes.

This commit is contained in:
2025-01-04 22:18:51 -08:00
parent f52db88391
commit 5ba167fbb6

View File

@@ -43,24 +43,20 @@ class PopoverPanel: NSPanel {
Self.logger.debug("performKeyEquivalent keyCode=\(event.keyCode)")
let commandKey = NSEvent.ModifierFlags.command.rawValue
// TODO: Make these depend on virtual keycodes, instead of
// characters.
if event.type == NSEvent.EventType.keyDown {
if (event.modifierFlags.rawValue &
NSEvent.ModifierFlags.deviceIndependentFlagsMask.rawValue)
== commandKey,
event.charactersIgnoringModifiers! == "w"
== commandKey, event.keyCode == 13 // W
{
resignKey()
return true
} else if (event.modifierFlags.rawValue &
NSEvent.ModifierFlags.deviceIndependentFlagsMask.rawValue)
== commandKey,
event.charactersIgnoringModifiers! == "q"
== commandKey, event.keyCode == 12 // Q
{
NSApplication.shared.terminate(self)
return true
} else if event.keyCode == 53 {
} else if event.keyCode == 53 { // ESC
resignKey()
return true
}