diff --git a/Source/Modules/InputHandler_HandleCandidate.swift b/Source/Modules/InputHandler_HandleCandidate.swift index fb38d38f..c5971b1e 100644 --- a/Source/Modules/InputHandler_HandleCandidate.swift +++ b/Source/Modules/InputHandler_HandleCandidate.swift @@ -151,7 +151,7 @@ extension InputHandler { } var index: Int? - let matched: String = [.ofAssociates, .ofInputting].contains(state.type) + let matched: String = [.ofAssociates].contains(state.type) ? input.inputTextIgnoringModifiers ?? "" : input.text checkSelectionKey: for keyPair in delegate.selectionKeys.enumerated() { guard matched.lowercased() == keyPair.element.lowercased() else { continue } diff --git a/Source/Modules/InputHandler_HandleComposition.swift b/Source/Modules/InputHandler_HandleComposition.swift index 5c4f5fb1..cbc3ebf7 100644 --- a/Source/Modules/InputHandler_HandleComposition.swift +++ b/Source/Modules/InputHandler_HandleComposition.swift @@ -216,7 +216,6 @@ extension InputHandler { var wildcardKey: String { currentLM.cassetteWildcardKey } // 花牌鍵。 let inputText = input.text let isWildcardKeyInput: Bool = (inputText == wildcardKey && !wildcardKey.isEmpty) - let calligrapherBackup = calligrapher let skipStrokeHandling = input.isReservedKey || input.isNumericPadKey || input.isNonLaptopFunctionKey @@ -286,13 +285,6 @@ extension InputHandler { } // 向語言模型詢問是否有對應的記錄。 if !currentLM.hasUnigramsFor(keyArray: [calligrapher]) { - // 此時立即處理 `%quick` 選字行為。 - let quickCandidates: Bool = state.type == .ofInputting && state.isCandidateContainer - if quickCandidates, handleCandidate(input: input) { - if !calligrapher.isEmpty { calligrapher = calligrapherBackup } - return true - } - delegate.callError("B49C0979_Cassette:語彙庫內無「\(calligrapher)」的匹配記錄。") calligrapher.removeAll() // 根據「組字器是否為空」來判定回呼哪一種狀態。 diff --git a/Source/Modules/InputHandler_TriageInput.swift b/Source/Modules/InputHandler_TriageInput.swift index 0477a360..c7a75484 100644 --- a/Source/Modules/InputHandler_TriageInput.swift +++ b/Source/Modules/InputHandler_TriageInput.swift @@ -152,10 +152,8 @@ extension InputHandler { let hasQuickCandidates: Bool = state.type == .ofInputting && state.isCandidateContainer - if input.modifierFlags == .shift { - // 處理 `%quick` 選字行為(有摁住 Shift)。 - guard !(hasQuickCandidates && handleCandidate(input: input)) else { return true } - } + // 處理 `%quick` 選字行為(有摁住 Shift)。 + guard !(hasQuickCandidates && handleCandidate(input: input)) else { return true } // 注音按鍵輸入與漢音鍵盤符號輸入處理。 if isHaninKeyboardSymbolMode, [[], .shift].contains(input.modifierFlags) { @@ -164,11 +162,6 @@ extension InputHandler { return compositionHandled } - if input.modifierFlags != .shift { - // 處理 `%quick` 選字行為(沒有摁住 Shift)。 - guard !(hasQuickCandidates && handleCandidate(input: input)) else { return true } - } - // ----- // 手動呼叫選字窗。