Java:keyCode,rawCode,primaryLevelUnicode,scancode,它们是什么?

时间:2015-04-12 14:35:09

标签: java jintellitype

我正在尝试模拟键盘敲击。当我按下-键时,我收到以下事件。

各种代码的含义是什么?

  

[KEY_PRESSED,   键代码= 45,   keyText =减号,keyChar =' - ',   keyLocation = KEY_LOCATION_STANDARD,rawCode = 189,   primaryLevelUnicode = 45,scancode = 12]

1 个答案:

答案 0 :(得分:3)

  • KEY_PRESSED是事件类型。
  • keyCode是代码作为键的整数。请注意,并非所有字符都具有与之关联的键码。例如,问号没有键码,因为没有键盘出现在主层上。您可以获取每个代码here的列表。
  • keyText是该角色的文字说明。
  • keyChar是键入的字符。
  • keyLocation是发起此关键事件的密钥的位置。某些键在键盘上出现不止一次,例如左右shift键。此外,某些键出现在数字键盘上。这提供了一种区分这些键的方法。
  • 您可以获取原始密钥代码here的列表。请注意,存在人工类型字符的原始代码和已处理密钥的虚拟键代码。
  • primaryLevelUnicode我相信这是用于映射角色的图表。 Unicode具有多级图表,主要用于比较(collat​​or)。
  • 每按一次键,scancode都会发送到计算机以识别密钥。有关详细信息,请参阅this answer。您可以获取扫描代码列表here

请注意,scancode似乎仅针对MS Windows,而不是KeyEvent中的评论:

private transient long scancode = 0; // for MS Windows only