Событие клавиатуры

> [HTML Version](keyboard-event.html)

Важно\! Событие клавиатуры не вызывается, если пользователь осуществляет ввод в какой-либо из компонентов мнемосхемы (например в поле, календарь или ячейку таблицы). Некоторые сочетания клавиш [используются клиентами Simple-Scada](https://simple-scada.com/help/manual/hkclient.html) и событие клавиатуры не будет вызываться для них (например сочетания: Ctrl + ->, Ctrl + <-, Ctrl + M).

_(./images/sc_event_types_24.png)_

**Описание**

Скрипт вызывается каждый раз, когда пользователь (во время просмотра какой-либо из страниц проекта) нажал на клавиатуре сочетание клавиш с использованием клавиш Ctrl / Shift / Alt. Имеет параметр KeyboardEventData, который содержит данные о сочетании клавиш и обладает свойствами типа [TM\_KeyboardEventData](tmkeyboardeventdata.md). Доступные константы клавиш перечислены [по ссылке](key-const.md).

**Пример скрипта**

Допустим, требуется:

- запустить насос Pump1 если пользователь (находясь на странице mySubpage1) нажал сочетание клавиш "Ctrl + F1". 

- остановить насос Pump1 при нажатии "Ctrl + Shift + F1". 

Для решения задачи нужно создать новый скрипт с типом "Событие клавиатуры" и следующим кодом:

````
begin  
  // далее будем работать со свойствами объекта KeyboardEventData  
  with KeyboardEventData do  
  begin  
    // если пользователь нажал сочетание клавиш на странице mySubpage1  
    if Subpage = mySubpage1 then  
    begin  
      // по нажатию Ctrl + F1 запускаем насос  
      if (Ctrl) and (Shift = False) and (Alt = False) and (KeyCode = KEY\_F1) then  
        vrPump1.Value := 1;  
  
      // по нажатию Ctrl + Shift + F1 останавливаем насос  
      if (Ctrl) and (Shift) and (Alt = False) and (KeyCode = KEY\_F1) then  
        vrPump1.Value := 0;  
    end;  
  end;  
end.

````
