DataMuseum.dk

Presents historical artifacts from the history of:

DKUUG/EUUG Conference tapes

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about DKUUG/EUUG Conference tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download
Index: T c

⟦12cbc114e⟧ TextFile

    Length: 39248 (0x9950)
    Types: TextFile
    Names: »ckm834.doc«

Derivation

└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
    └─⟦3da672b63⟧ »EurOpenD3/misc/kermit.tar.Z« 
        └─⟦126dd3ca0⟧ 
            └─⟦this⟧ »ckm834.doc« 

TextFile



1. MACINTOSH KERMIT

Program:        Bill   Catchings,   Bill   Schilit,  Frank  da  Cruz  (Columbia
                University),
                Davide Cervone, University of Rochester
Language:       C (SUMACC)
Documentation:  Frank da Cruz, Bill Schilit
Version:        0.8(34)
Date:           March, 1986

Macintosh Kermit, or "MacKermit", is an implemtation of the Kermit file  trans-
fer  protocol for the Apple Macintosh (and Macintosh-XL) computer, developed at
Columbia University, based on C-Kermit (which also forms the  nucleus  of  Unix
Kermit).


MacKermit Capabilities At A Glance:

  Local operation:                   Yes
  Remote operation:                  Yes (server mode only)
  Login scripts:                     No
  Transfer text files:               Yes
  Transfer binary files:             Yes
  Wildcard send:                     No
  File transfer interruption:        Yes
  Filename collision avoidance:      Yes
  Can time out:                      Yes
  8th-bit prefixing:                 Yes
  Repeat count prefixing:            Yes
  Alternate block checks:            Yes
  Terminal emulation:                Yes (VT100,VT102)
  Communication settings:            Yes
  Transmit BREAK:                    Yes
  Support for dialout modems:        No
  IBM mainframe communication:       Yes
  Transaction logging:               No
  Session logging:                   No
  Debug logging:                     No
  Packet logging:                    No
  Act as server:                     Yes
  Talk to server:                    Yes
  Advanced server functions:         No
  Local file management:             Yes
  Command/Init files:                Yes
  File attributes packets:           No
  Command macros:                    No
  Raw file transmit:                 No

The main differences between MacKermit and other Kermit programs are:

   - In  MacKermit  you  are  always  connected  via  a  terminal emulator
     (VT102).

   - MacKermit commands are issued by means of pull-down menus that  over-
     lay your terminal session.

The  major  menus  are File, Settings, Remote, and Transfer.  The File menu in-
vokes Kermit's file transfer functions, allows settings to be  saved  and  res-
tored,  and  like  most Macintosh applications, includes a "quit" selection for
leaving the program.

The Settings menu provides dialog boxes for file, communications, and  protocol
settings.  The Remote menu has the commands that can be sent to Kermit servers,
as well as an option to turn Macintosh  Kermit  itself  into  a  server.    The
Transfer menu gives you a standard Macintosh file box, allowing you to transfer
directly to the selected application.


1.1. The Macintosh File System

The Macintosh file system consists of one or more disks, each  disk  containing
files.    All  files on a disk must have a unique name.  Files may be collected
together into "folders", but folders are not analogous to directories on  other
file systems, and no two folders on the same disk may contain files of the same
name.  Macintosh file names may contain practically any  printable  characters,
including  space  and punctuation -- but colon (":")  should be avoided because
it is used in device names.


1.2. File Transfer

Glossary:

   - Mode - Text or Binary.  Binary means the data is sent or stored with-
     out  modification.  Text  means  that every carriage return character
     (CR) in a Macintosh file is translated to a  carriage-return-linefeed
     (CRLF)  sequence  when sending, and every CRLF in an incoming file is
     turned into a CR when stored on  the  Mac  disk.    A  text  file  is
     produced when you save a file from MacWrite using the "text only" op-
     tion; text files are not associated with any particular Macintosh ap-
     plication  and can be sent in a useful fashion to other kinds of com-
     puters.

   - Fork - Data or Resource.  Macintosh files may have two "forks".   The
     data  fork  contains  data for an application; the resource fork con-
     tains icons, strings, dialog boxes, and so forth.   For  instance,  a
     MacWrite  document  contains  text  and formatting information in the
     data fork, and fonts in the resource fork.  For applications, the ex-
     ecutable code is stored in the resource fork.

