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