Python Library for Matrix Keypads. Written and tested on a Model B Raspberry Pi. Supports both a 3x4 and 4x4 keypad included
- Project Page:
- PyPI page:
If the I2C Port expander MCP23017 or MCP23008 is being used, the Adafruit Python library for I2C and the MCP will need to be installed.
You can clone the whole library like so:
git clone https://github.com/adafruit/Adafruit-Raspberry-Pi-Python-Code.git
or the two files needed can be pulled out, Adafruit_I2C.py & Adafruit_MCP230xx.py.
Install via PIP has not been tested just yet but it should be as simple as:
pip install matrix_keypad
README.txt LICENSE.txt setup.py matrix_keypad/ __init__.py matrix_keypad_RPi_GPIO.py matrix_keypad_MCP230xx.py matrix_keypad_demo.py matrix_keypad_demo2.py
See the demo scripts included to see this all in action.
To call the library select which one you intend to use and use the correct line:
from matrixKeypad_MCP230xx import keypad
from matrixKeypad_RPi_GPIO import keypad
Then name the library so it is easier to reference later:
kp = keypad()
It is possible to just check to see if a digit is currently pressed.:
checkKeypad = kp.getKey()
Or a simple function to call the keypad library and loop through it waiting for a digit press
def digit(): # Loop while waiting for a keypress digitPressed = None while digitPressed == None: digitPressed = kp.getKey() return digitPressed
Initial package build
Initial package build and push to PyPI
Updating the matrix_keypad_demo2.py to demo selecting the 4x4 keypad
Moved Version Log in README
Updated README Links
Updated References to include the PiLarm code as the inspiration for the “…demo2.py” code
Column and Row scanning adapted from Bandono’s matrixQPI which is wiringPi based.
matrix_keypad_demo2.py is based on some work that Jeff Highsmith had done in making his PiLarm that was featured on Make.
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.