Skip to content

Commit 1c9b7cf

Browse files
committed
improve keyboard device driver detection
in some cases (seen on a radxa zero 3), drivers will be listetetd under an additional /device path Signed-off-by: Zen <[email protected]>
1 parent 674aa50 commit 1c9b7cf

File tree

1 file changed

+12
-2
lines changed

1 file changed

+12
-2
lines changed

src/ugrd/kmod/input.py

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
__version__ = "0.2.0"
1+
__version__ = "0.2.1"
22

33
from pathlib import Path
44

@@ -38,7 +38,17 @@ def autodetect_input(self):
3838
f"[{input_dev.name}:{c_(keyboard_name, 'blue')}] Not enough keys detected: {c_(enabled_keys, 'yellow')} < {self.keyboard_key_threshold}"
3939
)
4040
continue
41-
keyboard_driver = (input_dev / "device" / "driver").resolve().name
41+
if (input_dev / "device" / "driver").exists():
42+
keyboard_driver = (input_dev / "device" / "driver").resolve().name
43+
elif (input_dev / "device" / "device" / "driver").exists():
44+
# Some devices may have an additional "device" directory
45+
keyboard_driver = (input_dev / "device" / "device" / "driver").resolve().name
46+
else:
47+
self.logger.error(
48+
f"[{input_dev.name}:{c_(keyboard_name, 'blue')}] Unable to resolve driver for input device: {c_(input_dev, 'red')}"
49+
)
50+
continue
51+
4252
self.logger.info(f"[{c_(keyboard_name, 'blue')}] Detected driver: {c_(keyboard_driver, 'cyan')}")
4353
self._kmod_auto = [keyboard_driver]
4454
found_keyboard = True

0 commit comments

Comments
 (0)