1

如何从字符串中获取键码?键码将用于 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;

我得到了同样的结果,完全错误的键码

那么这甚至可能吗?如果是,那怎么办?

4

1 回答 1

0

AWT/Swing 使用标准 ASCII 值作为键码,即A映射到 65(即KeyEvent.VK_A= 65);然而,LWJGL使用不同的编码方案,这就是为什么派生自的值KeyStroke不正确的原因。相反,您可能想使用getKeyIndex方法:

公共静态 int getKeyIndex(java.lang.String keyName)

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

参数: keyName - 键名

于 2013-07-11T11:35:38.343 回答