mirror of
https://github.com/hrydgard/ppsspp.git
synced 2026-11-11 16:49:27 +01:00
ImDebugger: Route the soft keyboard through the System request layer
Instead of a hook and four Android_* functions declared in ImDebugger.cpp, the debugger calls System_SetSoftKeyboardForced(), and the platform reports a closed keyboard with UIMessage::SOFT_KEYBOARD_HIDDEN. "Keep keyboard after switching apps" is passed along with the request, and the activity's onStop ends a keyboard that shouldn't persist, so the native side no longer tracks app pauses. The debugger is now also told when it's hidden. Frame() isn't called then, so hiding it with the hotkey used to leave the keyboard up. The keyboard button and its Misc menu options are only shown when SYSPROP_KEYBOARD_IS_SOFT is set, which Android now reports too. iOS and UWP on Xbox report it as well, but don't implement the request yet. Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
This commit is contained in:
1 parent
1c1b7c9f50
commit
3c398657df
9 files changed
+83
-124
No files matched your search
@@ -440,6 +440,9 @@ void runImDebugger(Draw::DrawContext *draw) {
|
||||
} else {
|
||||
uiContext->SetOverrideScreenFrame(nullptr);
|
||||
SetOverrideScreenFrame(nullptr);
|
||||
if (imDebugger_) {
|
||||
imDebugger_->OnHidden();
|
||||
}
|
||||
}
|
||||
|
||||
// Enable text input (needed for KeyInputFlags::CHAR events) only while an imgui text field is active.
|
||||
@@ -1519,6 +1522,11 @@ bool HandleGlobalMessage(UIMessage message, const std::string &value) {
|
||||
} else if (message == UIMessage::SAVE_FRAME_DUMP) {
|
||||
SaveFrameDump();
|
||||
return true;
|
||||
} else if (message == UIMessage::SOFT_KEYBOARD_HIDDEN) {
|
||||
if (imDebugger_) {
|
||||
imDebugger_->OnSoftKeyboardHidden();
|
||||
}
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user