0

我在我的 Java 代码中使用机器人类。我想按“_”键,但键码 189 不适用于代码

public void type() throws Exception

Robot rob = new Robot();

rob.keyPress(189);
rob.keyRelease(189);
4

2 回答 2

3

正确的方法是使用SHIFT+ -

Robot rob = new Robot();
rob.keyPress(KeyEvent.VK_SHIFT);
rob.keyPress(KeyEvent.VK_MINUS);
rob.keyRelease(KeyEvent.VK_MINUS);
rob.keyRelease(KeyEvent.VK_SHIFT);

似乎在法语键盘上以下代码可以工作,因为键盘作为指定的下划线键:

Robot rob = new Robot();
rob.keyPress(KeyEvent.VK_UNDERSCORE);
rob.keyRelease(KeyEvent.VK_UNDERSCORE);

这个来源他们说:

数字不优先

在法语键盘上写数字需要每次都使用 shift 键。

这意味着 AZERTY 键盘优先考虑重音字母(例如 é)和括号之类的内容 - 甚至是与号 (&) 优先于数字。

在此处输入图像描述

查看8密钥,您可以找到下划线。

于 2019-12-04T15:36:57.540 回答
0

这是由于键盘布局没有实际的下划线键造成的。要获得下划线,您必须按 Shift + -(减号)。

rob.keyPress(KeyEvent.VK_SHIFT);
rob.keyPress(KeyEvent.VK_MINUS);
rob.keyRelease(KeyEvent.VK_MINUS);
rob.keyRelease(KeyEvent.VK_SHIFT);

来源

于 2019-12-04T15:18:20.530 回答