SessionCtl // Allow non-Qwerty layouts for certain parsers.

This commit is contained in:
ShikiSuen 2023-04-23 21:49:54 +08:00
parent 8bc621f126
commit 3aeb865bda
1 changed files with 9 additions and 2 deletions

View File

@ -122,9 +122,16 @@ public extension SessionCtl {
eventToDeal = eventToDeal.convertFromEmacsKeyEvent(isVerticalContext: verticalProcessing) eventToDeal = eventToDeal.convertFromEmacsKeyEvent(isVerticalContext: verticalProcessing)
} }
// //
if !inputHandler.isComposerUsingPinyin || IMKHelper.isDynamicBasicKeyboardLayoutEnabled { if !inputHandler.isComposerUsingPinyin || IMKHelper.isDynamicBasicKeyboardLayoutEnabled {
eventToDeal = eventToDeal.layoutTranslated(to: .qwerty) var defaultLayout = LatinKeyboardMarkings(rawValue: PrefMgr.shared.basicKeyboardLayout) ?? .qwerty
if let parser = KeyboardParser(rawValue: PrefMgr.shared.keyboardParser) {
switch parser {
case .ofStandard, .ofIBM, .ofSeigyou, .ofFakeSeigyou, .ofDachen26: defaultLayout = .qwerty
default: break
}
}
eventToDeal = eventToDeal.layoutTranslated(to: defaultLayout)
} }
// Apple // Apple