Macintosh  Kermit  supports the standard Kermit commands for transferring files
-- Send, Receive, and Get.  Invocation of any  of  these  commands  produces  a
MacKermit file dialog box in which you specify the file name, the mode, and the
fork.  Defaults are determined from the selected file or taken from the current
file settings, described below.

When  you select the Send command, you get a MacKermit file open box, which in-
cludes the standard Macintosh dialog items -- a file list, Disk and Eject  but-
tons,  etc.    You can only send one file at a time, by clicking on its name in
the file list.  Clicking the Disk button will switch the file list  to  another
physical disk.  If desired, you can type an alternate name to send the file un-
der.  When you select a file, MacKermit examines its type; if the type is APPL,
then  MacKermit expects to send the resource fork in binary mode, otherwise the
data fork in text mode.  The Mode and Fork radio  buttons  will  display  these
choices; you may change them before clicking the Send button.

You can receive or get multiple files, providing the opposite Kermit is capable
of sending multiple files in a single transaction (most are).  As files arrive,
they will be decoded according to the current mode (text or binary), and stored
in the default fork (data or resource) under either the name they  arrive  with
(overwriting  existing files of the same names) or under new unique names (when
name conflicts occur), according to the current default  for  name  collisions.
You  may  also elect to perform an "attended" receive, in which you have an op-
portunity to override all file defaults on a per-file basis.  But  this  option
must be used with caution -- if you take too long (more than about a minute) to
execute an incoming file's dialog box, the opposite Kermit could time  out  and
terminate the transaction.

The  folder  for new files is the same as the location of the settings file, or
if no settings file was used then the new files appear on the desktop.  If  you
are  transferring  a  lot  of  files  and  want to keep them together, create a
folder, drag the settings file into it, and double click on the settings  file;
all created files will appear in that folder.

File  transfers can be cancelled by clicking on the Cancel File or Cancel Group
buttons.  These will always work when sending.  When receiving, they will  work
if the opposite Kermit honors this (optional) feature of the protocol.

In  any  case,  an "emergency exit" from any protocol operation can be taken at
any time by typing  "Command-."  --  that  is,  hold  down  the  Command  (Fan,
Cloverleaf) key and type period.


1.3. Remote Commands

The  Remote  menu allows you to send commands to a Kermit server.  The response
from these  commands  (if  any)  is  displayed  in  a  special  pop-up  window.
Responses  to  multiple  Remote  commands  are separated by a dashed line.  The
response window can be scrolled, sized, and positioned, and can  be  hidden  by
clicking  the  menu  item "Hide Response" or the window's go-away box; all text
remains intact and will be appended to the next time you do a  Remote  command;
it  can  also  be  brought to the foreground by clicking the Show Response menu
item.  Note that typein to the terminal emulator will not take effect when  the
response window -- or any other window -- is up front.

If  the  response window gets too full (i.e. fills up the free memory available
to the MacKermit application), the program will probably bomb.

If the remote Kermit server is in binary mode, its responses to Remote commands
may  look strange.  For instance, a Unix Kermit server in binary mode will send
lines of text separated by only linefeeds, rather than CRLFs.

A Remote command can be cancelled by taking the Emergency Exit (Command-.).


1.4. Settings

You can change File, Communications, and Protocol settings by  using  the  Set-
tings  pull-down menu.  You can save and restore these settings by invoking the
appropriate selection in the File menu.  If the bundle bit has  been  correctly
set on your version of MacKermit you can double-click on the resulting document
to start MacKermit with those settings.

The File settings establish the defaults for file transfer:

   - Mode: text or binary.  Used for received files only.   When  sending,
     MacKermit  tries to figure out an appropriate mode for the file being
     sent (but then lets you override it the Send File dialog).

   - Fork: which fork -- data or resource -- to send, or to store  an  in-
     coming file into.

   - Naming: Whether incoming files should supersede existing files of the
     same name, or a new unique name should be assigned to them.   If  the
     latter,  the  new  name is formed by adding a dot and a number to the
     end.  For instance, if a file called FOO exists and a file called FOO
     arrives,  MacKermit  will  store the arriving file as FOO.1; if FOO.1
     exists, then FOO.2, etc.

   - Attended versus Unattended operation for incoming files.

The Communications settings allow you to set the baud  rate  (anywhere  between
300  baud and 57.6K baud), parity (odd, even, mark, space, or none), and duplex
(full - remote echo, half - local echo).

