MainScreen/CwCheatScreen: Don't ask for keyboard input if the keyboard is "soft"

Fixes bug reported in the comments of #21637
This commit is contained in:
Henrik Rydgård committed 2026-05-05 09:27:50 +02:00
1 parent 265fe1b8b5
commit 27d5719a40
5 files changed
+17 -2

No files matched your search

+5
View File
@@ -49,6 +49,11 @@ CwCheatScreen::~CwCheatScreen() {
delete engine_;
}
bool CwCheatScreen::WantsTextInput() const {
// We don't want to pop a software keyboard on the cheat screen, just for type-to-search.
return !System_GetPropertyBool(SYSPROP_KEYBOARD_IS_SOFT);
}
bool CwCheatScreen::TryLoadCheatInfo() {
std::shared_ptr<GameInfo> info = g_gameInfoCache->GetInfo(nullptr, gamePath_, GameInfoFlags::PARAM_SFO);
std::string gameID;
+1 -1
View File
@@ -50,7 +50,7 @@ public:
const char *tag() const override { return "CwCheat"; }
bool WantsTextInput() const override { return true; }
bool WantsTextInput() const override;
protected:
void BeforeCreateViews() override;
+6
View File
@@ -125,6 +125,12 @@ MainScreen::~MainScreen() {
g_BackgroundAudio.SetGame(Path());
}
bool MainScreen::WantsTextInput() const {
// We don't want to pop a software keyboard on the main screen, just for type-to-search.
return !System_GetPropertyBool(SYSPROP_KEYBOARD_IS_SOFT);
}
#if PPSSPP_PLATFORM(IOS)
constexpr std::string_view getGamesUri = "https://www.ppsspp.org/getgames_ios";
constexpr std::string_view getHomebrewUri = "https://www.ppsspp.org/gethomebrew_ios";
+1 -1
View File
@@ -52,7 +52,7 @@ public:
bool key(const KeyInput &touch) override;
bool WantsTextInput() const override { return true; }
bool WantsTextInput() const override;
protected:
ViewLayoutMode LayoutMode() const override { return ViewLayoutMode::IgnoreBottomInset; }
+4
View File
@@ -501,6 +501,10 @@ bool System_GetPropertyBool(SystemProperty prop) {
// I don't know any possible way to display input dialog in non-xaml apps
return isKeyboardAvailable() || isTouchAvailable();
}
case SYSPROP_KEYBOARD_IS_SOFT:
{
return IsXBox();
}
case SYSPROP_DEBUGGER_PRESENT:
return IsDebuggerPresent();
case SYSPROP_OK_BUTTON_LEFT: