Input while using Input System and Unity UI

I’m using Input System and Unity UI and the problem I have is a single event (i.e. mouse press) is being sent to both systems. Here are a few interactions to demonstrate the problem.

  • Clicking on a UI element also causes the action assigned to left click to trigger.
  • Typing in a text field also causes the actions associated with those keys to trigger

In the docs it discusses this issue (UI support | Input System | 1.4.4) and gives the following advice.

  • All interaction is performed through UI elements. A 2D/3D scene is rendered in the background but all interaction is performed through UI events (including those such as ‘background’ clicks on the Canvas).
  • UI is overlaid over a 2D/3D scene but the UI elements cannot be interacted with directly.
  • UI is overlaid over a 2D/3D scene but there is a clear “mode” switch that determines if interaction is picked up by UI or by the game. For example, a first-person game on desktop may employ a cursor lock and direct input to the game while it is engaged whereas it may leave all interaction to the UI while the lock is not engaged

So basically is suggests handling all input through the UI system/Event System and using the InputSystemUIInputModule to map events to certain actions. However that system has limited input options. I would only be able to use Move, Submit, Cancel, etc. Unless there is something I’m missing with the UI input, it would not work since I need input from 15+ actions.

I was looking to see what other options I have, whether it is related to using the UI input system or something else entirely.