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
+ from digitalio import DigitalInOut
35
+ except ImportError :
36
+ pass
37
+
30
38
__version__ = "0.0.0+auto.0"
31
39
__repo__ = "https://github.com/adafruit/Adafruit_CircuitPython_MatrixKeypad.git"
32
40
33
41
34
42
class Matrix_Keypad :
35
43
"""Driver for passive matrix keypads - any size"""
36
44
37
- def __init__ (self , row_pins , col_pins , keys ):
38
- """Initialise the driver with the correct size and key list.
45
+ def __init__ (
46
+ self ,
47
+ row_pins : List [DigitalInOut ],
48
+ col_pins : List [DigitalInOut ],
49
+ keys : List [List ],
50
+ ) -> None :
51
+ """
52
+ Initialise the driver with the correct size and key list.
39
53
40
54
:param list row_pins: a list of DigitalInOut objects corresponding to the rows
41
55
:param list col_pins: a list of DigitalInOut objects corresponding to the colums
@@ -51,9 +65,13 @@ def __init__(self, row_pins, col_pins, keys):
51
65
self .keys = keys
52
66
53
67
@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"""
68
+ def pressed_keys (self ) -> List :
69
+ """
70
+ An array containing all detected keys that are pressed from the initalized
71
+ list-of-lists passed in during creation
72
+
73
+ :return: a list of keys that are pressed
74
+ """
57
75
# make a list of all the keys that are detected
58
76
pressed = []
59
77
0 commit comments