The Protocol settings allow you to set packet parameters for both incoming  and
outbound  packets.  These include the block check type (1 or 2 character check-
sum, 3-character 16-bit CRC-CCITT), line turnaround  handshake  character  (for
file  transfer with half duplex systems), packet start and end characters, pad-
ding, packet length, timeout interval, and  so  forth  (Refer  to  Kermit  User
Guide).    Characters  are  specified by entering their ASCII value in decimal,
e.g. 1 for Control-A, 13 for Control-M (Carriage Return), etc.


1.5. Terminal Emulation

MacKermit provides a subset of the features of  the  DEC  VT102  terminal;  the
VT102  is  a  VT100 with line and character insert/delete functions added.  The
functions provided are sufficient to allow MacKermit to act as a  terminal  for
EMACS  as it exists on the DEC-20, VAX (CCA EMACS on VMS or UNIX), and for most
host-resident display-oriented applications that expect to do cursor  position-
ing  and editing on the VT100 screen.  MacKermit does not currently support the
following VT100/102 functions:

   - double height or double width lines
   - smooth scrolling
   - 132 columns
   - Interpretation of multiple parameters in a single escape sequence
   - etc

(this is not an exhaustive list)

The keyboard is set up by default as follows: The COMMAND (Fan, Cloverleaf) key
is used as the Control key.  The CAPS LOCK key forces all alphabetic characters
to upper case, and causes keys on the numeric keypad to send VT100  keypad  es-
cape  sequences.  The OPTION key is "Control-Meta" (explained below).  The ter-
minal emulator sends ESC (escape) when the "`" key is pressed unshifted.    The
character  "`"  can  be sent by typing Control (Command) and the same key.  The
Backspace key sends a Delete (Rubout) and Control-Backspace sends a  Backspace.
The  main keypad Enter key sends a "short" (250ms) BREAK signal.  The Mac+ does
not have a main keypad Enter key, so the BREAK function must be  reassigned  to
another  key.    Use  CKMKEY  (see  below) to do this.  The short break is F126
(function number 126) and long break is F127.

MacKermit (V0.8 and later) comes with a  separate  key  configuration  program,
CKMKEY,  which  lets you change the behavior of the keys, define function keys,
and so forth.  CKMKEY is described in detail below.

MacKermit (V0.8(43A) and later) includes a mouse-controlled  cursor  postioning
feature  for  use  during terminal emulation.  When the mouse button is pressed
while the Option and Command keys are held down, the program  acts  as  if  you
typed the keypad arrow keys to move the terminal cursor to where the mouse cur-
sor is.  You must have already defined the keypad arrow keys to  send  the  ap-
propriate  character sequences for your host application.  The Catch-22 here is
that if you don't have a keypad, there's no way for you to  define  the  keypad
keys  using  MacKermit's  keyboard configurator.  In that case, you can use the
VT100 startup file provided with MacKermit, which assigns the normal VT100  ar-
row  key  sequences  to  the  keypad  arrow  keys,  and  therefore  also to the
mouse-cursor feature.

MacKermit honors your parity communications setting by using built-in functions
of  the Mac's serial i/o chip.  Unfortunately, the chip has an unpleasant quirk
-- arriving characters that do not have  the  specified  parity  are  discarded
rather  than  passed to the requesting application.  Thus, if you are connected
as a terminal using MacKermit to a device that requires,  say,  odd  parity  on
characters  sent  to  it, but does not put odd parity on characters it sends to
you, then many incoming characters will not appear on your screen.

To allow useful coexistence of desk accessories and Kermit, the terminal emula-
tion  may  be  dragged  using the drag bar.  A desk accessory that overlays the
Kermit window can be clicked upon to move it behind the Kermit window, and then
the Kermit window can be dragged to reveal the hidden desk accessory so that it
can be restored to the foreground.  The same thing can be  done  with  Kermit's
own  remote response window.  Note that Kermit's terminal emulation window does
not accept input when any other window is in the foreground.

The following features are missing from the MacKermit  terminal  emulator,  and
may be added in subsequent releases:

   - capturing text from the screen (e.g. cutting to clipboard, saving off
     top)
   - screen rollback, sizing
   - modem or dialer control
   - login scripts
   - transmission of raw text to host (e.g. pasting to screen)
   - printer support

MacKermit does not use XON/XOFF flow control during terminal emulation or  file
transfer.    The terminal emulator can normally keep up at 9600 baud, but after
several continuous scrolling screens at this  speed,  some  characters  may  be
lost.    In the present version, when running at high baud rates keep your ter-
minal in page mode, or use "more", or view text  with  a  non-scrolling  screen
editor.    Also,  don't drag the terminal emulation window while characters are
arriving; if you do, the characters will be lost and the  display  will  become
confused.


