home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.linux
- Path: sparky!uunet!zaphod.mps.ohio-state.edu!caen!spool.mu.edu!umn.edu!The-Star.honeywell.com!saifr00.cfsat.honeywell.com!troyer
- From: troyer@saifr00.cfsat.honeywell.com (Dean Troyer)
- Subject: Re: keyboard problems - v.99
- Message-ID: <1992Dec17.155617.1581@saifr00.cfsat.honeywell.com>
- Organization: Honeywell Air Transport Systems Division
- References: <1992Dec15.022727.27072@cc.gatech.edu> <JEM.92Dec16212729@lk-hp-6.hut.fi>
- Date: Thu, 17 Dec 92 15:56:17 GMT
- Lines: 43
-
- In article <JEM.92Dec16212729@lk-hp-6.hut.fi> jem@snakemail.hut.fi (Johan Myreen) writes:
- >
- >On a related note: does anybody know what the following lines in
- >keyboard.c are good for? The same code (in assembler) is in
- >boot/setup.S, too. Is this some kind of standard practice?
-
- I've seen this done in Int09 handlers under DOS. It usually appears at the
- end of the ISR, with a comment like 'reset keyboard'.
-
- > pt_regs = (struct pt_regs *) int_pt_regs;
- > scancode=inb_p(0x60);
- >! x=inb_p(0x61);
- >! outb_p(x|0x80, 0x61);
- >! outb_p(x&0x7f, 0x61);
- > if (scancode == 0xe0)
- > set_kbd_flag(KG_E0);
- >
- >The ins and outs toggle a bit in the keyboard controller's RAM. This
-
- Port 61 is listed in my BIOS reference as being the PS/2 System Port B, although
- it's not unique to PS/2s. It's uses include the speaker hardware & timer
- control bits. Check out the Mach sources kd.h. The bummer is that I can't
- find the purpose of bit 7 documented anywhere! I suspect it controls one
- of the keyboard controller's input pins.
-
- >RAM location is not documented by IBM, or at least I haven't been able
- >to find it in the Technical References. The only documented i/o
- >addresses are 0x60 (data) and 0x64 (status), and the keyboard driver
- >should work perfectly without this bit fiddling. In fact, I even tried
- >removing them, with no ill effects.
- >
- >--
- >Johan Myreen
- >jem@cs.hut.fi
-
- dt
-
-
- --
- Dean Troyer troyer@saifr00.cfsat.Honeywell.COM
- Honeywell Commercial Flight Systems 72240.3152@compuserve.com
- Phoenix AZ
- (602) 436-3613
-