27
27
# imports
28
28
from digitalio import Direction , Pull
29
29
30
+ # Since the board may or may not have access to the typing library we need
31
+ # to have this in a try/except to enable type
32
+ try :
33
+ from typing import List
34
+ except ImportError :
35
+ pass
36
+
30
37
__version__ = "0.0.0+auto.0"
31
38
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_MatrixKeypad.git"
32
39
33
40
34
41
class Matrix_Keypad :
35
42
"""Driver for passive matrix keypads - any size"""
36
43
37
- def __init__ (self , row_pins , col_pins , keys ):
38
- """Initialise the driver with the correct size and key list.
44
+ def __init__ (self , row_pins : List = [], col_pins : List = [], keys :List = []):
45
+ """
46
+ Initialise the driver with the correct size and key list.
39
47
40
48
:param list row_pins: a list of DigitalInOut objects corresponding to the rows
41
49
:param list col_pins: a list of DigitalInOut objects corresponding to the colums
@@ -51,9 +59,13 @@ def __init__(self, row_pins, col_pins, keys):
51
59
self .keys = keys
52
60
53
61
@property
54
- def pressed_keys (self ):
55
- """An array containing all detected keys that are pressed from the initalized
56
- list-of-lists passed in during creation"""
62
+ def pressed_keys (self ) -> List :
63
+ """
64
+ An array containing all detected keys that are pressed from the initalized
65
+ list-of-lists passed in during creation
66
+
67
+ :return: a list of keys that are pressed
68
+ """
57
69
# make a list of all the keys that are detected
58
70
pressed = []
59
71
0 commit comments