Quick answer: EventSystem → replace StandaloneInputModule with InputSystemUIInputModule. Inner Text RaycastTarget on. TMP InputField forwards keys correctly.
You install Input System. TMP_InputField stops accepting arrow keys, Backspace, Home/End. The legacy module is still on the EventSystem and doesn’t talk to Input System.
The Fix
EventSystem GameObject:
Remove: Standalone Input Module
Add: Input System UI Input Module
UI Actions Asset: DefaultInputActions // from package
TMP InputField:
Inner "Text" component:
Raycast Target: true
Project Settings → Player:
Active Input Handling: Input System Package (New) // or Both
The new module sources keyboard navigation, mouse clicks, and gamepad input through the Input System. Existing TMP InputField talks to the module via standard Selectable/IUpdateSelectedHandler.
Verifying
Click into InputField. Type. Arrow keys move caret. Home/End jump. Without the module swap: typing works but navigation keys are dead.
“Right module on EventSystem. Caret responds.”
Related Issues
For Input System composite, see composite. For UI Toolkit binding, see UXML binding.
New module. Caret moves.