From 18021450264b67c9b25f75796884f86da04e70df Mon Sep 17 00:00:00 2001 From: lukes Date: Thu, 23 Feb 2023 10:05:17 +0800 Subject: [PATCH] Key events supported escape key --- Sources/Navigator/EPUB/EPUBSpreadView.swift | 2 ++ Sources/Navigator/KeyEvent.swift | 5 +++++ 2 files changed, 7 insertions(+) diff --git a/Sources/Navigator/EPUB/EPUBSpreadView.swift b/Sources/Navigator/EPUB/EPUBSpreadView.swift index 2db11d4a3..629fe3707 100644 --- a/Sources/Navigator/EPUB/EPUBSpreadView.swift +++ b/Sources/Navigator/EPUB/EPUBSpreadView.swift @@ -615,6 +615,8 @@ private extension KeyEvent { case "Backspace": self.key = .backspace + case "Escape": + self.key = .escape default: guard let char = dict["key"] as? String else { diff --git a/Sources/Navigator/KeyEvent.swift b/Sources/Navigator/KeyEvent.swift index 3485a5881..25bd736c1 100644 --- a/Sources/Navigator/KeyEvent.swift +++ b/Sources/Navigator/KeyEvent.swift @@ -53,6 +53,7 @@ public enum Key: Equatable, CustomStringConvertible { // Others case backspace + case escape /// Indicates whether this key is a modifier key. public var isModifier: Bool { @@ -95,6 +96,8 @@ public enum Key: Equatable, CustomStringConvertible { return "Shift" case .backspace: return "Backspace" + case .escape: + return "Escape" } } } @@ -209,6 +212,8 @@ public extension Key { self = .option case .keyboardLeftShift, .keyboardRightShift: self = .shift + case .keyboardEscape: + self = .escape default: let character = key.charactersIgnoringModifiers