Skip site navigation (1)Skip section navigation (2)
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>