2013-07-11 131 views
1

如何從字符串獲取鍵碼? 鍵碼將在Keyboard.isKeyDown()上使用。java從字符串獲取鍵碼

我曾嘗試

char ch = key.charAt(0); 
KeyStroke ks = KeyStroke.getKeyStroke(key.charAt(0), 0); 
int keycode = ks.getKeyCode(); 

,但它給了我錯了鍵碼,

我也有試過

char ch = key.charAt(0); 
int keycode = ch; 

我得到了同樣出來的是,完全錯誤的鍵碼

也是這樣甚至可能嗎?如果是,那麼如何?

+0

@Andreas_D哎呀..我錯過了。 –

+0

@ johnchen902 String ... like「f」 – user2418798

+0

@ johnchen902不是33,而是33它返回70(與我試過的其他所有其他類型一樣。)(key:F) – user2418798

回答

0

AWT/Swing對鍵碼使用標準ASCII值,即A映射到65(即KeyEvent.VK_A = 65);然而,LWJGL使用不同的編碼方案,這就是爲什麼來自KeyStroke的值不正確。相反,你可能想使用getKeyIndex方法:

公共靜態INT getKeyIndex(java.lang.String中的keyName)

獲取是一個重要的指標。如果密鑰無法識別,則返回KEY_NONE。

參數: 的keyName - 鍵名