Module Name: src
Committed By: hans
Date: Tue Mar 4 17:00:28 UTC 2025
Modified Files:
src/sys/dev/dec: dzkbd.c
Log Message:
dzkbd: set the keyboard type according to what lk201_init() detected
This makes wsconsctl report the correct keyboard type. The layout is
still hardcoded for a LK401 by default, though.
To generate a diff of this commit:
cvs rdiff -u -r1.33 -r1.34 src/sys/dev/dec/dzkbd.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/dev/dec/dzkbd.c
diff -u src/sys/dev/dec/dzkbd.c:1.33 src/sys/dev/dec/dzkbd.c:1.34
--- src/sys/dev/dec/dzkbd.c:1.33 Tue Mar 4 16:18:27 2025
+++ src/sys/dev/dec/dzkbd.c Tue Mar 4 17:00:28 2025
@@ -1,4 +1,4 @@
-/* $NetBSD: dzkbd.c,v 1.33 2025/03/04 16:18:27 hans Exp $ */
+/* $NetBSD: dzkbd.c,v 1.34 2025/03/04 17:00:28 hans Exp $ */
/*
* Copyright (c) 1992, 1993
@@ -45,7 +45,7 @@
*/
#include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: dzkbd.c,v 1.33 2025/03/04 16:18:27 hans Exp $");
+__KERNEL_RCSID(0, "$NetBSD: dzkbd.c,v 1.34 2025/03/04 17:00:28 hans Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -175,10 +175,23 @@ dzkbd_attach(device_t parent, device_t s
DELAY(100000);
lk201_init(&dzi->dzi_ks);
- /* XXX should identify keyboard ID here XXX */
- /* XXX layout and the number of LED is varying XXX */
-
- dzkbd->kbd_type = WSKBD_TYPE_LK201;
+ /*
+ * Set the keyboard type according to what lk201_init()
+ * detected.
+ *
+ * XXX: should also do something about the layout, which
+ * presently hardcodes LK401 layout.
+ */
+ switch (dzi->dzi_ks.kbdtype) {
+ default:
+ case KBD_LK201:
+ dzkbd->kbd_type = WSKBD_TYPE_LK201;
+ break;
+
+ case KBD_LK401:
+ dzkbd->kbd_type = WSKBD_TYPE_LK401;
+ break;
+ }
dzkbd->sc_enabled = 1;