Untested, but something like this will probably work. Designed to be called from a timer interrupt.
Code:
Gosub ReadKey
If Key = Pressed THEN
IF KeyPressedFlag = 0 THEN
KeyCounter = KeyCounter + 1
IF KeyCounter > DebouncePeriod THEN
KeyCounter = 0
KeyPressedFlag = 1
GOSUB Routine_for_KeyPressed
ENDIF
KeyDownCounter = KeyDownCounter + 1
IF KeyDownCounter > ToleranceLimit then
HSEROUT ["Dummy, Get off the key!"]
ENDIF
ELSE
KeyCounter = 0
KeyPressedFlag = 0
KeyDownCounter = 0
GOSUB Routine_for_KeyReleased
ENDIF
Bookmarks