如何从字符串中获取键码?
键码将在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;
我得到了完全相同的错误代码
那有可能吗?如果是,那怎么办?
最佳答案
AWT / Swing使用标准ASCII值作为键码,即A
映射到65(即KeyEvent.VK_A
= 65);但是,LWJGL使用不同的编码方案,这就是为什么从KeyStroke
派生的值不正确的原因。相反,您可能想使用getKeyIndex
方法:
公共静态int getKeyIndex(java.lang.String keyName)
获取键的索引。如果无法识别键,则返回KEY_NONE。
参数:
keyName-密钥名称