如何使用Java Robot输入非数字键盘号码



我正在运行一个Java机器人类,我需要输入键盘键0-9(实际数字),但不是数字键盘。出于某种原因,我使用的java小程序(我没有编写)不接受数字键盘上的0-9键,只接受标准键盘上方的0-9行。然而,Java robot类似乎只有一个VK_NUMPAD#KeyEvent。起初,我尝试了VK_1事件,但结果发现它与数字无关(而是前0-9个ASCII字符)。有办法得到最上面一行的数字吗?除此之外,我使用的机器人工作得很好,并且会很高兴地输入"VK_P"one_answers"VK_UP"等键。谢谢

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

您对VK_1的尝试应该是正确的。这就是代码49,它对应于已经被按下的顶行上的1。我用我的小程序尝试过这个。我插入了一个KeyListener,并验证了这是正确的。48-57对应于我给出的链接中列出的顶行上的0-9作为VK_ 0。。。VK_9。一定有某种覆盖(比如num_lock键覆盖数字键盘)在重新映射它,因为正如我所说,VK_1是键盘顶部1个字符的正确答案。

最新更新