Why does Keyboard and Controller not behave the same in this code?

private void shootPlay()
{
var i = supergoodshot.CreateInstance();
i.Volume = 0.4f;
if (awesomeshot)
{
if (shotpaused)
{
i.Play();
awesomeshot = false;
}
}

    }

in update:

if (Keyboard.GetState().IsKeyDown(Keys.Space))
{
awesomeshot = true;
shotpaused = false;
}

        if (Keyboard.GetState().IsKeyUp(Keys.Space))
        {
            shotpaused = true;
        }

        if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Pressed)
        {
            awesomeshot = true;
            shotpaused = false;
        }

        if (GamePad.GetState(PlayerIndex.One).Buttons.A == ButtonState.Released)
        {
            shotpaused = true;
        }

shootPlay();

// still inside update

I have given you parts of my Game1.css, theres no underlying code, other than monogame, Controller and Keyboard have the same kind of way to check for button or key states, why dont they work similar, is this a common issue in between game engines?

Controller works as intended, but space bar allways runs to many instances of my shot sound…

Can someone maybe explain whats going on here?

Is there an issue with the underlying Monogame framework code? In case this is true, I allready made an issue explaining what happend and my entire Game1.cs

The link is here https://github.com/MonoGame/MonoGame/issues/7216

From the outside it seems like theres something wrong with the KeyboardState class not getting the right information to really check if a Key on the Keyboard is pressed or not.