I have an editable text box in my UMG and I want to force the opening of the virtual keyboard when the game is on PS4 or X1 and the user focuses the text.
At this moment, when it happens, the textbox is enabled, but I have to press X (on PS4) to open the keyboard and write. On PC, I can write from the moment when it is enabled.
This question is old, but perhaps the solution I found helps somebody else.
VirtualKeyboardTrigger in SEditableText is never set, so it defaults to OnFocusByPointer. In FSlateEditableTextLayout::HandleFocusReceived VirtualKeyboardTrigger is checked together with the input method.
I did the lazy solution and just added .VirtualKeyboardTrigger( EVirtualKeyboardTrigger::OnAllFocusEvents) in UEditableText::RebuildWidget(). Now the virtualkeyboards opens when the textbos receives focus.
The better solution would be to expose VirtualKeyboardTrigger to blueprint (like VirtualKeyboardType).
Thankyou for this information. It just helped me out no end, probably saved at least a day of searching for forums and browsing through code, trying to figure out how to get the virtual keyboard to appear on Xbox One.
As I wrote above. Add .VirtualKeyboardTrigger(EVirtualKeyboardTrigger::OnAllFocusEvents)
in UEditableTextBox::RebuildWidget() (EditableTextBox.cpp) and probably also in UEditableText::RebuildWidget() (EditableText.cpp) to force the virtual keyboard.