1

我正在运行一个 Java 机器人类,我需要输入键盘键 0-9(实际数字),而不是小键盘数字。出于某种原因,我正在使用的 java 小程序(我没有编写)不接受来自小键盘的 0-9 键,只接受标准键盘上方的 0-9 行。但是,Java 机器人类似乎只有一个 VK_NUMPAD# KeyEvent。起初,我尝试了 VK_1 事件,但结果与数字无关(而是前 0-9 个 ASCII 字符)。有什么办法可以得到第一行的数字吗?我使用的机器人除此之外工作正常,并且会愉快地输入“VK_P”和“VK_UP”等键。谢谢!

4

1 回答 1

0

应该是关键代码的最终链接。使用 时e.getKeyCode(),我们看到 VK_NUMPAD 的代码分别为 96-105 用于数字 0-9。仅当 num_lock 打开时才会出现这种情况,因为如果它关闭,您将获得其他代码。

您对 VK_1 的尝试应该是正确的。那就是代码 49,它对应于顶行上的 1 已被推送。我用我拥有的小程序尝试了这个。我卡在一个 KeyListener 中,并验证这是正确的。48-57 对应于第一行的 0-9,在我给出的链接中列为 VK_0 ... VK_9。必须有某种覆盖(如 num_lock 键覆盖数字键盘)正在重新映射它,因为正如我所说 VK_1 是键盘顶部 1 字符的正确答案。

于 2014-01-10T19:06:56.363 回答