Skip to content

Commit

Permalink
Merge pull request #131 from TheMoonThatRises/fix/smart-keymapping-te…
Browse files Browse the repository at this point in the history
…xtfield

Fix smart keymapping disallowing textfield typing
  • Loading branch information
JoseMoreville committed Nov 17, 2023
2 parents 9cf0c5c + c8b0cd6 commit c22ec61
Show file tree
Hide file tree
Showing 2 changed files with 16 additions and 8 deletions.
20 changes: 14 additions & 6 deletions PlayTools/Controls/Frontend/ControlMode.swift
Expand Up @@ -34,13 +34,21 @@ public class ControlMode: Equatable {
let centre = NotificationCenter.default
let main = OperationQueue.main
if PlaySettings.shared.noKMOnInput {
centre.addObserver(forName: UIApplication.keyboardDidHideNotification, object: nil, queue: main) { _ in
ModeAutomaton.onKeyboardHide()
Toucher.writeLog(logMessage: "virtual keyboard did hide")
centre.addObserver(forName: UITextField.textDidEndEditingNotification, object: nil, queue: main) { _ in
ModeAutomaton.onUITextInputEndEdit()
Toucher.writeLog(logMessage: "uitextinput end edit")
}
centre.addObserver(forName: UIApplication.keyboardWillShowNotification, object: nil, queue: main) { _ in
ModeAutomaton.onKeyboardShow()
Toucher.writeLog(logMessage: "virtual keyboard will show")
centre.addObserver(forName: UITextField.textDidBeginEditingNotification, object: nil, queue: main) { _ in
ModeAutomaton.onUITextInputBeginEdit()
Toucher.writeLog(logMessage: "uitextinput begin edit")
}
centre.addObserver(forName: UITextView.textDidEndEditingNotification, object: nil, queue: main) { _ in
ModeAutomaton.onUITextInputEndEdit()
Toucher.writeLog(logMessage: "uitextinput end edit")
}
centre.addObserver(forName: UITextView.textDidBeginEditingNotification, object: nil, queue: main) { _ in
ModeAutomaton.onUITextInputBeginEdit()
Toucher.writeLog(logMessage: "uitextinput begin edit")
}
set(.ARBITRARY_CLICK)
} else {
Expand Down
4 changes: 2 additions & 2 deletions PlayTools/Controls/Frontend/ModeAutomaton.swift
Expand Up @@ -48,14 +48,14 @@ public class ModeAutomaton {
}
}

static public func onKeyboardShow() {
static public func onUITextInputBeginEdit() {
if mode == .EDITOR {
return
}
mode.set(.TEXT_INPUT)
}

static public func onKeyboardHide() {
static public func onUITextInputEndEdit() {
if mode == .EDITOR {
return
}
Expand Down

0 comments on commit c22ec61

Please sign in to comment.