本文整理汇总了C++中Keypad::getState方法的典型用法代码示例。如果您正苦于以下问题:C++ Keypad::getState方法的具体用法?C++ Keypad::getState怎么用?C++ Keypad::getState使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Keypad
的用法示例。
在下文中一共展示了Keypad::getState方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: kpdEvent
void kpdEvent (KeypadEvent Key)
{
switch (kpd.getState())
{
case PRESSED :
Serial.println(Key); // mj
switch (Key)
{
// appui sur '*' -> vérification de la saisie en cours
case '*' :
checkPassword();
break;
// appui sur '#' -> réinitialisation de la saisie en cours
case '#' :
pwd.reset();
clear_lcd_pin();
break;
// sinon on ajoute le chiffre à la combinaison
default : pwd.append(Key); break;
}
set_lcd_pin();
default : break;
}
}
示例2: procButton
// Process buttons:
void procButton(KeypadEvent b) {
b -= 48;
switch (keypad.getState()) {
case RELEASED: // drop right away
return;
case PRESSED: // momentary
if(mode==2) { // Signal Switching 4
ss4Signal(b);
break;
} else if(mode==3) {
pulse(b); // pulse it
return;
}
if(mode==4&&(b<10&&b>=0||b==-13||b==-6||(b>=49&&b<=52))) { // MF tone
mf(b);
}
if(b<10&&b>=0||b==-13||b==-6) { // MF tone
mf(b);
} else if(b==52) { // D
if (stored) playStored(); // don't copy function onto stack if not needed
return;
} else if(mode==1) { // international kp2/st2
if(b>=49&&b<=51) {
mf(b);
return;
}
}
else if(mode==0&&(b<=51&&b>=49)) { // A,B,C redbox
redBox(b); // pass it to RedBox()
return;
}
break;
case HOLD: // HELD (special functions)
if(b==50&&mode==3) { // HOLD B for MF2 in PD Mode
(mf2)? mf2 = 0 : mf2 = 1; // turn off if on, or on if off
freq[0].play(440,70);
delay(140);
freq[0].play(440,70);
delay(140);
}
if(b<10&&b>=0||b==-13||b==-6) {
dial(b);
} else if(b==51) { // C takes care of recording now
if(rec) { // we are done recording:
digitalWrite(13, LOW); // turn off LED
rec = 0;
stored=1; // we have digits stored
recNotify();
} else { // we start recording
digitalWrite(13, HIGH); // light up LED
rec = 1;
for(int i=0; i<=23; i++) { // reset array
store[i] = -1;
}
recNotify();
} // END recording code
} else if(b==49) { // ('A' HELD) switching any mode "on" changes to mode, all "off" is domestic
if(mode==0) { // mf to international
mode=1;
} else if(mode==1) { // international to ss4 mode
mode=2;
} else if(mode==2) { // ss4 mode to pulse mode
mode=3;
} else if(mode==3) { // pulse mode to DTMF
mode=4;
} else if(mode==4) { // DTMF to domestic
mode=0;
}
notifyMode();
return;
}
break;
}
return;
}