Subject: kern/2468: pcvt doesn not recognize IBM Thinkpad keyboards
To: None <gnats-bugs@NetBSD.ORG>
From: John Hawkinson <jhawk@mit.edu>
List: netbsd-bugs
Date: 05/25/1996 01:21:23
>Number: 2468
>Category: kern
>Synopsis: pcvt doesn not recognize IBM Thinkpad keyboards
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: kern-bug-people (Kernel Bug People)
>State: open
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Sat May 25 01:35:03 1996
>Last-Modified:
>Originator: John Hawkinson
>Organization:
MIT SIPB
>Release: 24 May 1996
>Environment:
System: NetBSD zorkmid.mit.edu 1.1B NetBSD 1.1B (ZORKMID) #24: Sat May 25 01:05:38 EDT 1996 jhawk@bobbi-harlow.mit.edu:/u1/usr/src/sys/arch/i386/compile/ZORKMID i386
>Description:
pcvt does not recognize the keyboard type returned on my
IBM Thinkpad 760E. Thus, such an error is logged at boot time,
and the keyboard type set to "unknown":
>How-To-Repeat:
Boot. Observe messages:
pcvt: doreset() - kbdid, response 2 = [84]
vt0 at isa0 port 0x60-0x6f irq 1: unknown trident, 80 col, color, 8 scr, unknown kbd, [R3.32]
>Fix:
===================================================================
RCS file: /sys/arch/i386/isa/pcvt/RCS/pcvt_hdr.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -r1.1 -r1.2
*** pcvt_hdr.h 1996/05/25 04:58:17 1.1
--- pcvt_hdr.h 1996/05/25 05:14:05 1.2
***************
*** 276,281 ****
--- 276,283 ----
#define KEYB_R_MF2ID1 0xab /* MF II Keyboard id-byte #1 */
#define KEYB_R_MF2ID2 0x41 /* MF II Keyboard id-byte #2 */
#define KEYB_R_MF2ID2HP 0x83 /* MF II Keyboard id-byte #2 from HP keybd's */
+ #define KEYB_R_MF2ID2TP 0x54 /* MF II Keyboard id-byte #2 from IBM
+ * ThinkPad's */
/* internal Keyboard Type */
===================================================================
RCS file: /sys/arch/i386/isa/pcvt/RCS/pcvt_kbd.c,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -r1.1 -r1.2
*** pcvt_kbd.c 1996/05/25 05:00:06 1.1
--- pcvt_kbd.c 1996/05/25 05:14:05 1.2
***************
*** 527,532 ****
--- 527,536 ----
{
keyboard_type = KB_MFII;
}
+ else if(response == KEYB_R_MF2ID2TP)
+ {
+ keyboard_type = KB_MFII;
+ }
else
{
printf("\npcvt: doreset() - kbdid, response 2 = [%d]\n",
>Audit-Trail:
>Unformatted: