ctlIME // Allow in-place writing to UserExclPhraseData.

This commit is contained in:
ShikiSuen 2022-03-23 13:19:35 +08:00
parent d64d1af8a3
commit bdaf0f5286
1 changed files with 6 additions and 2 deletions

View File

@ -41,6 +41,8 @@ class ctlInputMethod: IMKInputController {
@objc static let kIMEModeCHS = "org.atelierInmu.inputmethod.vChewing.IMECHS"; @objc static let kIMEModeCHS = "org.atelierInmu.inputmethod.vChewing.IMECHS";
@objc static let kIMEModeCHT = "org.atelierInmu.inputmethod.vChewing.IMECHT"; @objc static let kIMEModeCHT = "org.atelierInmu.inputmethod.vChewing.IMECHT";
@objc static let kIMEModeNULL = "org.atelierInmu.inputmethod.vChewing.IMENULL"; @objc static let kIMEModeNULL = "org.atelierInmu.inputmethod.vChewing.IMENULL";
@objc static var areWeDeleting = false;
private static let tooltipController = TooltipController() private static let tooltipController = TooltipController()
@ -204,6 +206,8 @@ class ctlInputMethod: IMKInputController {
} else { } else {
(client as? IMKTextInput)?.overrideKeyboard(withKeyboardNamed: mgrPrefs.basisKeyboardLayout) (client as? IMKTextInput)?.overrideKeyboard(withKeyboardNamed: mgrPrefs.basisKeyboardLayout)
} }
// Enter
ctlInputMethod.areWeDeleting = event.modifierFlags.contains([.shift, .command])
return false return false
} }
@ -644,8 +648,8 @@ extension ctlInputMethod: KeyHandlerDelegate {
return false return false
} }
let InputModeReversed: InputMode = (ctlInputMethod.currentKeyHandler.inputMode == InputMode.imeModeCHT) ? InputMode.imeModeCHS : InputMode.imeModeCHT let InputModeReversed: InputMode = (ctlInputMethod.currentKeyHandler.inputMode == InputMode.imeModeCHT) ? InputMode.imeModeCHS : InputMode.imeModeCHT
mgrLangModel.writeUserPhrase(state.userPhrase, inputMode: keyHandler.inputMode, areWeDuplicating: state.chkIfUserPhraseExists) mgrLangModel.writeUserPhrase(state.userPhrase, inputMode: keyHandler.inputMode, areWeDuplicating: state.chkIfUserPhraseExists, areWeDeleting: ctlInputMethod.areWeDeleting)
mgrLangModel.writeUserPhrase(state.userPhraseConverted, inputMode: InputModeReversed, areWeDuplicating: false) mgrLangModel.writeUserPhrase(state.userPhraseConverted, inputMode: InputModeReversed, areWeDuplicating: false, areWeDeleting: ctlInputMethod.areWeDeleting)
return true return true
} }
} }