1.6. Installation

MacKermit  is  distributed  in source form for building on Unix (or VMS/Eunice)
systems that have the Stanford SUMACC  Macintosh  cross-development  tools,  in
.HQX  "binhex"  form,  and sometimes also as a binary resource file.  Those who
want to work from the source are referred to the file CKMKER.BLD  for  instruc-
tions.

If  you  have the binary resource file available (its name will be CKMKER.RSRC,
ckmker.rsrc, CKMKER.RSR, ckmker.rsr, or some variation on these,  depending  on
what  system  it's stored on and how it got there), AND if you have "MacPut" on
your system and MacTerminal on your Mac, AND if  you  have  an  8-bit-wide  (no
parity)  data path between your Mac and your system, use MacPut to download the
binary resource file to MacTerminal's XMODEM option on your Mac.   After  doing
this  you  must  use  SetFile on the Mac to set the author to KERM, the type to
APPL, and turn on the bundle bit.  For CKMKEY, the author should be KERK.

If you have an earlier release of Columbia MacKermit, you  may  use  Kermit  in
place of MacTerminal and MacPut.

If  you  don't  have  the  binary resource file available, you can download the
CKMKER.HQX file in the same manner, then run "binhex" (version 4) on it.


1.7. CKMKEY - Macintosh Kermit's Keyboard Configurator

This describes CKMKEY V0.8(0), May 1985.

The version number of CKMKEY indicates compatability with the like  version  of
CKMKER  --  Macintosh Kermit, referred to simply as "Kermit" from now on.  Edit
numbers (within parentheses) may differ.  If Kermit is  used  with  a  settings
file  containing  a  key  configuration  produced by an incompatible version of
CKMKEY, then that configuration will be ignored.


1.7.1. What is CKMKEY?

CKMKEY is a  keyboard  configurator  program  for  use  with  Macintosh  Kermit
(versions 0.8 and greater). CKMKEY allows:

   - Redefinitions of keys

   - Definitions of multicharacter function keys

   - Selection of long and short BREAK keys

CKMKEY  is  a  separate program from Kermit.  It may be thought of as an editor
for Kermit's terminal emulator key definition resource, which is kept in a Ker-
mit  settings file.  Before you can use CKMKEY, you must already have used Ker-
mit to create a settings file to operate on.

The reason CKMKEY is separate from Kermit is that there is not enough  room  in
the memory of a 128K Macintosh to hold a program that can do both.  CKMKEY dis-
plays and changes key settings, Kermit uses them.  Once you have started Kermit
with a given set of key definitions, there is no way to examine or change them.

Some  familiarity  with  the ASCII alphabet is assumed in the following discus-
sion.


1.7.2. Modifier vs Normal Keys

The Macintosh keyboard is composed of normal keys and modifier keys.   Modifier
keys are SHIFT, CAPS LOCK, OPTION, and COMMAND (also known as APPLE, CLOVER, or
FAN).  Only one normal key can be selected at a time, but one or more  modifier
keys can be depressed along with it.


1.7.3. Key Maps

When  a key on the keyboard or numeric keypad is depressed the result is a scan
code -- a number between 0 and 127 (see Inside Mac Event Manager for details if
you're interested).  A table indexed by scan code resulting in the character to
be displayed or transmitted will be referred to as a "keymap" or "key mapping."

On the standard Mac many keymaps exist -- the modifier  keys  (such  as  SHIFT)
specify  which  keymap  is  selected.    For  example, when no modifer keys are
depressed the keymap contains the lowercase alphabet, numbers and some punctua-
tion.  The keymap in use when the SHIFT modifer is depressed contains the capi-
tal letters and special characters.

All in all it is possible to select 16 different  keymaps  by  depressing  from
zero  to  four  modifier keys.  Normally however, 6 or so distinct keymaps will
suffice.

CKMKEY allows you to redefine 6 keymaps: shifted and unshifted combinations  of
keymaps   named  "normal",  "capslock",  and  "control".    These  keymaps  are
predefined with the expected values -- the control map is preloaded  with  con-
trol  codes, the capslock preloaded with the unmodifed keymap but with all let-
ters uppercase.

In this document modifier keys are written in capital letters and key map names
are  written  in lowercase.  SHIFT, CAPS LOCK, COMMAND, and OPTION are modifier
keys, "normal" "capslock" and "control" are key maps internal to CKMKER.  Since
one  of  the  major  functions  of CKMKEY is to change maps invoked by modifier
keys, it is important to keep this distinction in mind.


1.7.4. What's in CKMKEY's Keymaps

A keymap is a list of 128 numbers.  Which keymap is selected depends upon which
modifier  keys are depressed, and the entry within the key map is determined by
the scan code.  A keymap entry is an 8-bit quantity:  if the high order bit  is
0,  then  the  entry is the 7-bit ASCII character to be transmitted through the
serial port; if the high bit is 1, then the remaining 7 bits are an index  into
the function-key table.

Notice  that  only  single  7-bit values can be directly translated through the
CKMKEY keymap.  If you want a single key to transmit multiple characters,  then
you can designate that key to be a "function key", and the key map will contain
an indirect reference to the function-key table.  If you want a key to transmit
an 8-bit value, assign the "meta" operation to one of the modifier keys and use
the meta key together with the desired key (see below).

Functions are numbered 0-127 with the highest few being  reserved  for  special
use.  Currently functions 126 and 127 send a short 250 millisecond BREAK signal
and a long 3.5 second BREAK respectively.  In the future more special functions
may  be  allocated  so  (since  it is arbitrary anyway) please use low numbered
functions when defining your own.


1.7.5. Menus

CKMKEY has two menus, File and Set.  First you must use the File menu to select
and open a Macintosh Kermit settings file, which in turn has been created using
the Kermit Save Settings option from its own File menu.  Then use the Set  menu
to establish or alter key definitions, then use the File menu again to save the
settings file back for Kermit.  A variety of Kermit settings files can be kept,
each  with  its  own  collection of settings and key definitions; Kermit can be
started with the desired settings by double clicking on one of  these  settings
files from the Macintosh desktop.

Menus  consist  of  options.    If  an option is followed by an ellipsis (three
dots...) then clicking it will produce a dialog box of  some  kind;  otherwise,
clicking it causes the indicated action to be performed immediately.  If an op-
tion is dimmed then it is not available for some reason --  for  instance,  you
can't set any keys until you open a settings file.


1.7.6. MENU: Set

The  Set  menu includes dialogs for setting keys, defining functions, and reas-
signing modifier keys.


1.7.6.1. DIALOG: Set Modifer Keys

Background:

Skip ahead to the next section if you already know  about  things  like  SHIFT,
CAPS LOCK, CONTROL, and META.

On  a  typewriter  the  only modifier key is SHIFT.  Typing a character with no
modifier key depressed selects a lowercase letter or the character  printed  on
the  lower  face  of  the keytop (say, the digit "4").  Typing a character with
SHIFT depressed selects an uppercase letter or the character printed on the up-
per  face of the keytop (say, a dollar sign).  Some keyboards also have a SHIFT
LOCK key, which stays down once pressed and pops up the next time it's pressed;
its  operation  is equivalent to holding down SHIFT.  And some keyboards have a
CAPS lock key which operates like SHIFT LOCK, but only upon letters.

Computer terminals also have a modifier key called  CONTROL  (or  CTRL).    Its
function  is  a  little  less  obvious: it is intended to produce one of the 33
characters in the "control range" of the ASCII alphabet.    Control  characters
are not graphic -- they are intended for use as format effectors (like carriage
return, formfeed, tab, backspace), for transmission control, or for device con-
trol.    The remaining 95 characters -- letters, digits, and punctuation -- are
the graphic characters.  When a character is typed with  the  CONTROL  modifier
pressed,  its  "control equivalent" is transmitted.  By convention, the control
equivalent of A is Control-A, B is Control-B, etc, and  there  are  also  seven
special  control characters generally associated with punctuation characters or
special keys.   For  the  "alphabetic"  control  characters  Control-A  through
Control-Z,  SHIFT or CAPS LOCK modifiers are ignored; for the others, operation
varies from terminal to terminal.

The SHIFT and CONTROL modifiers allow all 128 ASCII characters to be sent  from
a  normal  typewriter-like  keyboard  that has about 50 keys.  However, certain
host-resident computer applications -- notably  the  full  screen  text  editor
EMACS  and  its  descendents  --  can  be  used to greater advantage with a 256
character alphabet (EMACS responds to single-character commands, and  the  more
characters a terminal can send, the more commands are directly available).  For
this purpose, some terminals also provide a META modifier key.  This key simply
causes  the  high-order  ("8th") bit of the selected ASCII value to be set to 1
upon transmission.  META characters can only be transmitted when the communica-
tion  path  allows all 8 bits to pass transparently; when this is not possible,
software like EMACS  allows  a  sequence  of  two  7-bit  ASCII  characters  to
represent  a  single  meta  character.    The  advantage  of having a real META
modifier key is that it can be  held  down  while  the  actual  key  is  struck
repeatedly  or even autorepeats, whereas a use of a "meta prefix" requires much
more typing.  To illustrate, suppose META-F is the command to  go  forward  one
word.    If  you want to execute this operation repeatedly, just hold down META
and F and let it autorepeat.  If you don't have a META key, then  you  have  to
use  a "meta prefix" character (usually escape), and to enter META-F repeatedly
in this case, you'd have to type <escape>F<escape>F<escape>F...etc.

Macintosh Kermit Modifier Keys:

You can define the modifier key to keymap correspondence in CKMKEY by selecting
the  "Modifer Keys..." menu item under SET, or by double clicking on a modifier
key while in the SET KEYS dialog.

The SET MODIFIERS dialog lets you define what map OPTION, CAPS LOCK and COMMAND
refer  to.  Notice that SHIFT is missing -- SHIFT always references the shifted
equivalents to the normal, control and caps lock maps.

The dialog is layed out in columns with the three modifier keys as column head-
ings  and  the three map names below.  Also under each column is a "pseudo" key
map for "meta."

Meta is not a map, but an operation: it augments the  value  being  transmitted
after  it  has been read from its map.  Meta can either be set to send a prefix
string before the character or to turn the high  order  (8th)  bit  on  in  the
transmitted  character.  The default prefix for meta is set to be 033 (escape).
If a meta modifier key is depressed and the key results in a function reference
then  no  modification occurs; functions are not "metized".  However, functions
can be defined to include 8-bit values.

Notice that meta can be set in conjunction with a key map.  Since  meta  is  an
operation  as described above there is no ambiguity.  Consider for example set-
ting OPTION to reference the  "control"  map  and  selecting  "meta"  for  this
modifier key as well.  The result is a control-meta key.

    CAUTION:  If  you  have  used  Kermit's communications settings menu to
    select any parity other than "none", then any high order bits that  may
    be  set  by CKMKER's key mapping will be superseded when Kermit applies
    the selected parity to outbound characters.

The SET MODIFIER KEYS dialog  also  lets  you  select  your  meta  preferences:
whether you want to use the 8th bit toggled on, or a prefix string.  The prefix
string is entered in the same manner as a function definition  (backslash  fol-
lowed by 3 octal digits for non-printable characters, see below).

Note that it is possible to cause ambiguities when selecting and using modifier
keys.  For example say you set OPTION to refer to the control map, and you  set
CAPS  LOCK  to refer to the caps map; at this point if you hold both OPTION and
CAPS LOCK down it is unclear which map you want your character  to  come  from.
To  try to prevent this type of ambiguity the SET KEY dialog will beep when you
are holding down or mousing an ambigous set of modifier keys.

The Kermit code itself references maps in this precendence: if  a  control  map
modifier  is  depressed  then  use  control map, else if a capslock modifier is
depressed use capslock, otherwise use the normal map.

A sample modifier key configuration is shown in Figure -MACMKEY.

    -----------------------------------------------------------------------

                     OPTION          COMMAND         CAPS LOCK

                     o  Normal       *  Normal       o  Normal
                     *  Control      o  Control      *  Control
                     o  Caps         o  Caps         o  Caps
                    [X] Meta        [X] Meta        [ ] Meta

              Figure 1-1:   Macintosh Kermit Modifier Key Dialog

    -----------------------------------------------------------------------

Here the CAPS LOCK key is used to reference "control", the COMMAND  key  to  do
the  "meta"  operation, and OPTION is "control-meta".  Holding down COMMAND and
CAPS LOCK together will also result in control-meta.


1.7.6.2. DIALOG: Set Function Definitions

Background:

Skip to next section if you know what function keys are.

Many popular terminals have "function  keys"  in  addition  to  the  alpabetic,
numeric,  punctuation,  and  modifier  keys described above.  Function keys are
usually labeled F0, F1, F2, ..., or PF1, PF2, ...  On some terminals, like  the
DEC VT100, the function keys send predefined sequences of characters -- for in-
stance PF1 sends three characters: ESCAPE (ASCII 033),  followed  by  "O",  and
"P".  On others, the function keys may have arbitrary strings assigned to them.
For instance, if you find yourself typing "Aaaarrrgggghhh!!!  Sigh..."  a  lot,
you  can  assign  this  string to function key F1, and then pressing the F1 key
will cause this entire character string to be transmitted.

Macintosh Kermit Function Keys:

The Macintosh has no physical function keys -- no keys are marked F0,  F1,  F2,
etc.    However,  any key (modified by any combination of modifier keys) may be
designated as a "soft" function key.

Selecting "Function Definitions..." from the SET menu brings  you  to  the  SET
FUNCTIONS  dialog (it would be nice if you could double click on a function key
in the SET KEYS dialog but that is not yet available).

Use SET FUNCTIONS to declare a function definition string.  Scroll through  the
function  definition  list and select a function to define, preferably starting
with F0, though this is not required (high numbered functions are reserved  for
special  uses).  Type in the function definition; non printable characters must
be entered with a backslash ("\") followed by exactly (yes exactly) three octal
characters  representing  the  ASCII  value,  for  instance "\015" for carriage
return.  A backslash itself is entered as "\134".  The function definition  has
to fit in the box.

Having  defined a function, you must use SET KEYS to actually associate it with
a key.  Note that it is possible to associate a function  with  more  than  one
key.


1.7.6.3. DIALOG: Set Keys

Selecting  the  "Keys..." menu item under SET initiates the SET KEYS dialog for
redefining individual keys.

SET KEYS displays a picture of the keyboard.  You  can  either  hold  down  the
modifier  and key you wish to define or click on the displayed picture with the
mouse (double clicking on one of the modifier keys brings up the  SET  MODIFIER
KEYS  dialog).    Once a key is selected, it and any modifiers are highlighted,
the name of the key and its value are displayed in the  lower  portion  of  the
dialog.    You  may  enter the new value in the little box by selecting the box
with the mouse and then typing a DECIMAL (yes decimal) number from  0  to  127.
Then  you should click on either SET KEY or else SET FUNCTION KEY.  Clicking on
SET KEY means that the key should transmit the ASCII character corresponding to
the  given  value (subject to modification by the meta key); clicking SET FUNC-
TION KEY means the number you entered in the box is a function number and  that
the key should transmit the character string associated with that function.

SET KEYS does not display a picture of the numeric keypad, but may be used with
the keypad anyway -- just select the desired key by pressing it and then define
it as above.


1.7.7. MENU: File

The  File  menu  must be used to Open a Kermit settings file before CKMKEY will
allow you do perform any other operations.   You  may  also  Quit  from  CKMKEY
through  the File menu, and you can save your work.  The Save option allows you
to save the settings file back under its own name, replacing the previous copy.
If you need to make copies of settings files, you can use Kermit itself to save
them under different names, or else you can use the Finder.

There is also a Decompile option, that is of use only to programmers working on
Macintosh  Kermit -- it decompiles the key definition resource into a form that
can be included in a C program.


1.7.8. CKMKEY Known Limitations, Restrictions, Bugs

   - There is no picture of the numeric keypad in Set Keys.

   - In Set Keys, when you strike a key on the numeric keypad, its name is
     not displayed.  You can still make assignments to the key.

   - There  is  no  way to define a key from the numeric keypad unless you
     actually have a numeric keypad.

   - You can't save from CKMKEY under a different name.  Use the Finder or
     Kermit to do that.

   - You  must  use  decimal  numbers in the SET KEY dialog, and backslash
     followed by 3 octal digits in function definitions, which can be con-
     fusing.

   - You  may  have  problems  on a 128K mac if you define many long func-
     tions.

   - CKMKEY doesn't deal with write protected diskettes very well.


1.7.9. Unlocking CAPS LOCK

(Adapted   from   directions   posted   by   David   Chase    <rbbb@rice>    on
INFO-MAC@SUMEX-AIM, Friday 14 December 1984.  Follow these instructions at your
own risk.  Not the authors, nor David Chase, nor Columbia University, nor  Rice
University  provide  any  warranty,  nor  acknowledge  any liability or respon-
sibility for damage, injury, inconvenience, or loss of Apple or  other  service
warranty sufferred as a result of the publication of these directions.)

A  major  impediment to using the Macintosh as a terminal is that the CAPS LOCK
key is where you would normally  expect  to  find  the  CONTROL  key.    A  key
redefinition  package,  such  as CKMKEY, can assign the CONTROL function to the
COMMAND or OPTION keys but these keys are not easy to reach.  CONTROL can  also
be assigned to the CAPS LOCK key using software, but the CAPS LOCK key includes
a mechanical locking device.  The following directions tell how to  remove  the
locking  device  so  that  the CAPS LOCK key will go up and down like the other
keys.  PROCEED AT YOUR OWN RISK.

Tools you'll need:

   - Phillips screwdriver for screws on bottom of the keyboard.
   - Solder sucker/wick.
   - Soldering iron.
   - Small prying tools (jewelers screwdrivers, small knife blade, etc).
   - Tweezers/small needlenose pliers.
   - Some paper clips or straight pins.

Now follow these steps:

   1. Remove the five screws.  The keyboard should fall into three pieces.

   2. GENTLY pry off the Caps Lock keycap.  This takes a little patience.

   3. Remove the restoring spring so it doesn't get in the way.

   4. Locate the two connections to the Caps Lock key on the back  of  the
      PC  board, and remove all solder from them using wick or sucker.  Be
      careful not to overheat the solder pads, since they can  be  damaged
      (come loose from the PC board).

   5. Pry  back  the  plastic locking clips holding the key in, and remove
      it.  (All the keys are clipped into a metal  frame.    Removing  the
      metal  frame is not possible, since all the keys are soldered to the
      PC board, and clipped to the frame.  The clips are  located  "north"
      and  "south"  of  the  key,  where the number row is "north" and the
      space bar "south".)  There are four clips holding the bottom of  the
      key on; pry these back, and, WHILE HOLDING THE KEY BOTTOM UP, remove
      the bottom of the key.  You may have to use  some  makeshift  tools,
      like a couple of unbent paper clips, to hold the four clips open.

   6. Two   pieces  should  be  ready  to  fall  out;  a  small  piece  of
      PC-board-like material (about 7/16 by 3/32 inch, with two notches on
      one edge and a tiny hole in the center), and a tiny piece of wire (a
      small, beefy staple with short legs).  Let them fall  out.  (It  may
      help  to  toggle the key).  These two pieces are the locking device,
      they should be removed and left out of the reassembly.

   7. Replace the restoring spring, snap the key back into place, resolder
      the two leads, screw the keyboard back together, and replace the key
      cap.  You may wish to experiment with the spring to reduce the key's
      springiness  (this  can  be done with the keyboard assembled, though
      removing the cap is more difficult).

For those who want to map the CAPS LOCK key to CTRL, but don't  want  to  alter
the  keyboard as described in the manual, but still want to inhibit the locking
function, the following suggestion is offered:

Pry off the key using a small screwdriver.  There is a spring  whose  end  goes
through the plastic support.  Stick a very small wad of paper or soft putty be-
tween the tip and the bottom of the keyboard.  This will prevent the  key  from
depressing  all the way and locking, but still allow contact of the key.  Even-
tually, the paper will work loose and you will need to find it and  repeat  the
procedure.



Index

,
          Binhex   1

          CKMKER   0
          CKMKEY   1

          Macintosh Kermit   0
          META Key   2

          Setfile   1



                               Table of Contents

1. MACINTOSH KERMIT                                                           0

   1.1. The Macintosh File System                                             0
   1.2. File Transfer                                                         0
   1.3. Remote Commands                                                       0
   1.4. Settings                                                              0
   1.5. Terminal Emulation                                                    1
   1.6. Installation                                                          1
   1.7. CKMKEY - Macintosh Kermit's Keyboard Configurator                     1
       1.7.1. What is CKMKEY?                                                 1
       1.7.2. Modifier vs Normal Keys                                         1
       1.7.3. Key Maps                                                        1
       1.7.4. What's in CKMKEY's Keymaps                                      1
       1.7.5. Menus                                                           2
       1.7.6. MENU: Set                                                       2
           1.7.6.1. DIALOG: Set Modifer Keys                                  2
           1.7.6.2. DIALOG: Set Function Definitions                          2
           1.7.6.3. DIALOG: Set Keys                                          3
       1.7.7. MENU: File                                                      3
       1.7.8. CKMKEY Known Limitations, Restrictions, Bugs                    3
       1.7.9. Unlocking CAPS LOCK                                             3

Index                                                                         i



                                List of Figures

   Figure 1-1:   Macintosh Kermit Modifier Key Dialog                         2