|
|
1.1 ! root 1: ! 2: Elvis 1.4 TERMCAP Page 10-1 ! 3: ! 4: ! 5: E10. TERMCAPF ! 6: ! 7: Elvis uses fairly standard termcap fields for most things. I ! 8: invented the cursor shape names but other than that there should be ! 9: no surprises. ! 10: ! 11: ! 12: E10.1 Required numeric fieldsF ! 13: ! 14: :co#: number of columns on the screen (characters per line) ! 15: :li#: number of lines on the screen ! 16: ! 17: ! 18: E10.2 Required string fieldsF ! 19: ! 20: :ce=: clear to end-of-line ! 21: :cl=: home the cursor & clear the screen ! 22: :cm=: move the cursor to a given row/column ! 23: :up=: move the cursor up one line ! 24: ! 25: ! 26: E10.3 Boolean fieldsF ! 27: ! 28: :am: auto margins - wrap when a char is written to the last column? ! 29: :pt: physical tabs? ! 30: ! 31: ! 32: E10.4 Optional string fieldsF ! 33: ! 34: :al=: insert a blank row on the screen ! 35: :dl=: delete a row from the screen ! 36: :cd=: clear to end of display ! 37: :ei=: end insert mode ! 38: :ic=: insert a blank character ! 39: :im=: start insert mode ! 40: :dc=: delete a character ! 41: :sr=: scroll reverse (insert a row at the top of the screen) ! 42: :vb=: visible bell ! 43: :ti=: terminal initialization string, to start full-screen mode ! 44: :te=: terminal termination, to end full-screen mode ! 45: :ks=: enables the cursor keypad ! 46: :ke=: disables the cursor keypad ! 47: ! 48: ! 49: E10.5 Optional strings received from the keyboardF ! 50: ! 51: :kd=: sequence sent by the <down arrow> key ! 52: :kl=: sequence sent by the <left arrow> key ! 53: :kr=: sequence sent by the <right arrow> key ! 54: :ku=: sequence sent by the <up arrow> key ! 55: :kP=: sequence sent by the <PgUp> key ! 56: :kN=: sequence sent by the <PgDn> key ! 57: :kh=: sequence sent by the <Home> key ! 58: :kH=: sequence sent by the <End> key ! 59: ! 60: ! 61: ! 62: ! 63: ! 64: ! 65: ! 66: ! 67: ! 68: Elvis 1.4 TERMCAP Page 10-2 ! 69: ! 70: ! 71: Originally, termcap didn't have any names for the <PgUp>, ! 72: <PgDn>, <Home>, and <End> keys. Although the capability names ! 73: shown in the table above are the most common, they are -1not-0 ! 74: universal. SCO Xenix uses :PU=:PD=:HM=:EN=: for those keys. Also, ! 75: if the four arrow keys happen to be part of a 3x3 keypad, then the ! 76: five non-arrow keys may be named :K1=: through :K5=:, so an IBM PC ! 77: keyboard may be described using those names instead. Elvis can any ! 78: of these names. ! 79: ! 80: ! 81: E10.6 Optional fields that describe character attributesF ! 82: ! 83: :so=: :se=: start/end standout mode (We don't care about :sg#:) ! 84: :us=: :ue=: start/end underlined mode ! 85: :md=: :me=: start/end boldface mode ! 86: :as=: :ae=: start/end alternate character set (italics) ! 87: :ug#: visible gap left by :us=:ue=:md=:me=:as=:ae=: ! 88: ! 89: ! 90: E10.7 Optional fields that affect the cursor's shapeF ! 91: ! 92: The :cQ=: string is used by elvis immediately before exiting to ! 93: undo the effects of the other cursor shape strings. If :cQ=: is ! 94: not given, then all other cursor shape strings are ignored. ! 95: ! 96: :cQ=: normal cursor ! 97: :cX=: cursor shape used for reading EX command -- steady underline ! 98: :cV=: cursor shape used for reading VI commands -- steady block ! 99: :cI=: cursor shape used during VI input mode -- blinking underline ! 100: :cR=: cursor shape used during VI replace mode -- blinking block ! 101: ! 102: If the capabilities above aren't given, then Elvis will try to ! 103: use the following values instead. ! 104: ! 105: :ve=: normal cursor, used as :cQ=:cX=:cI=:cR=: ! 106: :vs=: gaudy cursor, used as :cV=: ! 107: ! 108: ! 109: E10.8 An exampleF ! 110: ! 111: Here's the termcap entry I use on my Minix-ST system. Some of ! 112: the fields in it have nothing to do with Elvis. Some can only work ! 113: on my system; I have modified my kernel's screen driver. ! 114: ! 115: ! 116: mx|minix|minixst|ansi:\ ! 117: :is=\E[0~:co#80:li#25:bs:pt:\ ! 118: :cm=\E[%i%d;%dH:up=\E[A:do=^J:nd=\E[C:sr=\EM:\ ! 119: :cd=\E[J:ce=\E[K:cl=\E[H\E[J:\ ! 120: :al=\E[L:dl=\E[M:ic=\E[@:dc=\E[P:im=:ei=:\ ! 121: :so=\E[7m:se=\E[m:us=\E[4m:ue=\E[m:\ ! 122: :md=\E[1m:me=\E[m:as=\E[1;3m:ae=\E[m:\ ! 123: :ku=\E[A:kd=\E[B:kr=\E[C:kl=\E[D:\ ! 124: :k1=\E[1~:k2=\E[2~:k3=\E[3~:k4=\E[4~:k5=\E[5~:\ ! 125: :k6=\E[6~:k7=\E[17~:k8=\E[18~:k9=\E[19~:k0=\E[20~:\ ! 126: :kU=\E[36~:kQ=\E[32~:kH=\E[28~:\ ! 127: :GV=3:GH=D:G1=?:G2=Z:G3=@:G4=Y:GC=E:GL=4:GR=C:GU=A:GD=B:\ ! 128: :cQ=\E[k:cX=\E[2;0k:cV=\E[16;0k:cI=\E[k:cR=\E[16;20k ! 129: ! 130: ! 131: ! 132:
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.