Java-робот нажимает боковую кнопку

Или вы можете сделать это так

gotMessages(messagesFromApi){
    let that = this // somebody uses self 
    messagesFromApi.forEach((m) => {
        that.messages.push(m) // or self.messages.push(m) - if you used self
    })
}
1
задан user5327287 1 April 2019 в 17:14
поделиться

1 ответ

Итак, после поиска я нашел эту функцию, которая возвращает любую маску кнопки мыши от 1 до 20 MouseEvent.getMaskForButton(int button).

После попытки классу Robot удалось нажать на button4 и button5 боковые кнопки, например, так:

try
{
    Robot mouseHandler = new Robot();

    int mouseButtonNum = 4; // 1 - 20
                            // but only buttons from 1 to 5 did work with Robot

    mouseHandler.mousePress(MouseEvent.getMaskForButton(mouseButtonNum));
    mouseHandler.mouseRelease(MouseEvent.getMaskForButton(mouseButtonNum));
} catch (AWTException e)
{
    e.printStackTrace();
}

Я использовал мышь с 3 кнопками, и Robot удалось нажать 4 и 5 кнопок. Но похоже, что Robot может нажимать только кнопки от 1 до 5, поэтому, вероятно, Hovercraft Full Of Eels объяснил правильно:

Мне также интересно, Ваша проблема связана не только с ОС, но и с поставщиком, так как я не знаю, была ли обработка дополнительных и, возможно, необычных кнопок мыши полностью решена в большинстве распространенных ОС.

Если он поступает правильно, то я использую ОС Windows 10. Если у кого-то есть Linux, и он знает, как обратиться к большему количеству кнопок мыши на Linux, и попытался Robot нажать кнопку мыши выше 5, поэтому, пожалуйста, отметьте меня, работает ли он или нет.

0
ответ дан user5327287 1 April 2019 в 17:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: