Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: auto keyboard toggle #115

Merged
3 changes: 3 additions & 0 deletions PlayTools/Controls/ControlMode.swift
Expand Up @@ -55,6 +55,9 @@ public class ControlMode {
}
Toucher.writeLog(logMessage: "cursor show switched to \(show)")
visible = show
if PlaySettings.shared.noKMOnInput {
ohaiibuzzle marked this conversation as resolved.
Show resolved Hide resolved
keyboardMapped = false
}
}
}
}
Expand Down
16 changes: 9 additions & 7 deletions PlayTools/Controls/PlayInput.swift
Expand Up @@ -154,13 +154,15 @@ class PlayKeyboard {
public static func initialize() {
let centre = NotificationCenter.default
let main = OperationQueue.main
centre.addObserver(forName: UIApplication.keyboardDidHideNotification, object: nil, queue: main) { _ in
mode.setMapping(true)
Toucher.writeLog(logMessage: "virtual keyboard did hide")
}
centre.addObserver(forName: UIApplication.keyboardWillShowNotification, object: nil, queue: main) { _ in
mode.setMapping(false)
Toucher.writeLog(logMessage: "virtual keyboard will show")
if PlaySettings.shared.noKMOnInput {
centre.addObserver(forName: UIApplication.keyboardDidHideNotification, object: nil, queue: main) { _ in
mode.setMapping(true)
Toucher.writeLog(logMessage: "virtual keyboard did hide")
}
centre.addObserver(forName: UIApplication.keyboardWillShowNotification, object: nil, queue: main) { _ in
mode.setMapping(false)
Toucher.writeLog(logMessage: "virtual keyboard will show")
}
}
AKInterface.shared!.setupKeyboard(keyboard: {keycode, pressed, isRepeat in
if !mode.keyboardMapped {
Expand Down
3 changes: 3 additions & 0 deletions PlayTools/PlaySettings.swift
Expand Up @@ -71,6 +71,8 @@ let settings = PlaySettings.shared
@objc lazy var customScaler = settingsData.customScaler

@objc lazy var rootWorkDir = settingsData.rootWorkDir

@objc lazy var noKMOnInput = settingsData.noKMOnInput
}

struct AppSettingsData: Codable {
Expand All @@ -93,4 +95,5 @@ struct AppSettingsData: Codable {
var inverseScreenValues = false
var windowFixMethod = 0
var rootWorkDir = true
var noKMOnInput = false
}