HELP VEDCIFER                                 Aled Morris, December 1985

    lib vedcifer

This command loads a library file to  convert VED to work with the Cifer
2634 range  of terminals by  downloading machine code routines  into the
terminals own CPU.  While it is loading, the screen  will clear, and the
"downloading" arrow will appear. After downloading, the "okay" tick will
be displayed, followed by the POP-11 prompt.

A  preliminary  set  of  mappings   from  keys  to  functions  has  been
implemented. For exact  information on the current state  of the package
do

    showlib vedcifer

Also, the  file HELP *CIFERKEYS  provides a  printable 'map' of  the key
settings for the  Cifer terminal, which can be attached  to the keyboard
for easy reference.

The package includes a procedure VEDCIFER which is invoked automatically
when the libarary  file is loaded. It  sets up the function  keys on the
Cifer to transmit character sequences of the form

        <ESC> ? <character>

The basic mode of operation is very similar to the use of the Visual 200
terminal with  VED. Function Key  mappings are  described at the  end of
this file.

Instead of loading LIB CIFER, you may be able to run a saved image:

        UNIX: pop11 -vedcifer
        VMS:  pop11 /vedcifer

Whether these images are available will depend on the system management.


For an introduction on using VED on the VISUAL 200 terminal see
    TEACH * TEACH
    TEACH * VED
    TEACH * MOREVED
    TEACH * VEDPOP


--- Cifer Keys --------------------------------------------------------

The function keys are those keys on the top row of the keyboard, while
the keypad keys are on the right.

The numeric keypad keys work as on the Visual 200 - moving the cursor in
8 directions, except for key 5, which puts the cursor on the middle of
the current line.  Pressing <ESC> then a key causes a large jump instead
of just one character.

Remaining keypad keys:
ENTER key -- go to command line, and clear it
"-"   key -- redo command on command line
"'"   key -- switch between command line and edit window
"0"   key -- move cursor a word to left
"."   key -- move cursor a word to right

The arrow keys move the cursor a screenful at a time.

Notice that the SKIP key is defined as CHARDELETE, duplicating the
function of the delete key, which is in an odd location at the far right
of the keyboard !

--- Other Key Sequences -----------------------------------------------

There are alternatives to using the function keys. Many of the
operations can be performed equivalently by typing control characters or
key sequences.

You can find which procedure is currently mapped onto a key or key
sequence by VED if you give the command

    <ENTER> hk

This will ask you to press the key or key sequence. If there is a
corresponding procedure its name will be printed on the command line. If
nothing is printed then you have started the beginning of a key sequence
which is not complete. You can try completing the sequence in various
ways.


--- Control Characters ------------------------------------------------

Some of the VED functions can be achieved by control characters, i.e.
hold down the CTRL button and press a key. (CTRL-A is represented below
as ^A) Some codes are listed as being "not used". This is not the same
as undefined (undef) - VED (or the host operating system) ignores the
"not used" codes.

^@  not used                 ^P  DOTDELETE
^A  SCREENLEFT               ^Q  not used
^B  WORDLEFT                 ^R  WORDRIGHTDELETE
^C  not used                 ^S  not used
^D  _LMR                     ^T  CHARUP
^E  CLEARTAIL                ^U  CLEARHEAD
^F  WORDRIGHT                ^V  CHARDOWN
^G  STATUSSWITCH             ^W  WORDLEFTDELETE
^H  (BS key) CHARDELETE      ^X  not used
^I  (TAB key) tab            ^Y  not used
^J  (LF key) NEXTLINE        ^Z  TEXTRIGHT (Not if ^Z is "suspend")
^K  SCREENUP                 ^[  (ESC key) see below
^L  SCREENDOWN               ^\  undef
^M  (RETURN key) DOCR        ^]  LINEDELETE
^N  CHANGECASE               ^^  undef
^O  not used                 ^_  REDOCOMMAND

All the other codes are printing characters, except delete (character
\?, ASCII 127), which is defined as CHARDELETE.

--- Escape Sequences --------------------------------------------------

