[APPEARANCE]
COLOR = 255, 100, 20;
SIZE_X = 8;
SIZE_Y =6;
[END]

[INTERFACE]
DIALOG, "Клавиатура", 448, 234;
STATIC, "Поиск в", 4, 4, 44, 20;
COMBO, "Активный""Фоновый", 60, 4, 156, 96, int EW;
STATIC, "Указатель на окно", 228, 4, 100, 20;
EDIT, 332, 4, 104, 20, win W;
STATIC, "Пауза до", 4, 28, 52, 20;
EDIT, 60, 28, 156, 20, int P1;
STATIC, "Действие", 4, 52, 56, 20;
COMBO, "Клик""Нажать""Отпустить""Ввод текста", 80, 52, 148, 176, string K;
STATIC, "Код клавиши", 4, 76, 68, 20;
EDIT, 80, 76, 96, 20, int C;
STATIC, "Текст", 4, 100, 68, 20;
EDIT, 80, 100, 356, 20, string TEXT;
STATIC, "Пауза после", 4, 124, 68, 20;
EDIT, 80, 124, 148, 20, int P2;
STATIC, "Комментарий", 4, 152, 76, 20;
EDIT, 84, 152, 352, 20, unknown Comment;
BUTTON_OK, "Принять", 228, 180, 100, 20;
BUTTON_CANCEL, "Закрыть", 336, 180, 100, 20;
[END]
[INFO]
[ENDL]>>K>>[ENDL]>>C>>" -- ">>TEXT>>[ENDL]>>Comment
[END]

[ASSOC_VAR]
EW=0;
W=W_Kib;
P1=0;
TEXT="mail@mail.com - Почта";
C=0;
K="Клик";
P2=0;
Comment=;
[END]

[GLOBAL_VAR]
win ~W~;
int Size_Key_Char_Kib = -1;
[END]

[EVENT]
IF (I_MODE_BIND_WINDOW==1)SENDBUTTON(GETID(EW), 0);
IF (I_MODE_BIND_WINDOW==2)SENDBUTTON(GETID(EW), 0);
IF (I_MODE_BIND_WINDOW==3)SENDBUTTON(GETID(EW), 1);
IF (I_MODE_BIND_WINDOW!=0)ENABLE(GETID(EW), 0);
IF (I_MODE_BIND_WINDOW!=0)ENABLE(GETID(W), 0);
IF (K!="Ввод текста")ENABLE(GETID(C), 1);
IF (K!="Ввод текста")ENABLE(GETID(TEXT), 0);
IF (K=="Ввод текста")ENABLE(GETID(C), 0);
IF (K=="Ввод текста")ENABLE(GETID(TEXT), 1);
IF (EW==0)ENABLE(GETID(W), 0);
IF (EW==1)ENABLE(GETID(W), 1);
IF (EW==2)ENABLE(GETID(W), 1);
[END]

[FUNCTION_BODY]function(int ew, win w, int p1, int c, string text, string k, int p2)
{
pause(p1);
  if (ew==0)
  {
  if (k=="Клик"){key(c); goto hy;}
  if (k=="Нажать"){keydown(c); goto hy;}
  if (k=="Отпустить"){keyup(c); goto hy;}
  if (k=="Ввод текста"){key(text, 0, 1, getwindow()); goto hy;}
  }
  if (ew==1)
  {
  if (k=="Клик"){if ((c>191 && c<256) || c==168 || c==184) sendlanguage("00000419", formatiw(gethwnd())); sendmessage(WM_CHAR, c, 1, w); goto hy;}
  if (k=="Нажать"){sendkeydown(c, w); goto hy;}
  if (k=="Отпустить"){sendkeyup(c, w); goto hy;}
    if (k=="Ввод текста")
    {
      if (Size_Key_Char_Kib==-1)
      {
      Size_Key_Char_Kib=100;
      new char Key_CHAR[Size_Key_Char_Kib+1];
      }
    int size_key=size(text);
      if (Size_Key_Char_Kib<size_key)
      {
      delete Key_CHAR;
      Size_Key_Char_Kib=size_key;
      new char Key_CHAR[Size_Key_Char_Kib+1];
      }
    strcpy(#Key_CHAR[0], text);
      for (int n=0; n<size_key; n++)
      {
      if ((Key_CHAR[n]>191 && Key_CHAR[n]<256) || Key_CHAR[n]==168 || Key_CHAR[n]==184) sendlanguage("00000419", formatiw(gethwnd()));
      sendmessage(WM_CHAR, Key_CHAR[n], 1, w);
      sleep(20);
      }
    }
  }
hy: pause (p2);
}
[END]

[CALL]
(EW, W, P1, C, TEXT, K, P2)
[END]