如何从字符串中获取密钥? 键码将用于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;
我从中得到了相同的,完全错误的键码
这样甚至可能吗?如果是,那么如何?
答案 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 - 密钥名称