{Сначала проверяем нажатие клавиши} loop:

if not IsMouse or KeyPressed then

ReadKeyOrMouse :=• ReadKey

{Теперь проверим эмуляцию служебной клавиши} else if DoubleChars then begin

DoubleChars •." False;

ReadKeyOrMouse := SecChar end

{Проверяем необходимость контроля элементов экрана для эмуляции клавиатуры! else if NMouseItemoO then with Reg do begin {Да, нужна проверка} MouseActive := False;

lКонтролируем выбор мышью одного из элементов} ах := $3;

Intr($33,Reg); {Получаем статус кнопок} bb := Ьх; {Запоминаем его в ЪЪ}

if bboO then {Если нажата любая кнопка, то организуем проверку всех элементов до нужного (ActiveMouse станет True)} for k := 1 to NMouseItem do if not MouseActive then

with ItemsList^Ik] do begin case Butt of

LeftButton : b :=№ and LeftButton;

RightButton : b :"bb and RightButton;

CenterButton: b :=bb and CenterButton;

AnyButton : b := bb;

else

b := 0;

end;

if (b<>0) and Mouseinf

MouseGraphCooX(Xl),MouseGraphCooY(Yl) , MouseGraphCooX(X2),MouseGraphCooY(Y2)) then begin {Найден отмеченный элемент} MouseActive := True;

ReadKeyOrMouse := Char(Lo(Key)) ;

if Lo(Key)=0 then

begin (Эмуляция служебной клавиши} DoubleChars :=• True;

SecChar :•» chr(HitKey)) end end

end; {for ... if not MouseActive}

{Если мышь не отметила элемент, повторяем с начала} if not MouseActive then

goto loop end {if NMouseItemoO}

{Если не установлен ни один элемент для мыши, ждем нажатия любой клавг1ши} else

ReadKeyOrMouse :•' ReadKey end; {ReadKeyOrMouse) _•+—————————————————————————————+

I Обработка событий от мыши I +—_——————————————————————————— +{

coast

OldUserProc: Pointer = MIIi;

vac