Skip to content

Commit 00c6f1c

Browse files
committed
fix for keypad driver...
This problem was the result of me adding the indev base class and not finishing with the keypad driver. Thank you @ThomasFarstrike for spotting this. Huge help...
1 parent af5263c commit 00c6f1c

File tree

1 file changed

+2
-32
lines changed

1 file changed

+2
-32
lines changed

api_drivers/py_api_drivers/frozen/indev/keypad_framework.py

Lines changed: 2 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -2,46 +2,16 @@
22

33
import lvgl as lv # NOQA
44
import _indev_base
5-
import display_driver_framework
65

76

87
class KeypadDriver(_indev_base.IndevBase):
9-
def __init__(self): # NOQA
10-
if not lv.is_initialized():
11-
lv.init()
12-
13-
disp = lv.display_get_default() # NOQA
14-
15-
if disp is None:
16-
raise RuntimeError(
17-
'the display driver must be initilized before the keypad driver'
18-
)
19-
20-
self._disp_drv = disp
21-
22-
displays = display_driver_framework.DisplayDriver.get_displays()
23-
for display in displays:
24-
if display._disp_drv == disp: # NOQA
25-
self._py_disp_drv = display
26-
break
27-
else:
28-
raise RuntimeError(
29-
'Display driver needs to initilized before indev driver'
30-
)
318

9+
def __init__(self): # NOQA
3210
self._last_key = -1
33-
self._current_state = self.RELEASED
34-
35-
indev_drv = lv.indev_create()
36-
indev_drv.set_type(lv.INDEV_TYPE.KEYPAD) # NOQA
37-
indev_drv.set_read_cb(self._read) # NOQA
38-
indev_drv.set_driver_data(self) # NOQA
39-
indev_drv.set_display(disp) # NOQA
40-
indev_drv.enable(True) # NOQA
41-
self._indev_drv = indev_drv
4211

4312
super().__init__()
4413
self._set_type(lv.INDEV_TYPE.KEYPAD) # NOQA
14+
indev_drv.enable(True) # NOQA
4515

4616
def _get_key(self):
4717
# this method needs to be overridden.

0 commit comments

Comments
 (0)