home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 5 Edit / 05-Edit.zip / elvis184.zip / doc / termcap.ms < prev    next >
Text File  |  1994-01-16  |  5KB  |  165 lines

  1. .Go 12 "TERMCAP"
  2. .PP
  3. \*E uses fairly standard termcap fields for most things.
  4. I invented the cursor shape names and some of the function key names,
  5. but other than that there should be few surprises.
  6. .LP
  7. .SH
  8. Required numeric fields
  9. .if n .ul 0
  10. .ID
  11. .ta 12n
  12. :co#:    number of columns on the screen (chars per line)
  13. :li#:    number of lines on the screen
  14. .DE
  15. .PP
  16. On many systems, \*E has other ways to find out how many rows and columns
  17. your screen can show, so these values might not be very relevent.
  18. If these numbers aren't given in your termcap entry,
  19. and \*E can't find the screen size any other way,
  20. then it will default to 80x24.
  21. .LP
  22. .SH
  23. Required string fields
  24. .if n .ul 0
  25. .ID
  26. .ta 12n
  27. :ce=:    clear to end-of-line
  28. :cm=:    move the cursor to a given row/column
  29. :up=:    move the cursor up one line
  30. .DE
  31. .PP
  32. If these fields are missing, then \*E will still run fairly well in "ex" mode,
  33. but "vi" mode requires these capabilities as an absolute minimum.
  34. .LP
  35. .SH
  36. Boolean fields
  37. .if n .ul 0
  38. .ID
  39. .ta 12n
  40. :am:    auto margins - wrap when char is written in last column?
  41. :xn:    brain-damaged auto margins - newline ignored after wrap
  42. :pt:    physical tabs?
  43. .DE
  44. .LP
  45. .SH
  46. Optional string fields
  47. .if n .ul 0
  48. .ID
  49. .ta 12n
  50. :al=:    insert a blank row on the screen
  51. :cl=:    home the cursor & clear the screen
  52. :dl=:    delete a row from the screen
  53. :cd=:    clear to end of display
  54. :ei=:    end insert mode
  55. :ic=:    insert a blank character
  56. :im=:    start insert mode
  57. :dc=:    delete a character
  58. :sr=:    scroll reverse (insert row at top of screen)
  59. :vb=:    visible bell
  60. :ks=:    keypad enable
  61. :ke=:    keypad disable
  62. :ti=:    terminal initialization string, to start full-screen mode
  63. :te=:    terminal termination, to end full-screen mode
  64. .DE
  65. .LP
  66. .SH
  67. Optional strings received from the keyboard
  68. .if n .ul 0
  69. .ID
  70. .ta 12n
  71. :kd=:    sequence sent by the <down arrow> key
  72. :kl=:    sequence sent by the <left arrow> key
  73. :kr=:    sequence sent by the <right arrow> key
  74. :ku=:    sequence sent by the <up arrow> key
  75. :kP=:    sequence sent by the <PgUp> key
  76. :kN=:    sequence sent by the <PgDn> key
  77. :kh=:    sequence sent by the <Home> key
  78. :kH=:    sequence sent by the <End> key
  79. :kI=:    sequence sent by the <Insert> key
  80. .DE
  81. .PP
  82. Originally, termcap didn't have any names for the <PgUp>, <PgDn>, <Home>,
  83. and <End> keys.
  84. Although the capability names shown in the table above are the most common,
  85. they are \fInot\fR universal.
  86. SCO Xenix uses :PU=:PD=:HM=:EN=: for those keys.
  87. Also, if the four arrow keys happen to be part of a 3x3 keypad,
  88. then the five non-arrow keys may be named :K1=: through :K5=:,
  89. so an IBM PC keyboard may be described using those names instead.
  90. \*E can find any of these names.
  91. .LP
  92. .SH
  93. Optional strings sent by function keys
  94. .if n .ul 0
  95. .ID
  96. .ta 20n
  97. :k1=:...:k9=:k0=:    codes sent by <F1> through <F10> keys
  98. :s1=:...:s9=:s0=:    codes sent by <Shift F1> ... <Shift F10>
  99. :c1=:...:c9=:c0=:    codes sent by <Ctrl F1> ... <Ctrl F10>
  100. :a1=:...:a9=:a0=:    codes sent by <Alt F1> ... <Alt F10>
  101. .DE
  102. .PP
  103. Note that :k0=: is used to describe the <F10> key.
  104. Some termcap documents recommend :ka=: or even :k;=: for describing
  105. the <F10> key, but \*E doesn't support that.
  106. .PP
  107. Also, the :s1=:..., :c1=:..., and :a1=:... codes are very non-standard.
  108. The terminfo library doesn't support them.
  109. Consequently, if you're using the terminfo library then you might as well
  110. add -DNO_SHIFT_FKEY to your CFLAGS setting.
  111. .LP
  112. .SH
  113. Optional fields that describe character attributes
  114. .if n .ul 0
  115. .ID
  116. .ta 12n
  117. :so=:se=:    start/end standout mode (We don't care about :sg#:)
  118. :us=:ue=:    start/end underlined mode
  119. :md=:me=:    start/end boldface mode
  120. :as=:ae=:    start/end alternate character set (italics)
  121. :ug#:        visible gap left by :us=:ue=:md=:me=:as=:ae=:
  122. .DE
  123. .LP
  124. .SH
  125. Optional fields that affect the cursor's shape
  126. .PP
  127. The :cQ=: string is used by \*E immediately before exiting to undo
  128. the effects of the other cursor shape strings.
  129. If :cQ=: is not given, then all other cursor shape strings are ignored.
  130. .ID
  131. .ta 12n
  132. :cQ=:    normal cursor
  133. :cX=:    cursor used for reading EX command
  134. :cV=:    cursor used for reading VI commands
  135. :cI=:    cursor used during VI input mode
  136. :cR=:    cursor used during VI replace mode
  137. .DE
  138. .PP
  139. If the capabilities above aren't given, then \*E will try to use the
  140. following values instead.
  141. .ID
  142. .ta 12n
  143. :ve=:    normal cursor, used as :cQ=:cX=:cI=:cR=:
  144. :vs=:    gaudy cursor, used as :cV=:
  145. .DE
  146. .LP
  147. .SH
  148. An example
  149. .PP
  150. Here's the termcap entry I use on my Minix-ST system.
  151. .sp
  152. .LD
  153. .ne 10
  154. mx|minix|minixst|ansi:\e
  155.     :is=\eE[0~:co#80:li#25:bs:pt:\e
  156.     :cm=\eE[%i%d;%dH:up=\eE[A:do=^J:nd=\eE[C:sr=\eEM:\e
  157.     :cd=\eE[J:ce=\eE[K:cl=\eE[H\eE[J:\e
  158.     :al=\eE[L:dl=\eE[M:ic=\eE[@:dc=\eE[P:im=:ei=:\e
  159.     :so=\eE[7m:se=\eE[m:us=\eE[4m:ue=\eE[m:\e
  160.     :md=\eE[1m:me=\eE[m:as=\eE[1;3m:ae=\eE[m:\e
  161.     :ku=\eE[A:kd=\eE[B:kr=\eE[C:kl=\eE[D:\e
  162.     :k1=\eE[1~:k2=\eE[2~:k3=\eE[3~:k4=\eE[4~:k5=\eE[5~:\e
  163.     :k6=\eE[6~:k7=\eE[17~:k8=\eE[18~:k9=\eE[19~:k0=\eE[20~:
  164. .DE
  165.