home *** CD-ROM | disk | FTP | other *** search
/ Shareware Overload / ShartewareOverload.cdr / progm / tptools.zip / ALLINST.ZIP / ESCSEQ.ASM < prev    next >
Assembly Source File  |  1987-12-21  |  12KB  |  323 lines

  1. ;
  2. ;       ESCSEQ.ASM
  3. ;       Editor Toolbox 4.0
  4. ;       Copyright (c) 1985, 87 by Borland International, Inc.
  5. ;
  6. ;       Text strings for extended scan codes
  7. ;
  8.  
  9. DATA    SEGMENT BYTE PUBLIC
  10.  
  11. DATA    ENDS
  12.  
  13. CODE    SEGMENT BYTE PUBLIC
  14.  
  15.         ASSUME  CS:CODE,DS:DATA
  16.  
  17.         PUBLIC  GetEscapeSequence
  18.  
  19. ;CS-relative data:
  20. ;packed table of key names for IBM extended keystroke sequences
  21. ;compatible with SuperKey Version 1.16 and later
  22. ;
  23.  
  24. Keys  LABEL BYTE
  25.       db   1, "?"                   ;0
  26.       db   6, "AltEsc"              ;1
  27.       db   1, "?"                   ;2
  28.       db   5, "Ctrl@"               ;3
  29.       db   1, "?"                   ;4
  30.       db   1, "?"                   ;5
  31.       db   1, "?"                   ;6
  32.       db   1, "?"                   ;7
  33.       db   1, "?"                   ;8
  34.       db   1, "?"                   ;9
  35.       db   1, "?"                   ;10
  36.       db   1, "?"                   ;11
  37.       db   1, "?"                   ;12
  38.       db   1, "?"                   ;13
  39.       db   6, "AltBks"              ;14
  40.       db   8, "ShiftTab"            ;15
  41.       db   4, "AltQ"                ;16
  42.       db   4, "AltW"                ;17
  43.       db   4, "AltE"                ;18
  44.       db   4, "AltR"                ;19
  45.       db   4, "AltT"                ;20
  46.       db   4, "AltY"                ;21
  47.       db   4, "AltU"                ;22
  48.       db   4, "AltI"                ;23
  49.       db   4, "AltO"                ;24
  50.       db   4, "AltP"                ;25
  51.       db   4, "Alt["                ;26
  52.       db   1, "?"                   ;27
  53.       db   8, "AltEnter"            ;28
  54.       db   1, "?"                   ;29
  55.       db   4, "AltA"                ;30
  56.       db   4, "AltS"                ;31
  57.       db   4, "AltD"                ;32
  58.       db   4, "AltF"                ;33
  59.       db   4, "AltG"                ;34
  60.       db   4, "AltH"                ;35
  61.       db   4, "AltJ"                ;36
  62.       db   4, "AltK"                ;37
  63.       db   4, "AltL"                ;38
  64.       db   4, "Alt;"                ;39
  65.       db   4, "Alt'"                ;40
  66.       db   4, "Alt`"                ;41
  67.       db   1, "?"                   ;42
  68.       db   1, "?"                   ;43
  69.       db   4, "AltZ"                ;44
  70.       db   4, "AltX"                ;45
  71.       db   4, "AltC"                ;46
  72.       db   4, "AltV"                ;47
  73.       db   4, "AltB"                ;48
  74.       db   4, "AltN"                ;49
  75.       db   4, "AltM"                ;50
  76.       db   4, "Alt,"                ;51
  77.       db   4, "Alt."                ;52
  78.       db   1, "?"                   ;53
  79.       db   1, "?"                   ;54
  80.       db   1, "?"                   ;55
  81.       db   1, "?"                   ;56
  82.       db   1, "?"                   ;57
  83.       db   1, "?"                   ;58
  84.       db   2, "F1"                  ;59
  85.       db   2, "F2"                  ;60
  86.       db   2, "F3"                  ;61
  87.       db   2, "F4"                  ;62
  88.       db   2, "F5"                  ;63
  89.       db   2, "F6"                  ;64
  90.       db   2, "F7"                  ;65
  91.       db   2, "F8"                  ;66
  92.       db   2, "F9"                  ;67
  93.       db   3, "F10"                 ;68
  94.       db   1, "?"                   ;69
  95.       db   1, "?"                   ;70
  96.       db   4, "Home"                ;71
  97.       db   2, "Up"                  ;72
  98.       db   4, "PgUp"                ;73
  99.       db   6, "AltMin"              ;74
  100.       db   3, "Lft"                 ;75
  101.       db   3, "Ctr"                 ;76
  102.       db   3, "Rgt"                 ;77
  103.       db   6, "AltPls"              ;78
  104.       db   3, "End"                 ;79
  105.       db   2, "Dn"                  ;80
  106.       db   4, "PgDn"                ;81
  107.       db   3, "Ins"                 ;82
  108.       db   3, "Del"                 ;83
  109.       db   7, "ShiftF1"             ;84
  110.       db   7, "ShiftF2"             ;85
  111.       db   7, "ShiftF3"             ;86
  112.       db   7, "ShiftF4"             ;87
  113.       db   7, "ShiftF5"             ;88
  114.       db   7, "ShiftF6"             ;89
  115.       db   7, "ShiftF7"             ;90
  116.       db   7, "ShiftF8"             ;91
  117.       db   7, "ShiftF9"             ;92
  118.       db   8, "ShiftF10"            ;93
  119.       db   6, "CtrlF1"              ;94
  120.       db   6, "CtrlF2"              ;95
  121.       db   6, "CtrlF3"              ;96
  122.       db   6, "CtrlF4"              ;97
  123.       db   6, "CtrlF5"              ;98
  124.       db   6, "CtrlF6"              ;99
  125.       db   6, "CtrlF7"              ;100
  126.       db   6, "CtrlF8"              ;101
  127.       db   6, "CtrlF9"              ;102
  128.       db   7, "CtrlF10"             ;103
  129.       db   5, "AltF1"               ;104
  130.       db   5, "AltF2"               ;105
  131.       db   5, "AltF3"               ;106
  132.       db   5, "AltF4"               ;107
  133.       db   5, "AltF5"               ;108
  134.       db   5, "AltF6"               ;109
  135.       db   5, "AltF7"               ;110
  136.       db   5, "AltF8"               ;111
  137.       db   5, "AltF9"               ;112
  138.       db   6, "AltF10"              ;113
  139.       db   7, "CtrlPrt"             ;114
  140.       db   7, "CtrlLft"             ;115
  141.       db   7, "CtrlRgt"             ;116
  142.       db   7, "CtrlEnd"             ;117
  143.       db   8, "CtrlPgDn"            ;118
  144.       db   8, "CtrlHome"            ;119
  145.       db   4, "Alt1"                ;120
  146.       db   4, "Alt2"                ;121
  147.       db   4, "Alt3"                ;122
  148.       db   4, "Alt4"                ;123
  149.       db   4, "Alt5"                ;124
  150.       db   4, "Alt6"                ;125
  151.       db   4, "Alt7"                ;126
  152.       db   4, "Alt8"                ;127
  153.       db   4, "Alt9"                ;128
  154.       db   4, "Alt0"                ;129
  155.       db   4, "Alt-"                ;130
  156.       db   4, "Alt="                ;131
  157.       db   8, "CtrlPgUp"            ;132
  158.       db   1, "?"                   ;133
  159.       db   1, "?"                   ;134
  160.       db   1, "?"                   ;135
  161.       db   1, "?"                   ;136
  162.       db   1, "?"                   ;137
  163.       db   1, "?"                   ;138
  164.       db   1, "?"                   ;139
  165.       db   1, "?"                   ;140
  166.       db   6, "CtrlUp"              ;141
  167.       db   7, "CtrlMin"             ;142
  168.       db   7, "CtrlCtr"             ;143
  169.       db   7, "CtrlPls"             ;144
  170.       db   6, "CtrlDn"              ;145
  171.       db   7, "CtrlIns"             ;146
  172.       db   7, "CtrlDel"             ;147
  173.       db   7, "CtrlTab"             ;148
  174.       db   1, "?"                   ;149
  175.       db   1, "?"                   ;150
  176.       db   7, "AltHome"             ;151
  177.       db   5, "AltUp"               ;152
  178.       db   7, "AltPgUp"             ;153
  179.       db   1, "?"                   ;154
  180.       db   6, "AltLft"              ;155
  181.       db   6, "AltCtr"              ;156
  182.       db   6, "AltRgt"              ;157
  183.       db   1, "?"                   ;158
  184.       db   6, "AltEnd"              ;159
  185.       db   5, "AltDn"               ;160
  186.       db   7, "AltPgDn"             ;161
  187.       db   6, "AltIns"              ;162
  188.       db   6, "AltDel"              ;163
  189.       db   1, "?"                   ;164
  190.       db   6, "AltTab"              ;165
  191.       db   1, "?"                   ;166
  192.       db   1, "?"                   ;167
  193.       db   1, "?"                   ;168
  194.       db   1, "?"                   ;169
  195.       db   1, "?"                   ;170
  196.       db   1, "?"                   ;171
  197.       db   1, "?"                   ;172
  198.       db   1, "?"                   ;173
  199.       db   1, "?"                   ;174
  200.       db   1, "?"                   ;175
  201.       db   1, "?"                   ;176
  202.       db   5, "Ctrl="               ;177
  203.       db   5, "Ctrl'"               ;178
  204.       db   5, "Ctrl`"               ;179
  205.       db   5, "Ctrl,"               ;180
  206.       db   5, "Ctrl/"               ;181
  207.       db   1, "?"                   ;182
  208.       db   1, "?"                   ;183
  209.       db   5, "Ctrl0"               ;184
  210.       db   5, "Ctrl1"               ;185
  211.       db   5, "Ctrl;"               ;186
  212.       db   5, "Ctrl3"               ;187
  213.       db   5, "Ctrl4"               ;188
  214.       db   5, "Ctrl5"               ;189
  215.       db   5, "Ctrl."               ;190
  216.       db   5, "Ctrl7"               ;191
  217.       db   5, "Ctrl8"               ;192
  218.       db   5, "Ctrl9"               ;193
  219.       db   1, "?"                   ;194
  220.       db   1, "?"                   ;195
  221.       db   1, "?"                   ;196
  222.       db   1, "?"                   ;197
  223.       db   1, "?"                   ;198
  224.       db   1, "?"                   ;199
  225.       db   1, "?"                   ;200
  226.       db   1, "?"                   ;201
  227.       db   1, "?"                   ;202
  228.       db   1, "?"                   ;203
  229.       db   1, "?"                   ;204
  230.       db   1, "?"                   ;205
  231.       db   1, "?"                   ;206
  232.       db   1, "?"                   ;207
  233.       db   1, "?"                   ;208
  234.       db   1, "?"                   ;209
  235.       db   1, "?"                   ;210
  236.       db   1, "?"                   ;211
  237.       db   1, "?"                   ;212
  238.       db   1, "?"                   ;213
  239.       db   1, "?"                   ;214
  240.       db   1, "?"                   ;215
  241.       db   1, "?"                   ;216
  242.       db   1, "?"                   ;217
  243.       db   1, "?"                   ;218
  244.       db   1, "?"                   ;219
  245.       db   1, "?"                   ;220
  246.       db   1, "?"                   ;221
  247.       db   1, "?"                   ;222
  248.       db   1, "?"                   ;223
  249.       db   1, "?"                   ;224
  250.       db   1, "?"                   ;225
  251.       db   1, "?"                   ;226
  252.       db   1, "?"                   ;227
  253.       db   1, "?"                   ;228
  254.       db   1, "?"                   ;229
  255.       db   1, "?"                   ;230
  256.       db   1, "?"                   ;231
  257.       db   1, "?"                   ;232
  258.       db   1, "?"                   ;233
  259.       db   1, "?"                   ;234
  260.       db   1, "?"                   ;235
  261.       db   1, "?"                   ;236
  262.       db   1, "?"                   ;237
  263.       db   1, "?"                   ;238
  264.       db   1, "?"                   ;239
  265.       db   1, "?"                   ;240
  266.       db   1, "?"                   ;241
  267.       db   1, "?"                   ;242
  268.       db   1, "?"                   ;243
  269.       db   1, "?"                   ;244
  270.       db   1, "?"                   ;245
  271.       db   1, "?"                   ;246
  272.       db   1, "?"                   ;247
  273.       db   1, "?"                   ;248
  274.       db   1, "?"                   ;249
  275.       db   1, "?"                   ;250
  276.       db   1, "?"                   ;251
  277.       db   1, "?"                   ;252
  278.       db   1, "?"                   ;253
  279.       db   1, "?"                   ;254
  280.       db   1, "?"                   ;255
  281.       db   0
  282.  
  283. ;-------------------------------------------------- GetEscapeSequence
  284. ;
  285. ;  function GetEscapeSequence(ch:char):StringPtr;
  286. ;    {-Return a pointer to the text string}
  287.  
  288. GetEscapeSequence PROC  NEAR
  289.  
  290.         MOV     BX,SP                   ;Set up stack frame
  291.         MOV     DX,DS                   ;Save DS
  292.  
  293.         XOR     CX,CX
  294.         MOV     CL,BYTE PTR SS:[BX+2]   ;Get character to seek
  295.  
  296.         LEA     SI,Keys                 ;SI points to Keys
  297.         JCXZ    Done                    ;Character #0? We're done
  298.  
  299.         MOV     AX,CS
  300.         MOV     DS,AX                   ;DS:SI points to Keys
  301.         ASSUME  DS:CODE
  302.  
  303.         CLD                             ;Forward direction
  304.         XOR     AX,AX                   ;Clear top half of length word
  305.  
  306. Next:   LODSB                           ;Length byte into AL
  307.         ADD     SI,AX                   ;Skip over string
  308.         LOOP    Next                    ;Repeat for number of characters
  309.  
  310. Done:   MOV     DS,DX                   ;Restore DS
  311.         ASSUME  DS:DATA
  312.  
  313.         MOV     DX,CS                   ;Pointer Segment is current CS
  314.         MOV     AX,SI                   ;SI points to length byte of string
  315.  
  316.         RET     2                       ;Remove parameter from stack
  317.  
  318. GetEscapeSequence ENDP
  319.  
  320. CODE    ENDS
  321.  
  322.         END
  323.