Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ ansi(CMD) — OpenDesktop 3.0.0

Media Vault

Software Library

Restoration Projects

Artifacts Sought


 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


Typewritten Software • bear@typewritten.org • Edmonds, WA 98026