Отправка нажатий клавиш и щелчков мыши с помощью Scala

Ранее я использовал AutoHotkey для отправки нажатий клавиш и щелчков мыши для автоматизации взаимодействия с графическими интерфейсами и браузерами. Как на этот раз отправить нажатия клавиш и щелчки мыши с помощью Scala?


person candleford    schedule 28.01.2012    source источник
comment
Попробуйте Java-[robot](docs.oracle. com/javase/1.5.0/docs/api/java/awt/Robot.html ) класс   -  person Adam Rabung    schedule 28.01.2012


Ответы (2)


Вы можете использовать java.awt.Robot.

val robot = new java.awt.Robot
robot.mouseMove(100,100)    // Cursor will jump to the top left of your screen

Обратите внимание, что вы должны вводить текстовый код ключа за кодом ключа (см. java.awt.event.KeyEvent). Это довольно раздражает, но вы можете написать код для автоматизации нажатия и отпускания клавиш. (Вам нужно отпускать каждую клавишу, которую вы нажимаете! Это эмулирует клавиатуру....)

person Rex Kerr    schedule 28.01.2012
comment
Спасибо, я играл с классом роботов, и с ним легко отправлять нажатия клавиш и команды мыши. Вы правы в том, что отправка текста не очень элегантна, но использование буфера обмена делает ее проще. - person candleford; 29.01.2012

JNA + Windows API

Мне пришлось отправить ввод в фоновое окно, и у меня это сработало очень хорошо.

person elbowich    schedule 28.01.2012
comment
Спасибо за предложение, я сначала попробую класс робота, чтобы сохранить независимость платформы кода, но я могу вернуться к использованию Windows API. - person candleford; 29.01.2012