From: tuc@calico.cs.wisc.edu (Brian A. Cole)
Subject: How does KeyCaps know which keyboard was used?  [also: Dvorak]
Keywords: KeyCaps keyboard ADB Dvorak
Organization: U of Wisconsin Madison - Computer Sciences
Date: Tue, 15 Dec 1992 07:50:27 GMT


Try this:  Attach two different models of ADB keyboard to an ADB mac (or
attach an external ADB keyboard to a PowerBook, like I did) and go into
KeyCaps.  Press a key.  Now press a key on the _other_ keyboard.
Presto-Zamboni, the key layout displayed changes to that of the new
keyboard.  Pretty neat, huh?

Now, I'm not complaining.  In fact, I think that this is just how I'd
like it to work.  My question is _how_ does it work?  How did it know
that I'd attached an "Apple Keyboard II" and not an "Apple Extended
Keyboard II" (or, for that matter, some relatively unknown third-party
gizmo)?

I'd always thought that all a keyboard did was broadcast an ASCII (or
otherwise) code whenever a key is hit, but it seems to me that it must
also be sending some self-identification of some sort.  Or I guess that
the few applications that care (like KeyCaps) could ask the keyboard to
identify itself after every keystroke or something.

Either way, it seems like the System must have some list of possible
keyboards somewhere.  If this is the case, how the heck do third-party
manufacturers make Mac keyboards -- do they require a system extension
or something before the keyboard can be recognized?  Will someone in
the know _please_ fill me in?

Why do I care so much?  Because I'm looking for true-Dvorak-hardware
keyboard that I can use _in_parallel_ with a normal (qwerty) one.
[note:  a Dvorak keyboard layout thingie doesn't help me here.  I want
to be able to type on one keyboard in Dvorak and the other in qwerty
simultaneously (or in quick succession) without having to use a Control
Panel or macro.]

I have been unable to find one anywhere, and in a recent column David
Ramsey says he's never seen one either.  So, being desperate, I've decided
to look into making one myself (but I am woefully ignorant).

brian

PS.  Mac users in non-English speaking countries, are your keyboards
anything even close to what I'm looking for?  If so, please send me email.

  Dvorak keyboard (middle portion):

-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +---
  @  | |  #  | |  $  | |  %  | |  ^  | |  &  | |  *  | |  (  | |  )  | |   
  2  | |  3  | |  4  | |  5  | |  6  | |  7  | |  8  | |  9  | |  9  | |   
-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +---
-+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 
"| |  <  | |  >  | |  P  | |  Y  | |  F  | |  G  | |  C  | |  R  | |  L  | 
'| |  ,  | |  .  | |  p  | |  y  | |  f  | |  g  | |  c  | |  r  | |  l  | 
-+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ 
---+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----
A  | |  O  | |  E  | |  U  | |  I  | |  D  | |  H  | |  T  | |  N  | |  S  
a  | |  o  | |  e  | |  u  | |  i  | |  d  | |  h  | |  t  | |  n  | |  s  
---+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----
 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-
 |  :  | |  Q  | |  J  | |  K  | |  X  | |  B  | |  M  | |  W  | |  V  | |Z
 |  ;  | |  q  | |  j  | |  k  | |  x  | |  b  | |  m  | |  w  | |  v  | |z
 +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-----+ +-
-+ +----------------------------------------------------------------------+
 | |                             <space>                                  |
 | |                                                                      |
-+ +----------------------------------------------------------------------+

-- 
~~~~~~~~~~~~~~~~~~~~~~~~~~     _______    _____     ~~~~~~~~~~~~~~~~~~~~~~~~~~~
Brian A. Cole                 |_   _  |  |  ___|    Most people think disc golf
  tuc@cs.wisc.edu               | | | |__| |___     is a joke.    It is not.
  ...!uwvax!cs.wisc.edu!tuc     |_| |__________|    That gives us the element
                                                    of surprise.