Я особено не придумал ни чего, как
Код: Выделить всё
If Kn = 0 Then ' '
Waitms 600
Debounce Kn , 0 , Aa
End If
работает пока нормально
600 мс выбрал экспериментально-
и при кратковремменном нажатии задержку вроде незаметно , и достаточно долго удерживать надо.
для 5 секунд скорее всего ТАЙМЕР нужен (хотя к чему 5 сек)
К примеру нажали кнопку, запустили таймер и каждые (к примеру) 500мс проверяем состояние кнопки- если нажата-проверяем дальше и увеличиваем
переменную. Если не нажата- то переходим на метку. Если
переменная превысила значение 10( 10 раз проверили условие нажатия кнопки и она была нажата) то переходим на другую метку.
Примерно так я делал, когда надо было проверить "не нажатие" кнопки. Т.Е. если кнопка долго не нажата то переходим в основной цикл.
Все делают ошибки, только мудрецы - новые, а дураки - старые.