[sci.electronics] IBM Keyboard Output

steveh@tasman.cc.utas.edu.au (Steven Howell) (02/15/91)

	Evening all.

	I have just decided to use IBM keyboards on the new system I have 
finished building. However being a ascii man, I do not understand EBCDIC
or whatever it happens to be. 

	Can someone explain breifly what serial coding system they employ
and how many bits it consists of and what format is supports.

	Using this I will latch it into an eprom, which will directly readdress
as ascii, enabling me to manipulate the info with ease.


		Thanks.

				Steve h

wtm@uhura.neoucom.EDU (Bill Mayhew) (02/19/91)

PC clone keyboards do not produce character encoded output.  What
you get is a make code when a button is depressed and a follow-up
break code when said key is released.  IBM keyboards are supposed
to be capable of n-key rollover, so fairly elaborate keeping track
of what is going on in the keyboard is necessary at the receiveing
end.

The recieving end is typically a dedicated 8741 or simialr
ROM-bearing microprocessor that decodes the keystrokes and presents
the keystrokes to the BIOS through an interrupt drivien routine.
Note that an IBM keyboard sort-of needs intelligent support from
the receiving end.  The keyboard itself is capable (in IBM's case)
of generating three differnet sets of scan code mappings that are
host-selectable.  Also each key is individually programable to be
make/break (like a letter key) or sticky (like caps lock) or
typematic (auto repeating).

A person considering using a low-cost PeeCee clone type keyboard in
a new product might want to see if there is a source of
preprogrammed keyboard controller proceessors around.  The keyboard
controller in clone machines is typically done by the same company
that writes the BIOS ROMs since the two systems have to work so
much in concert.  For instance, the BIOS in my '386 at home is
American Megatrends (AMI) and so is the sticker over the quartz
window on the keyboard controller (think in my case it is an 8741
uP).  It is left as an exercise for the reader to contact AMI to
find out what, if anything, is available.

PeeCee keyboards aren't as simple as they look at first blush!

==Bill==


-- 
Bill Mayhew      NEOUCOM Computer Services Department
Rootstown, OH  44272-9995  USA    phone: 216-325-2511
wtm@uhura.neoucom.edu   ....!uunet!aablue!neoucom!wtm
via internet: (140.220.001.001)

wilker@descartes.math.purdue.edu (Clarence Wilkerson) (02/19/91)

In an XT, the receiving of keyboard input is done in software, reading from a
8255 parallel port rigged to receive a serial with sync line. If you read the
xt technical manual, you'll find both hardware and software details.
  AT's have a dedicated controller.
Clarence Wilkerson

tell@oscar.cs.unc.edu (Stephen Tell) (02/19/91)

In article <28386@ucsd.Edu> brian@ucsd.Edu (Brian Kantor) writes:
>,...
>It is possible to build a box to map a PC keyboard into just about any
>kind of codes you might wish to have; thus you can put a small processor,
>uart, and other stuff together to allow you to, for example, pick your
>favourite PC keyboard (tilde and pipe keys in the right place, control
>key where God intended it to be, good feel) from the hundreds of keyboards
>on the market, and replace that awful piece of shit type-4 keyboard that
>comes with the SP*RCstations.  No, I haven't done it YET.
>	- Brian

Hey, some of us like the Sparcstation keyboards!  At least it has lots of 
function keys to go around...   Wanna sell that type-4 keyboard real cheap?
You want to talk nasty keyboards, try the one on the DECstation 3100 and
related machines.  

You're right that someone ought to do a box to let everyone plug their
favorite keyboards into their favorite machines.  Imagine a PC
keyboard on your Sparc, a Macintosh keyboard on your friend's PC, and
the Sparc keyboard on your Amiga.  

Most everyone uses serialy-interfaced keycode-on-press, keycode-on-release
these days.  Shouldn't be terribly difficult.

--------------------------------------------------------------------
Steve Tell       tell@cs.unc.edu    H: +1 919 968 1792   #5L Estes Park apts
CS Grad Student, UNC Chapel Hill.   W: +1 919 962 1845   Carrboro NC 27510

spcecdt@deeptht.santa-cruz.ca.us (John DuBois) (02/19/91)

In article <JON_SREE.91Feb17110253@world.std.com> jon_sree@world.std.com (Jon Sreekanth) writes:
+About 3 years ago, I got interested in pc k/b input (I wanted to tie a
+VT200 series keyboard to the PC, to get a better VT emulator. I 
+abandoned it because the software got unwieldy).

     Along these lines, does anyone know what sort of output Wyse keyboards
produce?  I like the "orginal AT" layout, but the only keyboard currently
manufactured with that layout that has an acceptable feel (that I've been
able to find) is one by Wyse.  I suppose it's too much to hope that they
use the same serial encoding as PCs and just have a different connector...
All I need to do is get it into a compatible serial format; mapkey can
deal with different scan codes.  I'd be more motivated to find a spare
keyboard somewhere if I knew I wasn't going to have to build a
microcontroller format translator :-)

	John
