I am not understanding

I’m using this script to move the player

using UnityEngine;
using UnityEngine.InputSystem;

public class KeyboardControls : Player
{
    void Update()
    {
        Vector3 Movement = new Vector3();
        if (Keyboard.current.dKey.wasPressedThisFrame)
            Movement.x += 10;
        if (Keyboard.current.aKey.wasPressedThisFrame)
            Movement.x -= 10;
        if (Keyboard.current.wKey.wasPressedThisFrame)
            Movement.z += 10;
        if (Keyboard.current.sKey.wasPressedThisFrame)
            Movement.z -= 10;
        if (Keyboard.current.spaceKey.wasPressedThisFrame && Jump)
            RB.AddForce(Vector3.up * 300);

        RB.AddForce(Movement);

        if (Keyboard.current.xKey.wasPressedThisFrame)
            SwitchCamera();
    }
}

But i have no idea what changed but now in Game mode i have to spam keys to move, while in Scene mode it goes even too fast? What am i missing here?

Code is frame-rate dependent. High framerate, lots of Update() calls, more movement. Low framerate, fewer Update() calls, less movement. Multiply by Time.deltaTime.

Apparently wasPressedThisFrame started working as it’s name says, so it would only return true only on the first frame of the key press (i would swear that before it was every frame, but ok).

So i switched to .isPressed for movement