2010-02-23 75 views
1

我试图检测何时按住Shift键(任一侧)(没有按任何其他键),但我不知道要这样做。这是我发现检测按下Shift键的唯一的事:检测何时按住shift键

protected boolean keyStatus(int keycode, int time) 
    { 
    System.out.println("down"); 
    boolean retVal = false; 
    int key = Keypad.key(keycode); 
    if(key == Keypad.KEY_SHIFT_LEFT) 
    { 
      // do something 
     retVal = true; 
    } 
    else if(key == Keypad.KEY_SHIFT_RIGHT) 
    { 
      // do something 
     retVal = true; 
    } 
    return retVal; 
    } 

移不触发的keyDown和KeyUp,这将是理想的。我错过了什么?

+1

看起来像你回答你自己的问题,没有办法做到这一点。为什么首先你需要知道这一点? – 2010-02-24 01:27:56

+0

对于弹球游戏。换挡键处于控制脚蹼的最佳位置。 – ADB 2010-02-24 12:21:15

回答

0

按住shift键会触发多个按键吗?如果是这样,你可以编写一个函数来在给定的时间内检测一定数量的按键。

+0

据我所知,shift键不会触发keyDown,keyChar,keyControl或keyRepeat。保持按下不会重新触发keyStatus。 – ADB 2010-02-23 22:41:00