Date: Thu, 17 Aug 1995 06:52:28 +0200 (MET DST) From: J Wunsch <j@uriah.heep.sax.de> To: freebsd-current@FreeBSD.org (FreeBSD-current users) Subject: Re: Syscons and IBM ThinkPads Message-ID: <199508170452.GAA08320@uriah.heep.sax.de> In-Reply-To: <199508162357.RAA12311@rocky.sri.MT.net> from "Nate Williams" at Aug 16, 95 05:57:55 pm
next in thread | previous in thread | raw e-mail | index | archive | help
[Moved from commiters to -current] As Nate Williams wrote: > > The syscons kernel compiled with XT_KEYBOARD works fine on my 750C, but > on the 755CX (brand new product), it doesn't work at all. I don't have > a 360C to test it on here anymore, else I'd test it as well. I think this is a documented feature. From syscons.c: #ifdef XT_KEYBOARD kbd_wait(); outb(KB_DATA, 0xF0); kbd_wait(); outb(KB_DATA, 1) kbd_wait(); #endif /* XT_KEYBOARD */ According to van Gilluwe (p. 295): ``Command Description Port F0h Set/Get Alternate Scan Codes 60h On MCA systems and a few others, the keyboard can be instructed to select from three sets of Kscan codes. A value is sent to port 60h as follows: 0 read the current scan code set 1 activate scan code set 1 (unavailable on Type 2 controller) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 2 activate scan code set 2 (default) 3 activate scan code set 3 ...'' I've had a hard time finding the explanation for Type 1/2 controllers, it's on top of page 274: ``MCA systems have two different types of motherboard controllers, Type 1 and Type 2. There are a few minor differences in operation and functions. The following code fragment detects the controller type by checking if the command byte's translate bit can be set to 1. Only Type 1 controllers will allow this.'' So, if this information proves correct, MCA Type 2 controllers cannot turn the keyboard into ancient PC scan mode at all. Pcvt continues to work (with PCVT_SCANSET=2) since it's able to work with set 1 or set 2 scan codes (and ideally should be made working with set 3, too, since this set is way more rationale). Hmm. If this were true, you couldn't run XFree86 at all. XFree86 still relies on set 1 keycodes, and all pcvt is doing here is setting the translate bit in the command byte. Neither of our console drivers is interpreting the scan codes while X is running. -- cheers, J"org joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ Never trust an operating system you don't have sources for. ;-)
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199508170452.GAA08320>