如何从字符串中获取键码?
键码将在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-密钥名称

10-06 14:00