I think foliagelx was close, but I'm not so sure it would work the way you would like it. In KRL, Timers are simply system variables with an index number. I don't remember off the top of my head, but I think there are 20 of them by default, thus the index number.
First of all, KRL timers operate in milliseconds. Second, yes, his/her code would wait for the specified period to expire and then check your input.
All of that being said I think you could adjust that code and get it to do what you want it to do. I might try something like this:
$TIMER[1] = 0 ;resets the initial value of the timer to zero
$TIMER_STOP[1] = FALSE ;starts the timer
WHILE $TIMER[1] < 10000 ;Cyclically evaluates the timer until 10 seconds has passed
IF $IN[YOUR_INPUT] == TRUE THEN;If the value of your input becomes true, jumps out of the while evaluation
GOTO ACTION
ENDIF
ENDWHILE
MSG_NOTIFY("Enter your message here.") ;If the timer expires before the input comes true, this line will generate a message.
HALT ;stops the running program
ACTION: ;If the Input comes true before the timer expires, the GOTO statement will jump to this line.
;Enter code here for whatever you want to do when your input becomes true.
Display More
This was something I just threw together without testing, so your mileage may vary. Give a try and see how it works. Let us know.
Edited to include the proper syntax for the IF statement.