diff --git a/Source/Modules/InputHandler_HandleInput.swift b/Source/Modules/InputHandler_HandleInput.swift index e3f2c2f9..0f5d4d04 100644 --- a/Source/Modules/InputHandler_HandleInput.swift +++ b/Source/Modules/InputHandler_HandleInput.swift @@ -150,7 +150,7 @@ extension InputHandler { return (input.isCommandHold && input.isControlHold) ? (input.isOptionHold ? handleCtrlOptionCommandEnter() - : handleCtrlCommandEnter()) + : handleCtrlCommandEnter(isShiftPressed: input.isShiftHold)) : handleEnter() case .kSpace: // 倘若沒有在偏好設定內將 Space 空格鍵設為選字窗呼叫用鍵的話……… // 空格字符輸入行為處理。 diff --git a/Source/Modules/InputHandler_HandleStates.swift b/Source/Modules/InputHandler_HandleStates.swift index e36d874f..46269acb 100644 --- a/Source/Modules/InputHandler_HandleStates.swift +++ b/Source/Modules/InputHandler_HandleStates.swift @@ -296,7 +296,7 @@ extension InputHandler { /// Command+Enter 鍵的處理(注音文)。 /// - Returns: 將按鍵行為「是否有處理掉」藉由 SessionCtl 回報給 IMK。 - func handleCtrlCommandEnter() -> Bool { + func handleCtrlCommandEnter(isShiftPressed: Bool = false) -> Bool { guard let delegate = delegate else { return false } let state = delegate.state guard state.type == .ofInputting else { return false } @@ -319,8 +319,7 @@ extension InputHandler { } } - let isVCED = delegate.clientBundleIdentifier.contains("vChewingPhraseEditor") - displayedText = displayedText.replacingOccurrences(of: "\t", with: isVCED ? "-" : " ") + displayedText = displayedText.replacingOccurrences(of: "\t", with: isShiftPressed ? "-" : " ") delegate.switchState(IMEState.ofCommitting(textToCommit: displayedText)) return true