Чо париться, совсем непонятно. RTC 20-100Гц. Получаем код клавиши и
обрабатываем: oldPressedKey - состояние клавиши с прошлого раза.
newPressedKey - код клавиши и готовность клавиатуры для обрабоччика клавиш. Если чота не то, то "allKeysOffSignature", едите нах, пожалста, обрабатывать нечо. Если клавиша обработана, то в newPressedKey пишем "0" и больше не трогаем.
if((newPressedKey!=allKeysOffSignature)&&(newPressedKey!=pressedKeyUsed))
{
...
newPressedKey=pressedKeyUsed;
}
в temp лежит код нажатой клавиши в этом сеансе.
if(oldPressedKey==temp._16_bit_data_)
{
if(temp._16_bit_data_!=allKeysOffSignature)
{
if(newPressedKey==allKeysOffSignature)
{
newPressedKey=temp._16_bit_data_;
}
}
else
{
newPressedKey=allKeysOffSignature;
}
}
else
{
oldPressedKey=temp._16_bit_data_;
}