2010-02-23 119 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