[comp.sys.mac] Is there a MacPlus Keyboard with a Control Key?

peter@aucs.UUCP (Peter Steele) (09/08/88)

I've seen quite a few different extended keyboards for the MacPlus, but none
that have a control key like Apple's extended keyboard for the SE and II. Does
one exist and if not, why not? I would think that a control key would not be
an impossible feature for the MacPLus to support.

-- 
Peter Steele, Microcomputer Applications Analyst
Acadia University, Wolfville, NS, Canada B0P1X0 (902)542-2201x121
UUCP: {uunet|watmath|utai|garfield}!dalcs!aucs!Peter
BITNET: Peter@Acadia  Internet: Peter%Acadia.BITNET@CUNYVM.CUNY.EDU

cyosta@taux01.UUCP (Yossie Silverman) (09/18/88)

In article <1245@aucs.UUCP> peter@aucs.UUCP (Peter Steele) writes:
>I've seen quite a few different extended keyboards for the MacPlus, but none
>that have a control key like Apple's extended keyboard for the SE and II. Does
>one exist and if not, why not? I would think that a control key would not be
>an impossible feature for the MacPLus to support.

I think that the reason you will never see a control key for a mac plus is
that the hardware interface uses some of the control characters as interface
control characters.  Basically this means that there is NO way using current
system software and mac plus hardware to send certain characters over the 
keyboard connection.  A solution would be to use an INIT to supplant the
system keyboard driver and use a new keyboard which would "quote" or "escape"
the control characters.  This would probably not work in all cases.  I base
my thoughts on information from the ancient "Underground Inside Macintosh"
paper.



-- 
Yossie Silverman                                   What did the Caspian sea?
National Semiconductor Ltd. (Israel)				- Saki
UUCP: taux01!yossie@nsc.UUCP
NSA LSD FBI KGB PCP CIA MOSAD NUCLEAR MI5 SPY ASSASSINATE SDI -- OOCLAY ITAY

earleh@eleazar.dartmouth.edu (Earle R. Horton) (09/18/88)

In article <896@taux01.UUCP> taux01!cyosta@nsc.UUCP (Yossie Silverman) writes:
>In article <1245@aucs.UUCP> peter@aucs.UUCP (Peter Steele) writes:
>>I've seen quite a few different extended keyboards for the MacPlus, but none
>>that have a control key like Apple's extended keyboard for the SE and II. Does
>>one exist and if not, why not? I would think that a control key would not be
>>an impossible feature for the MacPLus to support.
>
>I think that the reason you will never see a control key for a mac plus is
>that the hardware interface uses some of the control characters as interface
>control characters.  Basically this means that there is NO way using current
>system software and mac plus hardware to send certain characters over the 
>keyboard connection.  A solution would be to use an INIT to supplant the
>system keyboard driver and use a new keyboard which would "quote" or "escape"
>the control characters.  This would probably not work in all cases.  I base
>my thoughts on information from the ancient "Underground Inside Macintosh"
>paper.

     A simpler solution exists, if you are willing to do without your
Caps Lock key.  It is possible to write an INIT to patch the
GetNextEvent() trap call to convert characters to control characters
when the event received is a keyboard event and when the Caps Lock key
is down.  On a stock Mac Plus or original Macintosh keyboard, it is
possible to remove a little locking mechanism from the Caps Lock key
switch, and make this key behave mechanically like other keys.  This
solution will fool all applications which use GetNextEvent() to get
keyboard input into thinking that a control character was generated by
the keyboard when, in fact, the Caps Lock key had been held down.


Earle R. Horton. 23 Fletcher Circle, Hanover, NH 03755
(603) 643-4109
Sorry, no fancy stuff, since this program limits my .signature to three

fjo@ttrdf.UUCP (Frank Owen ) (09/26/88)

in article <10113@dartvax.Dartmouth.EDU>, earleh@eleazar.dartmouth.edu (Earle R. Horton) says:
> 
>      A simpler solution exists, if you are willing to do without your
> Caps Lock key.  It is possible to write an INIT to patch the
> GetNextEvent() trap call to convert characters to control characters
> when the event received is a keyboard event and when the Caps Lock key
> is down.  On a stock Mac Plus or original Macintosh keyboard, it is
> possible to remove a little locking mechanism from the Caps Lock key
> switch, and make this key behave mechanically like other keys.  This
> solution will fool all applications which use GetNextEvent() to get
> keyboard input into thinking that a control character was generated by
> the keyboard when, in fact, the Caps Lock key had been held down.

Aha! I have done something like this already. I think I also had to patch
KeyTrans() to get it to work.  
  My patches really just convert the CapsLock key into another "command"
key. This may NOT be the same as the true control key on the ADB keyboards,
but it is good enough for my applications.
  I have also included a "software" Caps Lock, so that you don't
have to really give up the Caps Lock function. To enable the Caps Lock,
just hold down the command key while pressing the Caps Lock (now another "command"
key). Repeat this operation to release the software CapsLock. There
is no physical designation that the CapsLock is on, however, so you
just have to remember.
   The hardware modification to disable the physical lockking mechanism
of the key IS reversible, so if you decide you like the stock setup, you
can revert.
   I have 2 complaints with my setup:
     1) Apparently not all programs use GetNextEvent to detect key-stroke
	events. Desk Accesories (like KeyCaps for example) seem to
	fall into this catagory.
     2) The spring that keeps the CapsLock key up is a little stiffer
	than the other keys. This is just a minor complaint.

  Other than the above two problems, I have been happy with my keyboard
hack. The patch does take about 700 bytes of system heap space.
(Nothing is free).
  If people are interested, I'd be happy to post the INIT to the .binaries.

-- 
Frank Owen (fjo@ttrdf)  312-982-2182
AT&T Bell Laboratories 
5555 Touhy Ave., Skokie, IL  60077
PATH:  ...!att!ttrdf!fjo