java从String获取keycode

时间:2013-07-11 10:59:29

标签: java keyboard key lwjgl keycode

如何从字符串中获取密钥? 键码将用于Keyboard.isKeyDown()。

我试过了

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;

我从中得到了相同的,完全错误的键码

这样甚至可能吗?如果是,那么如何?

1 个答案:

答案 0 :(得分:0)

AWT / Swing使用标准ASCII值作为密钥代码,即A映射到65(即KeyEvent.VK_A = 65);但是,LWJGL使用不同的编码方案,这就是从KeyStroke派生的值不正确的原因。相反,您可能希望使用getKeyIndex方法:

  

public static int getKeyIndex(java.lang.String keyName)

     

获取密钥的索引。如果密钥无法识别,则返回KEY_NONE。

     

参数:          keyName - 密钥名称