unity多按键检测失效问题

我正在使用unity制作一款音游,但是unity检测按键时无法同时检测到4个按键,无论是在编辑器模式下还是打包后的程序中

代码应该就不必粘贴了,因为本人尝试过多种方法检测,包括直接另写一个程序在Update函数内用GetButtonDown、GetButton、GetKey、GetKeyDown为true时响应时Debug.Log;结果是最多同时(不是组合键)检测到3个按键
举例:

void Update(){
//unity编辑器中d,f,j,k已设置好对应d,f,j,k
  if(Input.GetButton("d")){
    Debug.Log("d");
  }
  if(Input.GetButton("f")){
    Debug.Log("f");
  }
  if(Input.GetButton("j")){
    Debug.Log("j");
  }
  if(Input.GetButton("k")){
    Debug.Log("k");
  }
}

上述内容运行后,我同时持续按住d/f/j/k,但编辑器中的日志却只有d/f/j等3个按键的消息,有时甚至只有1个或者两个,但当我抬起能够检测到的按键时,其他仍按住的按键便能够正常检测到

同时键盘输入没有问题

换个键盘再试试

别单纯的用GetButtonDown来做多按键的检测,要搭配计时器或者布尔值来,原因是:update是每帧循环执行,在第一帧检测到某个按键按下,下一帧检测到另一个按键按下他们都会debug但是这在逻辑上并不算他们被同时按下。