home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Emulators / Ersatz-2.0 / ked.cmd < prev    next >
Encoding:
Text File  |  1997-07-19  |  3.3 KB  |  104 lines

  1. !+
  2. !
  3. ! Key scripts for cursor keys using KED or EDT under E11.
  4. !
  5. ! Cursor keys are made to appear directionless by using FLAG1 to keep track
  6. ! of the current direction.
  7. !
  8. ! By John Wilson.
  9. !
  10. ! 06/18/97    JMBW    Created.
  11. !
  12. !-
  13. ! Keypad 4 key has usual definition but clears FLAG1
  14. !
  15. DEFINE KEYPRESS KP4 = &
  16.  IF NOT CTRL THEN               ! Ctrl suppresses all keypad keys &
  17.   IF EKB OR NUM THEN            ! keypad is not acting as cursor keys &
  18.    IF APPKEYPAD THEN            ! application keypad mode (used by KED) &
  19.     CLEAR FLAG1 :               ! going forwards &
  20.     IF VT52 THEN &
  21.      CHR$(27)+"?t" &
  22.     ELSE &
  23.      CHR$(27)+"Ot" &
  24.     ENDIF &
  25.    ELSE &
  26.     "4"                         ! numeric keypad mode &
  27.    ENDIF &
  28.   ELSE &
  29.    PRESS LARROW                 ! keypad works as cursor keys (84-key KB) &
  30.   ENDIF &
  31.  ENDIF
  32. !
  33. ! Keypad 5 key has usual definition but sets FLAG1
  34. !
  35. DEFINE KEYPRESS KP5 = &
  36.  IF NOT CTRL THEN               ! Ctrl suppresses all keypad keys &
  37.   IF EKB OR NUM THEN            ! keypad is not acting as cursor keys &
  38.    IF APPKEYPAD THEN            ! application keypad mode (used by KED) &
  39.     SET FLAG1 :                 ! going backwards &
  40.     IF VT52 THEN &
  41.      CHR$(27)+"?u" &
  42.     ELSE &
  43.      CHR$(27)+"Ou" &
  44.     ENDIF &
  45.    ELSE &
  46.     "5"                         ! numeric keypad mode &
  47.    ENDIF &
  48.   ENDIF                         ! no op in cursor key mode (84-key KB) &
  49.  ENDIF
  50. !
  51. ! Other cursor keys now depend on FLAG1
  52. !
  53. DEFINE KEYPRESS INS =           ! insert blank line &
  54.  PRESS NUMLOCK : &
  55.  PRESS KP0
  56. DEFINE KEYPRESS DEL = &
  57.  IF FLAG1 THEN                  ! KED is going backwards &
  58.   PRESS KP4 :                   ! switch forwards temporarily &
  59.   IF VT52 THEN                  ! send code for keypad "," key &
  60.    CHR$(27)+"?l" &
  61.   ELSE &
  62.    CHR$(27)+"Ol" &
  63.   ENDIF : &
  64.   PRESS KP5                     ! switch backwards again &
  65.  ELSE &
  66.   IF VT52 THEN                  ! send code for keypad "," key &
  67.    CHR$(27)+"?l" &
  68.   ELSE &
  69.    CHR$(27)+"Ol" &
  70.   ENDIF &
  71.  ENDIF
  72. DEFINE KEYPRESS HOME =          ! backspace doesn't do it in KED &
  73.  IF FLAG1 THEN                  ! KED is going backwards &
  74.   PRESS KP0                     ! easy, "0" key does it &
  75.  ELSE &
  76.   PRESS KP5 :                   ! switch backwards temporarily &
  77.   PRESS KP0 :                   ! go to begn of line &
  78.   PRESS KP4                     ! switch forwards again &
  79.  ENDIF
  80. DEFINE KEYPRESS END = &
  81.  IF FLAG1 THEN                  ! KED is going backwards &
  82.   PRESS KP4 :                   ! switch forwards temporarily &
  83.   PRESS KP2 :                   ! jump to end of line &
  84.   PRESS KP5                     ! switch backwards again &
  85.  ELSE &
  86.   PRESS KP2                     ! jump to end of line &
  87.  ENDIF
  88. DEFINE KEYPRESS PGUP = &
  89.  IF FLAG1 THEN                  ! KED is going backwards &
  90.   PRESS KP8                     ! up a section &
  91.  ELSE &
  92.   PRESS KP5 :                   ! switch backards temporarily &
  93.   PRESS KP8 :                   ! up a section &
  94.   PRESS KP4                     ! switch forewards again &
  95.  ENDIF
  96. DEFINE KEYPRESS PGDN = &
  97.  IF FLAG1 THEN                  ! KED is going backwards &
  98.   PRESS KP4 :                   ! switch forwards temporarily &
  99.   PRESS KP8 :                   ! down a section &
  100.   PRESS KP5                     ! switch backwards again &
  101.  ELSE &
  102.   PRESS KP8                     ! down a section &
  103.  ENDIF
  104.