-- 
John DuBois	spcecdt@deeptht.santa-cruz.ca.us	KC6QKZ

jon_sree@world.std.com (Jon Sreekanth) (02/19/91)

In article <1991Feb18.185444.7021@uhura.neoucom.EDU> wtm@uhura.neoucom.EDU (Bill Mayhew) writes:

   The recieving end is typically a dedicated 8741 or simialr
   ROM-bearing microprocessor that decodes the keystrokes and presents
   the keystrokes to the BIOS through an interrupt drivien routine.

   much in concert.  For instance, the BIOS in my '386 at home is
   American Megatrends (AMI) and so is the sticker over the quartz
   window on the keyboard controller (think in my case it is an 8741
   uP).  It is left as an exercise for the reader to contact AMI to
   find out what, if anything, is available.

Progress is wonderful :-)  Seems like newer machines have dedicated
keyboard controllers, then. I have schematics of IBM's original XT. 
The 'keyboard controller' on the mother board consists of glue chips.

Roughly, there's a 9 bit shift register, and when the 9th bit gets a
'1', it freezes clocking to the shift register, and interrupts the
CPU. The CPU reads the byte using PA0-7 of the 8255 peripheral 
controller, then resets the chain, using yet another bit of 8255, 
so that the next character can be received. 

Note that the keyboard itself has a microcontroller, in IBM's case
an 8048. 

/ Jon Sreekanth

Assabet Valley Microsystems			Fax and PC products
346 Lincoln St #722, Marlboro, MA 01752		508-562-0722
jon_sree@world.std.com

jon_sree@world.std.com (Jon Sreekanth) (02/19/91)

In article <1686@borg.cs.unc.edu> tell@oscar.cs.unc.edu (Stephen Tell) writes:

   function keys to go around...   Wanna sell that type-4 keyboard real cheap?
   You want to talk nasty keyboards, try the one on the DECstation 3100 and
   related machines.  

If they're LK201 --- VT200-series terminal keyboards --- I love 'em ! 
(Shades of religious war on the subject of keyboards here ... :-)

   You're right that someone ought to do a box to let everyone plug their
   favorite keyboards into their favorite machines.  Imagine a PC
   keyboard on your Sparc, a Macintosh keyboard on your friend's PC, and
   the Sparc keyboard on your Amiga.  

How true. In the days when I worked for a large computer company 
headquartered in Maynard, Mass, I was so frustrated by the alleged
VT200 emulators on the PC that I started building such a gadget. 
But my present 386 clone comes with an almost perfect LK201 clone
keyboard : full 4 keys on the top row of the function keypad, 
large 0, ENTER and + keys, cursor keys and 6 more above them, in 
the right places. _And_ , as a bonus, a true ESC key, which, frankly,
was brain damaged to leave out in the original LK201. 

Oh, well. 

/ Jon Sreekanth

Assabet Valley Microsystems			Fax and PC products
346 Lincoln St #722, Marlboro, MA 01752		508-562-0722
jon_sree@world.std.com

tell@oscar.cs.unc.edu (Stephen Tell) (02/22/91)

In article <JON_SREE.91Feb19100617@world.std.com> jon_sree@world.std.com (Jon Sreekanth) writes:
>In article <1686@borg.cs.unc.edu> tell@oscar.cs.unc.edu (Stephen Tell) writes:
>
>   function keys to go around...   Wanna sell that type-4 keyboard real cheap?
>   You want to talk nasty keyboards, try the one on the DECstation 3100 and
>   related machines.  
>
>If they're LK201 --- VT200-series terminal keyboards --- I love 'em ! 
>(Shades of religious war on the subject of keyboards here ... :-)
Yup! to each his own...

We have the LK201's everywhere, and more on the way...
Supposedly there's another DEC keyboard on the VT1000; anyone know
if they're interchangeable?

>...
>    _And_ , as a bonus, a true ESC key, which, frankly,
>was brain damaged to leave out in the original LK201. 

Thats my bigest beef with the LK201.  A close second is the silly
<> key between Z and left-shift.
Thank god for xmodmap - `~ becomes escape, F1 becomes `~,
, and . get < and > like they're supposed to, capslock becomes control,
control does nothing, help becomes capslock (I never use it, so I put
it out of the way.  Up near the LED seemed good), <X| becomes ^H...
God help anyone else who tries to use that machine when I'm logged in...

>/ Jon Sreekanth	>jon_sree@world.std.com

--------------------------------------------------------------------
Steve Tell       tell@cs.unc.edu    H: +1 919 968 1792   #5L Estes Park apts
CS Grad Student, UNC Chapel Hill.   W: +1 919 962 1845   Carrboro NC 27510