Can someone please explain why this action triggers with a key press but not a tap?

Hi everyone,

I have an issue where I have a keyboard (Spacebar) and the touch screen (Single Tap) mapped to a Jump action. The keyboard detects the action just fine but neither the simulator or physical device (iPad) detect the Jump and I’m not sure what’s wrong. (I know how to fix it but I want to learn why it’s wrong.)

I’m using Unity 6 LTS, and the Input System 1.11.2 and here is my code with the issue I’m seeing.

    public class PlayerController : MonoBehaviour
    {
        InputAction jumpAction;

        private void Start()
        {
            jumpAction = InputSystem.actions.FindAction("Jump"); 
        }

        private void Update()
        {
            if (jumpAction.IsPressed()) //This registers the keyboard, but not the tap on the screen
            {
                Debug.Log("Jump!"); 
            }
        }

Now, if I change jumpAction.IsPressed() to jumpAction.WasPerformedThisFrame() the tap registers, but I’m not sure why.

I thought with the new input system all inputs were treated the same as long as they were mapped (which I have a pic of below):