Работа с мышью в Lazarus

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
set
новенький
Сообщения: 11
Зарегистрирован: 23.12.2013 14:11:29

Работа с мышью в Lazarus

Сообщение set »

Если работать под Windows, то можно использовать

Код: Выделить всё

 
  mouse_event(MOUSEEVENTF_LEFTDOWN, 0, 0, 0, 0);
  // нажимаем левую кнопку мыши
  mouse_event(MOUSEEVENTF_LEFTUP, 0, 0, 0, 0); // отпускаем

для имитации нажатия кнопки мыши.
А как реализовать такое в linux (ubuntu 12.04)?
Аватара пользователя
Art!P
новенький
Сообщения: 27
Зарегистрирован: 28.07.2012 14:37:53
Контактная информация:

Сообщение Art!P »

Я плаваю в этом вопросе :roll: но подозреваю. что в линуксах нужно смотреть события и сигналы.
Реализация в GTK работа с сигналами и в пределах формы(собственного приложения) http://www.freepascal.org/packages/gtk/ ... pgtk2.html
set
новенький
Сообщения: 11
Зарегистрирован: 23.12.2013 14:11:29

Сообщение set »

Вот решение вопроса:
1.Открываем пакет lazmouseandkeyinput
2. Добавляем пакет к проекту
3. Теперь можно подключить модуль MouseAndKeyInput
4. кликаем мышкой

Код: Выделить всё

MouseInput.Click(mbRight,[],posx,posy);

posx,posy - точки расположения мышки
Примечание, в windows работает без указания координат, предварительно можно использовать SetCursorPos. В linux без координат не работает.
Для Linux необходимо доустановить библиотеку Xtst

Код: Выделить всё

sudo apt-get install libxtst-dev

И после этого все прекрасно работает!
Ответить