Pressing several buttons at the same time problem

Hi guys! I encountered a weird problem while testing our game.

In our game you steer a ship using WASD and the arrow keys and also you shoot with space (keys are configurable though). So I got a problem with this configuration. When I use those buttons to steer the ship and I have pressed W (acceleration), Space (Shoot) and I try to steer up (down arrow key), the down arrow key gets ignored by the engine and the ship wouldn’t steer up. I’m giving this speciffic example, because this key ignoring thing sometimes happens, sometimes - doesn’t and it really depends on what keys I’m pressing. For the W and S as well as for the arrow keys buttons I use Input.GetAxis, for the Space check I use Input.GetKey.

I couldn’t find any other people having this problem, though I’m sure it’s not due to a bug in my code. Any ideas what is that caused by and how it can be fixed ?

Cheers!

It doesnt have to be a bug, but a bad choices of using conditional statements.

Code would be nice. However different keyboards got different limit at how many keys they will register at one time.

Yes, but that I would be a bug, cause bad logic is a bug, right?

It can’t be the code, because all the button checks are completely independant from each other. Code is too huge to be posted but pretty much everything in the script is like:

Input.GetButton(...){

}
Input.GetAxis(...){

}

Now this is something I was thinking about but if my keyboard can’t register the combination of W, Space and Down arrow, that means that a lot of gamers will have issues with this game. Maybe I have to consider remaking the input system and testing it with different keyboards.

Have you verified that the Vertical/Horizontal input haven’t set the up/down arrows as alternative keys to W/S on the same axis?

Depending on your code, which your example seems wrong in many ways, some keyboards have issues because of the design, Microsoft did a write up on it back in the day.

Keyboard anti/ghosting microsoft applied sciences. ← with pictures!

A real example from your code would be really helpful