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;