Search wiring.org.co:

Libraries \ Keypad

Reference for Wiring version 1.0 Build 0100+ If you have a previous version, use the reference included with your software. If see any errors or have any comments, let us know.

Class | Keypad
Name |

### addEventListener()

Examples |
    #include <Keypad.h>

    const byte ROWS = 4; //four rows
    const byte COLS = 4; //four columns
    char keys[ROWS][COLS] = {
      {'1','2','3','A'},
      {'4','5','6','B'},
      {'7','8','9','C'},
      {'#','0','*','D'}
    };
    byte rowPins[ROWS] = {2,3,4,5}; //connect to the row pinouts of the keypad
    byte colPins[COLS] = {6,7,8,9}; //connect to the column pinouts of the keypad

    Keypad keypad = Keypad( makeKeymap(keys), rowPins, colPins, ROWS, COLS );
    byte ledPin = 13;

    boolean blink = false;

    void setup(){
      Serial.begin(9600);
      pinMode(ledPin, OUTPUT);      // sets the digital pin as output
      digitalWrite(ledPin, HIGH);   // sets the LED on
      keypad.addEventListener(keypadEvent); //add an event listener for this keypad
    }
    //take care of some special events
    void keypadEvent(KeypadEvent key){
      switch (keypad.getState()){
        case PRESSED:
          switch (key){
            case '#': digitalWrite(ledPin,!digitalRead(ledPin)); break;
            case '*':
              digitalWrite(ledPin,!digitalRead(ledPin));
            break;
          }
        break;
        case RELEASED:
          switch (key){
            case '*':
              digitalWrite(ledPin,!digitalRead(ledPin));
              blink = false;
            break;
          }
        break;
        case HOLD:
          switch (key){
            case '*': blink = true; break;
          }
        break;
      }
    }
Description | Add an event listener to this keypad. The event listener function has to be of void type, and expect a char as the parameter.
Syntax |
    addEventListener(listener)
Parameters |

listener | The void function that handles events, must accept a char as its parameter.

Returns | None
Usage | Application

Updated on July 07, 2011 11:10:28pm PDT