Several commands may be given by typing the <ESC> key followed by
another key. These look arbitrary, but the sequences are in fact mostly
those produced by function keys. You can also type them directly
yourself. Note that the upper case letters, e.g. the `H` key in <ESC> H
need the SHIFT key to be pressed.

Check with the ENTER HK command, as described above, before altering the
function of any code sequence.

--- <ESC> Followed by a Character -------------------------------------

^@  not used                        ^P  undef
^A  VEDSCREENUP                     ^Q  not used
^B  undef                           ^R  undef
^C  not used                        ^S  not used
^D  VED_CRINPUT                     ^T  undef
^E  undef                           ^U  undef
^F  undef                           ^V  undef
^G  undef                           ^W  undef
^H  (BS key) VED_XUP                ^X  not used
^I  (TAB key) VEDTABRIGHT           ^Y  not used
^J  (LF key) VED_XDN                ^Z  VED_ENDIM (Not if ^Z is suspend)
^K  undef                           ^[  undef
^L  undef                           ^\  undef
^M  (RETURN key) undef              ^]  undef
^N  undef                           ^^  undef
^O  not used                        ^_  undef

\s  CLEARTAIL                       0   undef
!   WORDLEFTDELETE                  1   CHARUPRIGHTLOTS
"   WORDRIGHTDELETE                 2   CHARRIGHTLOTS
#   SETSTATIC                       3   undef
$   MARKLO                          4   undef
%   MARKHI                          5   undef
&   _M                              6   undef
'   PUSHKEY                         7   undef
(   POPKEY                          8   undef
)   LINEABOVE                       9   undef
*   LINEBELOW                       :   undef
+   PUSHKEY                         ;   undef
,   undef                           <   undef
-   POPKEY                          =   undef
.   undef                           >   undef
/   ved_re_search                   ?   see below

@   undef                           P   DOTDELETE
A   SCREENUP                        Q   CLEARHEAD
B   SCREENDOWN                      R   LINEDELETE
C   TEXTRIGHT                       S   undef
D   SCREENLEFT                      T   undef
E   undef                           U   undef
F   undef                           V   undef
G   undef                           W   undef
H   ENDFILE                         X   undef
I   undef                           Y   undef
J   CHARDOWNRIGHTLOTS               Z   undef
K   CHARDOWNLEFTLOTS                [   TEXTLEFT
L   CHARUPLEFTLOTS                  \   Ved_re_backsearch
M   CHARLEFTLOTS                    ]   SCREENRIGHT
N   undef                           ^   TEXTLEFT
O   SCREENMIDDLE                    _   undef

'   undef                           p   EXCHANGEPOSITION
a   CHARLEFTLOTS                    q   _Q
b   VEDENDFILE                      r   WORDRIGHTDELETE
c   _LCP                            s   CHARRIGHTLOTS
d   undef                           t   TOPFILE
e   undef                           u   unused
f   CHARDOWNLOTS                    v   REFRESH
g   undef                           w   VEDSETWINDOW
h   GETSYSFILE                      x   VEDSWAPFILES
i   CHARUPLOTS                      y   unused
j   undef                           z   Vedtabmode
k   undef                           {   undef
l   wordleftdelete                  |   undef
m   undef                           }   undef
n   NEXTHELP                        ~   undef
o   unused                          \?  undef

--- <ESC> ? Sequences -------------------------------------------------

The function and KeyPad keys are programmed to return sequences of the
form <ESC> ? <code>.  See the key tables (below) for details.

--- Key Tables --------------------------------------------------------

Function Key    Code Produced   Name            Description

