т// пакетом для виводу в TRUE; = TRUE;
// Визначити скан-код клавіші, клавіші
// Якщо натиснута клавіша в нумпаде
if (IsNumPadKey (cur-> MakeCode))
{("NumPad");
// Встановити змінну, визначальну, чи є пакет// пакетом для виводу в FALSE;
Setted = FALSE;
// Далі якщо кнопка була віджата, то оновлюємо статус (TRUE)
{("Break!");
// Якщо скан код не змінився
if (devExt-> Working && cur-> MakeCode == devExt-> CurMakeCode && cur-> Flags & KEY_BREAK)
{("Inc!");
// Збільшуємо
// Якщо розкладка російська - везед ділимо по// модулю 4 (! devExt-> RusLat)> CurChar = (devExt-> CurChar + 1)% 4;
// значить розкладка англійскаяif (devExt-> CurMakeCode == 71 | | devExt-> CurMakeCode == 73)> CurChar = (devExt-> CurChar + 1)% 4;> ; CurChar = (devExt-> CurChar + 1)% 3;
}
// Якщо контроль не відпущена setted встановити в TRUE і перетворити// вибраний код в букву
else if (devExt-> Working && cur-> MakeCode == 82 &&! (cur-> Flags & KEY_BREAK))
{("Out1!");
// якщо нуль, то виводимо
Setted = TRUE; (devExt-> RusLat)> MakeCode = GetCharLat (devExt-> CurMakeCode, devExt-> CurChar);> MakeCode = GetCharRus (devExt-> CurMakeCode, devExt-> CurChar);
}
// Якщо кнопка була відпущена setted встановити в TRUE, devExt-> Working в// FALSE і перетворити вибраний код в букву
else if (devExt-> Working && cur-> MakeCode == 82 && cur-> Flags & KEY_BREAK)
{("Out2!");
// якщо нуль, то виводимо
Setted = TRUE;> Working = FALSE; (devExt-> RusLat)> MakeCode = GetCharLat (devExt-> CurMakeCode, devExt-> CurChar);> MakeCode = GetCharRus ( devExt-> CurMakeCode, devExt-> CurChar);
}
// Якщо скан код натиснутої клавіші дорівнює 0x78, то змінити поле, що відповідає за// використовувана мова
else if (cur-> MakeCode == 78 && cur-> Flags & KEY_BREAK)
{> RusLat =! devExt-> RusLat;
} if (cur-> Flags & KEY_BREAK)
{("Start!");
// Інакше переініціалізіруем> Working = TRUE;> CurChar = 0;> CurMakeCode = cur-> MakeCode;
}
}
}
// Якщо цей пакет не для висновку, то видаляємо його
if (! Setted)
{> MakeCode = 0;
}
}