Yo haría un bucle de este tipo:
Primero te defines unas variables como:
TECLA VAR PORTx,y " Pin del pulsador
VARIABLE1 VAR BYTE " variable 1
Y cuando quieras leer un botón el siguiente código:
input tecla " lee el estado de la tecla
If tecla=1 then " la tecla se ha pulsado
variable1=variable1+1 " Aumenta el valor de varible1 en 1
if variable1=1 then
" ............................................................................
" Ejecuta el código correspondiente a la pulsación de
" la tecla. La próxima vez que el prógrama pase por
" aqui, el valor de variable1 será 2 y por tanto no se
" ejecutará esta parte.
" .............................................................................
endif
if variable1=3 then " Con esta comparación, hacemos que
variable1=2 " el valor de variable1 no se desborde
endif
else
variable1=0 " Si la tecla no esta pulsada pone a 0 la variable
endif
Si tuviera que esperar a la pulsación de la tecla, sólo tienes que hacer un bucle.
Espero que esto de respuesta a tu pregunta, es el sistema que yo uso y me funciona OK.
Un saludo
Eduardo