Gracias, maestro Bruno, por la explicación!
Eskor entonces olvida lo del 1 y todo lo que te mencioné antes, fue un error por no fijarme en esto que dijiste:
el valor en el array no siempre es 1, al contrario son numero totalmente distintos.
Ahora ya revisé el código del que estás hablando:
http://picmania.garcia-cuervo.net/proyectos_teclado_ps2.phpCorrigiendo y tratando de aclarar tu duda, en el código en cuestión:
for(cont_dec = 0; unshifted[cont_dec][0]!=sc && unshifted[cont_dec][0]; cont_dec++);
{
//bucle
}
El ciclo for terminará cuando se deje de cumplir la condición:
unshifted[cont_dec][0]!=sc && unshifted[cont_dec][0]
Es decir, que en el arreglo "unshifted" el valor
unshifted[cont_dec][0] sea diferente a lo que está guardado en la variable
sc y al mismo tiempo ese mismo valor
sea diferente de cero.
Creo que ahora sí está correcto... cualquier cosa corrijan los expertos por favor...

Nos leemos!

P.D.: edito por la corrección que hizo bruno más abajo... gracias bruno!