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)
}
//
//
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