ansi.sys(CMD) 19 June 1992 ansi.sys(CMD) Name ansi.sys - define functions that change display graphics, control cursor movement, and reassign keys Syntax device=[drive:][path]ansi.sys[/x][/k] Description The ANSI.SYS device driver supports the use of ANSI escape sequences to control your system's screen and keyboard. An ANSI escape sequence is a sequence of ASCII characters, the first two of which are the escape char- acter (1Bh) and the left-bracket character (5Bh). The character or char- acters following the escape and left-bracket characters specify an alphanumeric code that controls a keyboard or display function. Case is significant for all characters you use in ANSI escape sequences. Parameter [drive:][path] Specifies the location of the ANSI.SYS file. Switches /x Remaps extended keys independently on 101-key keyboards. /k Ignores extended keys on 101-key keyboards. Notes Remapping extended keys If you have a keyboard with 101 keys, you may want to use the /x switch to remap certain extended keys. For example, there are two <Home> keys on keyboards with 101 keys. One <Home> key is on the numeric keypad and the other is in the block of cursor-control keys. To MS-DOS, the two <Home> keys are the same, unless you specify the /x switch. Ignoring extended keys Some computers do not reliably detect all the extended-keyboard services of 101-key keyboards. You can use the /k switch to force ANSI.SYS to ignore extended keys. Parameters used in ANSI escape sequences Pn Numeric parameter. Specifies a decimal number. Ps Selective parameter. Specifies a decimal number that you use to select a function. You can specify more than one function by separating the parameters with semicolons. PL Line parameter. Specifies a decimal number that represents one of the lines on your display or on another device. Pc Column parameter. Specifies a decimal number that represents one of the columns on your screen or on another device. ANSI escape sequences for cursor movement, graphics, and keyboard settings In the following list of ANSI escape sequences, the abbreviation <Esc> represents the ASCII escape character 27 (1Bh), which appears at the beginning of each escape sequence. <Esc>[PL;PcH Cursor Position Moves the cursor to the specified position (coordinates). If you do not specify a position, the cur- sor moves to the home position--the upper-left corner of the screen (line 0, column 0). This escape sequence works the same way as the following Cursor Position escape sequence. <Esc>[PL;Pcf Cursor Position Works the same way as the preceding Cursor Position escape sequence. <Esc>[PnA Cursor Up Moves the cursor up by the specified number of lines without changing columns. If the cursor is already on the top line, ANSI.SYS ignores this sequence. <Esc>[PnB Cursor Down Moves the cursor down by the specified number of lines without changing columns. If the cursor is already on the bottom line, ANSI.SYS ignores this sequence. <Esc>[PnC Cursor Forward Moves the cursor forward by the specified number of columns without changing lines. If the cursor is already in the rightmost column, ANSI.SYS ignores this sequence. <Esc>[PnD Cursor Backward Moves the cursor back by the specified num- ber of columns without changing lines. If the cursor is already in the leftmost column, ANSI.SYS ignores this sequence. <Esc>[s Save Cursor Position Saves the current cursor position. You can move the cursor to the saved cursor position by using the Restore Cursor Position sequence. <Esc>[u Restore Cursor Position Returns the cursor to the position stored by the Save Cursor Position sequence. <Esc>[2J Erase Display Clears the screen and moves the cursor to the home position (line 0, column 0). <Esc>[K Erase Line Clears all characters from the cursor position to the end of the line (including the character at the cur- sor position). <Esc>[Ps;...;Psm Set Graphics Mode Calls the graphics functions specified by the following values. These specified functions remain active until the next occurrence of this escape sequence. Text attributes 0 All attributes off 1 Bold on 4 Underscore (on monochrome display adapter only) 5 Blink on 7 Reverse video on 8 Concealed on Foreground colors 30 Black 31 Red 32 Green 33 Yellow 34 Blue 35 Magenta 36 Cyan 37 White Background colors 40 Black 41 Red 42 Green 43 Yellow 44 Blue 45 Magenta 46 Cyan 47 White Parameters 30 through 47 meet the ISO 6429 standard. <Esc>[=Psh Set Mode Changes the screen width or type to the mode specified by one of the following values: 0 40 x 25 monochrome (text) 1 40 x 25 color (text) 2 80 x 25 monochrome (text) 3 80 x 25 color (text) 4 320 x 200 4-color (graphics) 5 320 x 200 monochrome (graphics) 6 640 x 200 monochrome (graphics) 7 Enables line wrapping 13 320 x 200 color (graphics) 14 640 x 200 color (16-color graphics) 15 640 x 350 monochrome (2-color graphics) 16 640 x 350 color (16-color graphics) 17 640 x 480 monochrome (2-color graphics) 18 640 x 480 color (16-color graphics) 19 320 x 200 color (256-color graphics) <Esc>[=Psl Reset Mode Resets the mode by using the same values that Set Mode uses, except for 7, which disables line wrapping. The last character in this escape sequence is a lowercase L. <Esc>[code;string;...p Set Keyboard Strings Redefines a keyboard key to a speci- fied string. The parameters for this escape sequence are defined as follows: + code is one or more of the values listed in the follow- ing table. These values represent keyboard keys and key combinations. When using these values in a command, you must type the semicolons shown in this table in addition to the semicolons required by the escape sequence. The codes in parentheses are not available on some key- boards. ANSI.SYS might not interpret some of the codes in parentheses unless you specify the /x switch in the device command for ANSI.SYS. + string is either the ASCII code for a single character or a string contained in quotation marks. For example, both 65 and ``A'' can be used to represent an uppercase A. _________________________________________________________________________ NOTE Some of the values in the following table are not valid for all computers. Check your computer's documentation for values that are different. _________________________________________________________________________ ASCII Key Codes _________________________________________________________________________ Key Code <Shift>+code <Ctrl>+code <Alt>+code _________________________________________________________________________ <F1> 0;59 0;84 0;94 0;104 <F2> 0;60 0;85 0;95 0;105 <F3> 0;61 0;86 0;96 0;106 <F4> 0;62 0;87 0;97 0;107 <F5> 0;63 0;88 0;98 0;108 <F6> 0;64 0;89 0;99 0;109 <F7> 0;65 0;90 0;100 0;110 <F8> 0;66 0;91 0;101 0;111 <F9> 0;67 0;92 0;102 0;112 <F10> 0;68 0;93 0;103 0;113 <F11> 0;133 0;135 0;137 0;139 <F12> 0;134 0;136 0;138 0;140 <Home> 0;71 55 0;119 --- <Up Arrow> 0;72 56 (0;141) --- <PgUp> 0;73 57 0;132 --- <Left Arrow> 0;75 52 0;115 --- <Right Arrow> 0;77 54 0;116 --- <End> 0;79 49 0;117 --- <Down Arrow> 0;80 50 (0;145) --- <PgDn> 0;81 51 0;118 --- <Ins> 0;82 48 (0;146) --- <Del> 0;83 46 (0;147) --- <Home> (gray key) (224;71) (224;71) (224;119) (224;151) <Up Arrow> (gray key) (224;72) (224;72) (224;141) (224;152) <PgUp> (gray key) (224;73) (224;73) (224;132) (224;153) <Left Arrow> (gray key) (224;75) (224;75) (224;115) (224;155) <Right Arrow> (gray key) (224;77) (224;77) (224;116) (224;157) <End> (gray key) (224;79) (224;79) (224;117) (224;159) <Down Arrow> (gray key) (224;80) (224;80) (224;145) (224;154) <PgDn> (gray key) (224;81) (224;81) (224;118) (224;161) <Ins> (gray key) (224;82) (224;82) (224;146) (224;162) <Del> (gray key) (224;83) (224;83) (224;147) (224;163) <Print Screen> --- --- 0;114 --- <Pause>/<Break> --- --- 0;0 --- <Bksp> 8 8 127 (0) <Enter> 13 --- 10 (0,28) <Tab> 9 0;15 (0;148) (0;165) <Null> 0;3 --- --- --- A 97 65 1 0;30 B 98 66 2 0;48 C 99 66 3 0;46 D 100 68 4 0;32 E 101 69 5 0;18 F 102 70 6 0;33 G 103 71 7 0;34 H 104 72 8 0;35 I 105 73 9 0;23 J 106 74 10 0;36 K 107 75 11 0;37 L 108 76 12 0;38 M 109 77 13 0;50 N 110 78 14 0;49 O 111 79 15 0;24 P 112 80 16 0;25 Q 113 81 17 0;16 R 114 82 18 0;19 S 115 83 19 0;31 T 116 84 20 0;20 U 117 85 21 0;22 V 118 86 22 0;47 W 119 87 23 0;17 X 120 88 24 0;45 Y 121 89 25 0;21 Z 122 90 26 0;44 1 49 33 --- 0;120 2 50 64 0 0;121 3 51 35 --- 0;122 4 52 36 --- 0;123 5 53 37 --- 0;124 6 54 94 30 0;125 7 55 38 --- 0;126 8 56 42 --- 0;126 9 57 40 --- 0;127 0 48 41 --- 0;129 - 45 95 31 0;130 = 61 43 --- 0;131 [ 91 123 27 0;26 ] 93 125 29 0;27 \ 92 124 28 0;43 ; 59 58 --- 0;39 ' 39 34 --- 0;40 , 44 60 --- 0;51 . 46 62 --- 0;52 / 47 63 --- 0;53 ` 96 126 --- (0;41) <Enter> (keypad) 13 --- 10 (0;166) / (keypad) 47 47 (0;142) (0;74) * (keypad) 42 (0;144) (0;78) --- - (keypad) 45 45 (0;149) (0;164) + (keypad) 43 43 (0;150) (0;55) 5 (keypad) (0;76) 53 (0;143) --- Examples To exchange the backslash and question-mark keys by using literal strings, type the following escape sequence: <Esc>[``\'';``?''p<Esc>[``?'';``\''p To exchange the backslash and question-mark keys by using each key's ASCII value, type the following escape sequence: <Esc>[92;63p<Esc>[63;92p To restore the backslash and question-mark keys to their original mean- ings, type the following escape sequence: <Esc>[92;92p<Esc>[63;63p