Перехват ввода клавиатура/мышь в Linux

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

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

Перехват ввода клавиатура/мышь в Linux

Сообщение ssl » 01.09.2015 21:11:39

Переезжаю с Win на Lin...
Есть код, который даёт приложению "подышать", пока выполняется длительная фоновая задача.
Для "дышать полной грудью" есть Application.ProcessMessages, но надо перерыть кислород по максимуму: запретить весь пользовательский ввод, разрешить только move-resize-vinimize-repaint, etc.
Под Win всё просто:

Код: Выделить всё
procedure THtVAsyncDisp.FilterMessages(IdlePos: TIdlePos; aAsyncMode: TAsyncMode);
var Msg: TMsg;
begin
  if assigned(FOnFilterMessages) then
    FOnFilterMessages(Self, IdlePos, aAsyncMode)
  else
  if aAsyncMode <> amAll then  // сожрать всё, что юзер накликал и натыкал
      while PeekMessage(Msg, 0, WM_KEYFIRST, WM_KEYLAST, PM_REMOVE) or
            PeekMessage(Msg, 0, WM_MOUSEFIRST, WM_MOUSELAST, PM_REMOVE) or
          (aAsyncMode = amRestrict) and
            PeekMessage(Msg, 0, WM_NCMOUSEMOVE, WM_NCXBUTTONDBLCLK, PM_REMOVE)
      do ;
  Application.ProcessMessages;
end;


Могу ли я в Лазаре выкрутить подобную фильрацию его стандартными средствами? Платформонезависимо, или хотя бы native Linux..
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Re: Перехват ввода клавиатура/мышь в Linux

Сообщение xterro » 01.09.2015 22:40:12

Если надо нативно то можно глянуть: http://www.e-reading.club/bookreader.ph ... ascal.html
xterro
постоялец
 
Сообщения: 148
Зарегистрирован: 23.02.2014 13:49:33

Re: Перехват ввода клавиатура/мышь в Linux

Сообщение ssl » 02.09.2015 10:13:38

Спасибки!
Наверняка придётся нативно, но это не страшно: код небольшой, рассажу по *.inc'ам
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01

Re: Перехват ввода клавиатура/мышь в Linux

Сообщение Ism » 12.09.2015 14:58:28

Модуль MouseAndKeyInput ?
http://wiki.freepascal.org/MouseAndKeyInput
Ism
энтузиаст
 
Сообщения: 908
Зарегистрирован: 06.04.2007 17:36:08

Re: Перехват ввода клавиатура/мышь в Linux

Сообщение ssl » 16.09.2015 15:41:29

Не..
Это эмулятор мыши и клавы, а мне перехватить надо.
Погляжу, как на лине модальность сделана, может это вариант.
ssl
новенький
 
Сообщения: 59
Зарегистрирован: 17.05.2005 11:27:01


Вернуться в Lazarus

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

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

Рейтинг@Mail.ru
cron