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

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

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

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

Сообщение set » 07.01.2014 12:28:33

Если работать под Windows, то можно использовать
Код: Выделить всё

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

для имитации нажатия кнопки мыши.
А как реализовать такое в linux (ubuntu 12.04)?
set
новенький
 
Сообщения: 11
Зарегистрирован: 23.12.2013 14:11:29

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

Сообщение Art!P » 07.01.2014 17:15:22

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

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

Сообщение set » 08.01.2014 14:48:53

Вот решение вопроса:
1.Открываем пакет lazmouseandkeyinput
2. Добавляем пакет к проекту
3. Теперь можно подключить модуль MouseAndKeyInput
4. кликаем мышкой
Код: Выделить всё
MouseInput.Click(mbRight,[],posx,posy);

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

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


Вернуться в Lazarus

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 31

Рейтинг@Mail.ru