Preventing keyboard from closing when OK button is pressed

, ,

I want to replicate the search interface from GameLibrary in my application — specifically the keyboard appearance and behavior where the keyboard stays open when pressing the search button and shows a magnifying glass icon instead of the standard OK button. However, I want to search through my app's content, not the game library.

I've decompiled the GameLibrary code but didn't find a custom keyboard implementation or search-specific keyboard handling. How does GameLibrary achieve this? Is there an API for customizing keyboard menu button images that I'm missing? Does GameLibrary use a different approach to keep the keyboard open during search? Is this functionality only available to system apps, or can regular apps also customize keyboard button icons?

Is there a way to prevent the keyboard from closing when OK is pressed, or to cancel the hide animation once it starts? Alternatively, is there a way to detect which keyboard column is selected so I can intercept the A button only when OK would be triggered?

What I've tried:

  1. keyboardWillHideCallback — The callback runs after the hide animation starts, so I can't prevent it.

  2. keyboardAnimatingCallback — Tried calling show() during the hide animation, but show() returns early if keyboardIsVisible is still true (line 868 in CoreLibs/keyboard.lua).

  3. keyboardDidHideCallback — Re-showing after hide works, but causes a visible flash.

  4. Input handler interception — Intercepted the A button before it reaches the keyboard, but can't detect if the menu column (OK) is selected vs. typing a letter.

Current workaround:

Re-showing the keyboard immediately after it hides works, but causes a visible animation flash, which isn't ideal for UX.

SDK Version: 3.0.1