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;
 

Reply via email to