I'm making a UI in VR that uses a "fake" keyboard — a bunch of 3D objects that the user can poke, each one sending a character or control code. I'd like to make this work properly with a TMPro input field. I have it mostly working by getting the field's selectionAnchorPosition, selectionFocusPosition, and text, manipulating these appropriately, and stuffing them back into the field. But the problem is, I can't get the blinking cursor (much less an extended selection) to show. It looks as though the input field is seeing that there is no "real" keyboard, and so refusing to accept the focus (or maybe just refusing to draw the cursor/selection). How can I work around this? Is there some way to turn my virtual keyboard into a more standard-looking keyboard the UI system (including TMP_InputField) will recognize as a keyboard? Or some way to tell the field not to worry about it, and display normal caret/selection behavior regardless?