LOCAL                                           - not altered -
PRINT MODE                                      - not altered -
RESET key                                       - not altered -
F1              <ESC> P         DOTDELETE       delete character
F2              <ESC> Q         CLEARHEAD               (    / left
F3              <ESC> R         LINEDELETE              (line  current
F4 (graph)      <ESC> \s        CLEARTAIL       delete  (    \ right
SCROLL DOWN     <ESC> !         WORDLEFTDELETE          ( word left
SCROLL UP       <ESC> "         WORDRIGHTDELETE         ( word right
DEL LINE        <ESC> #         SETSTATIC       static mode on/off
INS LINE        <ESC> $         MARKLO                  ( first
DEL CHAR        <ESC> %         MARKHI          range   ( last
INS CHAR        <ESC> &         _M                      ( move
HOME            <ESC> \         PUSHKEY         positions stack (push
SEND LINE       <ESC> (         POPKEY                          (pop
SEND PAGE       <ESC> )         LINEABOVE       insert line ( above
COPY            <ESC> *         LINEBELOW                   ( below
CLEAR SCRN      <ESC> t         TOPFILE         move to top of file
CLEAR FIELD     <ESC> H         ENDFILE         move to end of file
BLANK KEY       <ESC> v         REFRESH         refresh screen

KeyPad          Code Produced   Name            Description

Left Arrow      <ESC> D         SCREENLEFT      move to screen left
Right Arrow     <ESC> C         TEXTRIGHT       move to text right
Down Arrow      <ESC> B         SCREENDOWN      move screen down
Up Arrow        <ESC> A         SCREENUP        move screen up
1               <ESC> ? q       CHARDOWNLEFT    move cursor down & left
2               <ESC> ? r       CHARDOWN        move cursor down
3               <ESC> ? s       CHARDOWNRIGHT   move cursor down & right
4               <ESC> ? t       CHARLEFT        move cursor left
5               <ESC> ? u       CHARMIDDLE      centre cursor
6               <ESC> ? v       CHARRIGHT       move cursor right
7               <ESC> ? w       CHARUPLEFT      move cursor up & left
8               <ESC> ? x       CHARUP          move cursor up
9               <ESC> ? y       CHARUPRIGHT     move cursor up & right
0               <ESC> ? l       WORDLEFT        move word left
.               <ESC> ? n       WORDRIGHT       move word right
,               <ESC> ? p       STATUSSWITCH    switch status
-               <ESC> ? m       REDO            redo last command
ENTER           <ESC> ? M       ENTER           go to command line

Other keys:

CTRL+TAB        <ESC> z         Vedtabmode      switch hard/soft tabs
BLANK KEY       <ESC> ? o       (bottom left) DOWN display status line
BLANK KEY       <ESC> ? z       (bottom left) UP   status line off


--- Key Codes ---------------------------------------------------------

The alternative codes produced by using the SHIFT and/or the CTRL keys
are initially undefined.

Function Key    Alone       With SHIFT  With CTRL   With SHIFT+CTRL

LOCAL                                               <ESC> ? N
PRINT MODE
RESET key
F1              <ESC> P
F2              <ESC> Q
F3              <ESC> R
F4 (graph)      <ESC> \s                <ESC> ? g
SCROLL DOWN     <ESC> !                 <ESC> ? O
SCROLL UP       <ESC> "                 <ESC> ? P
DEL LINE        <ESC> #
INS LINE        <ESC> $
DEL CHAR        <ESC> %
INS CHAR        <ESC> &                 <ESC> ? Q
HOME            <ESC> \     <ESC> ? S   <ESC> ? R   <ESC> ? T
SEND LINE       <ESC> (
SEND PAGE       <ESC> )
COPY            <ESC> *                 <ESC> ? U
CLEAR SCRN      <ESC> t                 <ESC> ? V
CLEAR FIELD     <ESC> H                 <ESC> ? W   <ESC> ? Y
BLANK KEY       <ESC> v                 <ESC> ? X

RETURN          ^M                      <ESC> ? Z
LINE FEED       ^J                      <ESC> ? a
SKIP            <ESC> ? b               <ESC> ? c
ESC             ^[                                  <ESC> ? e
BACK SPACE      ^H                      <ESC> ? f


--- See Also ----------------------------------------------------------

HELP * HK           - finding the function of any given key sequence
HELP * DK           - defining key actions
HELP * VEDMACROS    - defining abbreviations for VED functions
HELP * VEDSETKEY    - procedure for defining keys


--- C.all/help/vedcifer
--- Copyright University of Sussex 1992. All rights reserved. ----------
