No entiendo lo que quieres lograr. Que representa lts ?
Tu problema son los delay() porque detienen todo el proceso. Tienes que lograr que continuamente se vigile el teclado en el loop algo asi:
unsigned long t1,t2,...tn;
bool led1,led2;
void loop(){
tecla = teclado.getKey();
switch (tecla){
case '1':
led1 = true;
break;
case '2':
led1 = true;
break;
case '*':
t1 = 0;
t2 = 0;
}
//Prende leds
if (led1){
digitalWrite(10, HIGH);
t1 = millis();
led1 = false;
}
if (led2){
digitalWrite(11, HIGH);
t2 = millis();
led2 = false;
}
//Apaga leds luego de un tiempo
if (millis()-t1 > 100000){
digitalWrite(10, LOW);
}
if (millis()-t2 > 300000){
digitalWrite(11, LOW);
}
}