New Telnet Client
[reactos.git] / rosapps / net / telnet / telnet.cfg
diff --git a/rosapps/net/telnet/telnet.cfg b/rosapps/net/telnet/telnet.cfg
new file mode 100644 (file)
index 0000000..37a2f51
--- /dev/null
@@ -0,0 +1,2616 @@
+; Console Telnet 2.0 keys.cfg
+;
+[comment]
+
+This is a completely rewritten configuration file for Console Telnet 2.0.
+
+Now you can define multiple keymaps, character maps, and combine them in your
+own ways.
+
+Possible definition:
+ [COMMENT]
+ ...
+ [END COMMENT]
+        This is for commenting a big part of text. can be nested.
+        In text these also work:
+           ; - First printable character in line, which is completely
+               ignored.
+           // - Like C++ comment
+
+ [GLOBAL]
+ ...
+ [END GLOBAL]
+        This part is required.  For an explanation look at the body.
+
+ [KEYMAP name]
+ ...
+ [END KEYMAP]
+        'name' - is a keymap name for reference.  In 'name' you can use
+        any char exept spaces, '+', ':' and ']'. '+' and ':' reserved for
+        CONFIG section.
+        Body is a sequence of key definitions:
+
+           <vk_name> [keymodifier[+keymodifier[+...]]] <keytranslation>
+
+        example:
+           VK_F1 RIGHT_ALT+RIGHT_CTRL this_would_print
+
+        vk_name is an ASCII string equivalent to an entry in [GLOBAL].
+
+        Valid keymodifiers are:
+          RIGHT_ALT
+          LEFT_ALT
+          RIGHT_CTRL
+          LEFT_CTRL
+          SHIFT
+          ENHANCED
+          NUMLOCK
+          CAPSLOCK
+          SCROLLLOCK
+          APP_KEY
+          APP2_KEY
+          APP3_KEY
+          APP4_KEY
+
+        Undefined enhanced keys will use the non-enhanced definition.
+
+        APP_KEY, APP2_KEY, and APP3_KEY are application-specific key modes.
+        Other terminal emulations (which have not yet been implemented) may
+        use other definitions for these keys, but for the standard ANSI
+        emulation, these mean:
+                APP_KEY - VT100 application cursor keys
+                APP2_KEY - VT52 cursor keys
+                APP3_KEY - VT102 alternate keypad mode
+                APP4_KEY - VT100 newline mode set
+
+        keytranslation is the string you want printed for the key.
+        The notation ^[ can be used to denote an escape character.
+        Any ASCII value can be represented by
+
+            \nnn where nnn is a 3 digit decimal ASCII value or
+            \xhh where hh is a 2 digit hexadecimal ASCII value.
+
+        Leading zeros may not be omitted.
+        A value of \000(\x00) will not be transmitted.
+       Rather, if you put \000 you undefine a key.  If you must send a NULL character,
+       please use \TN_NULL\.
+
+       A word on special sequences:
+       Any sequence of the form: \TN_...\ is a special sequence, which will perform a
+       special function for telnet.  You may substitute one of these for keytranslation
+       for any key.  Some of the special sequences that telnet recognizes:
+
+               \TN_ESCAPE              Escape into the telnet client
+               \TN_SCROLLBACK          Go into the scrollback buffer
+               \TN_DIAL                Start a new telnet session
+               \TN_PASTE               Paste the contents of the clipboard to the server
+               \TN_NULL                Send a null sequence to the server
+               \TN_CR                  Send \rNULL to the server
+               \TN_CRLF                Send \r\n to the server
+
+        note: In order to have both left and right alt have the same
+        action, you must create a separate def for left and right.
+
+ [CHARMAP name]
+ ...
+ [END CHARMAP]
+        'name' - is a charmap name for reference.  Requirements are the same
+        as for keymap name.
+        body is a sequence of char conversion definition:
+
+           <host_char> <console_char>
+
+        where host_char is a char received from host, and console_char
+        is a char, which would be displayed on console.
+
+        The main purpose of it is a conversion between differents code
+        pages, for example, on former USSR part of world most unix's hosts
+        uses 'koi8' code page, and on W95 machines - 866 code page.
+
+        Any ASCII value can be represented by
+
+            \nnn where nnn is a 3 digit decimal ASCII value or
+            \xhh where hh is a 2 digit hexadecimal ASCII value.
+
+        Leading zeros may be omitted.
+        A value of \000(\x00) will not be accepted.
+
+        Look for example at [charmap koi8-cp866].
+
+ [CONFIG name]
+ ...
+ [END CONFIG]
+        'name' - is a configuration name for reference.  Requirements are
+        the same as for keymap name.
+
+        You must define one with name 'default', which will be used as
+        default.
+
+        In the body of this section you can combine keymaps and set
+        the charmap.  The format for this is:
+
+           KEYMAP name_list [: <vk_name> [keymodifier[+keymodifier[+...]]] ]
+
+             where
+                  name_list:
+                     keymap_name
+                     keymap_name '+' name_list
+
+                  keymap_name is a name of [KEYMAP]
+
+             You can specify multiple keymaps, for first (the default)
+             you can not define ': <vk_name> ...' part, but for the rest
+             (secondary) you must!
+             The ': <vk_name> ...' part defines a key for switch to this
+             keymap.
+
+             Assigning a switching key to the first (default) keymap will be
+             ignored, but you can switch to by pressing a second time the
+             switch key for the current keymap.
+
+             If a key is not found in a switched keymap, a program will
+             look for it in the default keymap. So, you only need to redefine
+             needed keys in secondary keymaps.
+
+           CHARMAP name
+
+             define which charmap is to use.
+
+           examples:
+              [config default]
+                 keymap default
+              [end config]
+
+              [config linux]
+                 keymap default + linux
+              [end config]
+
+              [config default_koi8]
+                 keymap default
+                 keymap koi8u + koi8r : VK_/ RIGHT_ALT // russian keyboard
+                 keymap koi8u         : VK_. RIGHT_ALT // ukranian
+
+                 charmap koi8-cp866
+              [end config]
+
+              [config linux_koi8]
+                 keymap default + linux
+                 keymap koi8u + koi8r : VK_/ RIGHT_ALT // russian keyboard
+                 keymap koi8u         : VK_. RIGHT_ALT // ukranian
+
+                 charmap koi8-cp866
+              [end config]
+
+            For switching to russian keyboard just press RIGHT_ALT and '/'.
+            To switch back press it again.
+
+[end comment]
+
+[GLOBAL]
+; DO NOT MODIFY THE GLOBALS UNLESS YOU KNOW WHAT YOU ARE DOING.
+; The globals are required for the key translation to work.
+; do not place keymap before globals
+
+VK_LBUTTON    01    Left mouse button
+VK_RBUTTON    02    Right mouse button
+VK_CANCEL     03    Control-break processing
+VK_MBUTTON    04    Middle mouse button (three-button mouse)
+;--         05-07   Undefined
+VK_BACK       08    BACKSPACE key
+VK_TAB        09    TAB key
+;--         10-11   Undefined
+VK_CLEAR      12    CLEAR key
+VK_RETURN     13    ENTER key
+;--         14-15   Undefined
+;VK_SHIFT     16    SHIFT key
+;VK_CONTROL   17    CTRL key
+;VK_MENU      18    ALT key
+
+VK_PAUSE      19    PAUSE key
+;VK_CAPITAL   20    CAPS LOCK key
+;--         21-25   Reserved for Kanji systems
+;--           26    Undefined
+VK_ESCAPE     27    ESC key
+;--         28-31   Reserved for Kanji systems
+VK_SPACE      32    SPACEBAR
+VK_PGUP       33    PAGE UP key
+VK_PGDN       34    PAGE DOWN key
+VK_END        35    END key
+VK_HOME       36    HOME key
+VK_LEFT       37    LEFT ARROW key
+VK_UP         38    UP ARROW key
+VK_RIGHT      39    RIGHT ARROW key
+VK_DOWN       40    DOWN ARROW key
+VK_SELECT     41    SELECT key
+;--           42    Original equipment manufacturer (OEM) specific
+VK_EXECUTE    43    EXECUTE key
+VK_SNAPSHOT   44    PRINT SCREEN key for Windows 3.0 and later
+VK_INSERT     45    INS key
+VK_DELETE     46    DEL key
+VK_HELP       47    HELP key
+VK_0          48    0 key
+VK_1          49    1 key
+VK_2          50    2 key
+VK_3          51    3 key
+VK_4          52    4 key
+VK_5          53    5 key
+VK_6          54    6 key
+VK_7          55    7 key
+VK_8          56    8 key
+VK_9          57    9 key
+;--         58-64   Undefined
+VK_A          65    A key
+VK_B          66    B key
+VK_C          67    C key
+VK_D          68    D key
+VK_E          69    E key
+VK_F          70    F key
+VK_G          71    G key
+VK_H          72    H key
+VK_I          73    I key
+VK_J          74    J key
+VK_K          75    K key
+VK_L          76    L key
+VK_M          77    M key
+VK_N          78    N key
+VK_O          79    O key
+VK_P          80    P key
+VK_Q          81    Q key
+VK_R          82    R key
+VK_S          83    S key
+VK_T          84    T key
+VK_U          85    U key
+VK_V          86    V key
+VK_W          87    W key
+VK_X          88    X key
+VK_Y          89    Y key
+VK_Z          90    Z key
+;--          91-95  Undefined
+VK_NUMPAD0    96    Numeric keypad 0 key
+VK_NUMPAD1    97    Numeric keypad 1 key
+VK_NUMPAD2    98    Numeric keypad 2 key
+VK_NUMPAD3    99    Numeric keypad 3 key
+VK_NUMPAD4    100   Numeric keypad 4 key
+VK_NUMPAD5    101   Numeric keypad 5 key
+VK_NUMPAD6    102   Numeric keypad 6 key
+VK_NUMPAD7    103   Numeric keypad 7 key
+VK_NUMPAD8    104   Numeric keypad 8 key
+VK_NUMPAD9    105   Numeric keypad 9 key
+VK_MULTIPLY   106   Multiply key
+VK_ADD        107   Add key
+VK_SEPARATOR  108   Separator key
+VK_SUBTRACT   109   Subtract key
+VK_DECIMAL    110   Decimal key
+VK_DIVIDE     111   Divide key
+VK_F1         112   F1 key
+VK_F2         113   F2 key
+VK_F3         114   F3 key
+VK_F4         115   F4 key
+VK_F5         116   F5 key
+VK_F6         117   F6 key
+VK_F7         118   F7 key
+VK_F8         119   F8 key
+VK_F9         120   F9 key
+VK_F10        121   F10 key
+VK_F11        122   F11 key
+VK_F12        123   F12 key
+VK_F13        124   F13 key
+VK_F14        125   F14 key
+VK_F15        126   F15 key
+VK_F16        127   F16 key
+VK_F17        128   F17 key
+VK_F18        129   F18 key
+VK_F19        130   F19 key
+VK_F20        131   F20 key
+VK_F21        132   F21 key
+VK_F22        133   F22 key
+VK_F23        134   F23 key
+VK_F24        135   F24 key
+;--         136-143 Unassigned
+VK_NUMLOCK    144   NUM LOCK key
+VK_SCROLL     145   SCROLL LOCK key
+;--         146-185 Unassigned
+
+;
+;
+;  John Ioannou (roryt@hol.gr)
+;     Athens 30/03/97 10:42pm GMT-2
+;  Correction for Win95
+;
+; This keys are used (at least in my keyboard -737/437 cp)
+; for some common keys (equal, slash, backslash etc).
+; Normally we don't want to define them, but
+; there is a bug with win95 with them :
+; with CAPS LOCK on they produce the SHIFTED character
+; (minus gives _, = gives + etc).
+;
+;
+;--         186-192 OEM specific
+VK_;          186   ;
+VK_=          187   EQUAL
+VK_,          188   ,
+VK_-          189   MINUS
+VK_.          190   FULLSTOP
+VK_/          191   SLASH
+VK_`          192   `
+;--         193-218 Unassigned
+;--         219-228 OEM specific
+VK_[          219   [
+VK_\          220   BACKSLASH
+VK_]          221   ]
+VK_'          222   '
+;--          229    Unassigned
+;--          230    OEM specific
+;--         231-232 Unassigned
+;--         233-245 OEM specific
+;--         246-254 Unassigned
+
+[END GLOBAL]
+
+[keymap ANSI]
+;
+;  John Ioannou (roryt@hol.gr)
+;     Athens 30/03/97 10:42pm GMT-2
+;
+;        these are full (SCO and not only) ANSI
+;        also they deal with the win95 bug and
+;        give support for the Midnight Commander
+;
+;
+;  function keys
+;
+VK_F1                                  ^[[M
+VK_F2                                  ^[[N
+VK_F3                                  ^[[O
+VK_F4                                  ^[[P
+VK_F5                                  ^[[Q
+VK_F6                                  ^[[R
+VK_F7                                  ^[[S
+VK_F8                                  ^[[T
+VK_F9                                  ^[[U
+VK_F10                                 ^[[V
+VK_F11                                 ^[[W
+VK_F12                                 ^[[X
+VK_F1            SHIFT                 ^[[Y
+VK_F2            SHIFT                 ^[[Z
+VK_F3            SHIFT                 ^[[a
+VK_F4            SHIFT                 ^[[b
+VK_F5            SHIFT                 ^[[c
+VK_F6            SHIFT                 ^[[d
+VK_F7            SHIFT                 ^[[e
+VK_F8            SHIFT                 ^[[f
+VK_F9            SHIFT                 ^[[g
+VK_F10           SHIFT                 ^[[h
+VK_F11           SHIFT                 ^[[i
+VK_F12           SHIFT                 ^[[j
+VK_F1            RIGHT_CTRL            ^[[k
+VK_F2            RIGHT_CTRL            ^[[l
+VK_F3            RIGHT_CTRL            ^[[m
+VK_F4            RIGHT_CTRL            ^[[n
+VK_F5            RIGHT_CTRL            ^[[o
+VK_F6            RIGHT_CTRL            ^[[p
+VK_F7            RIGHT_CTRL            ^[[q
+VK_F8            RIGHT_CTRL            ^[[r
+VK_F9            RIGHT_CTRL            ^[[s
+VK_F10           RIGHT_CTRL            ^[[t
+VK_F11           RIGHT_CTRL            ^[[y
+VK_F12           RIGHT_CTRL            ^[[v
+VK_F1            LEFT_CTRL             ^[[k
+VK_F2            LEFT_CTRL             ^[[l
+VK_F3            LEFT_CTRL             ^[[m
+VK_F4            LEFT_CTRL             ^[[n
+VK_F5            LEFT_CTRL             ^[[o
+VK_F6            LEFT_CTRL             ^[[p
+VK_F7            LEFT_CTRL             ^[[q
+VK_F8            LEFT_CTRL             ^[[r
+VK_F9            LEFT_CTRL             ^[[s
+VK_F10           LEFT_CTRL             ^[[t
+VK_F11           LEFT_CTRL             ^[[y
+VK_F12           LEFT_CTRL             ^[[v
+;
+;  misc fuctions
+;
+; FIX ME!!!  Some people have reported that these keys don't work.
+VK_SCROLL                              \017
+VK_PAUSE                               \019
+VK_INSERT                              ^[[L
+VK_DELETE        ENHANCED              \127
+VK_HOME                                ^[[H
+VK_PGUP                                ^[[I
+VK_PGDN                                ^[[G
+VK_END                                 ^[[F
+VK_INSERT        SHIFT                 ^[[L
+VK_DELETE        SHIFT+ENHANCED        \127
+VK_HOME          SHIFT                 ^[[H
+VK_PGUP          SHIFT                 ^[[I
+VK_PGDN          SHIFT                 ^[[G
+VK_END           SHIFT                 ^[[F
+;
+; arrows
+;
+VK_LEFT                                ^[[D
+VK_UP                                  ^[[A
+VK_RIGHT                               ^[[C
+VK_DOWN                                ^[[B
+VK_LEFT          SHIFT                 ^[[D
+VK_UP            SHIFT                 ^[[A
+VK_RIGHT         SHIFT                 ^[[C
+VK_DOWN          SHIFT                 ^[[B
+;
+; just in case !!!
+;
+VK_ESCAPE        SHIFT                 \027
+VK_TAB                                 \009
+VK_TAB           SHIFT                 ^[[Z^[[Z
+;
+;---------------------------------------
+;      Athens  30/03/97 10:55pm GMT+2
+;  Correction for Win95
+;
+VK_6             SHIFT                 \094
+VK_`                                   `
+VK_`             SHIFT                 ~
+VK_0             CAPSLOCK              0
+VK_1             CAPSLOCK              1
+VK_2             CAPSLOCK              2
+VK_3             CAPSLOCK              3
+VK_4             CAPSLOCK              4
+VK_5             CAPSLOCK              5
+VK_6             CAPSLOCK              6
+VK_7             CAPSLOCK              7
+VK_8             CAPSLOCK              8
+VK_9             CAPSLOCK              9
+VK_ESCAPE        CAPSLOCK              \027
+VK_`             CAPSLOCK              `
+VK_=             CAPSLOCK              =
+VK_-             CAPSLOCK              -
+VK_\             CAPSLOCK              \
+VK_[             CAPSLOCK              [
+VK_]             CAPSLOCK              ]
+VK_;             CAPSLOCK              ;
+VK_'             CAPSLOCK              '
+VK_,             CAPSLOCK              ,
+VK_.             CAPSLOCK              .
+VK_/             CAPSLOCK              /
+VK_0             CAPSLOCK+SHIFT        )
+VK_1             CAPSLOCK+SHIFT        !
+VK_2             CAPSLOCK+SHIFT        @
+VK_3             CAPSLOCK+SHIFT        #
+VK_4             CAPSLOCK+SHIFT        $
+VK_5             CAPSLOCK+SHIFT        %
+VK_6             CAPSLOCK+SHIFT        ^
+VK_7             CAPSLOCK+SHIFT        &
+VK_8             CAPSLOCK+SHIFT        *
+VK_9             CAPSLOCK+SHIFT        (
+VK_ESCAPE        CAPSLOCK+SHIFT        \027
+VK_`             CAPSLOCK+SHIFT        ~
+VK_=             CAPSLOCK+SHIFT        +
+VK_-             CAPSLOCK+SHIFT        _
+VK_\             CAPSLOCK+SHIFT        |
+VK_[             CAPSLOCK+SHIFT        {
+VK_]             CAPSLOCK+SHIFT        }
+VK_;             CAPSLOCK+SHIFT        :
+VK_'             CAPSLOCK+SHIFT        "
+VK_,             CAPSLOCK+SHIFT        <
+VK_.             CAPSLOCK+SHIFT        >
+VK_/             CAPSLOCK+SHIFT        ?
+;
+;
+;---------------------------------------
+;
+; These are for use with Midnight Commander
+; they map Meta key to ALT (Like Linux console, nice isn't it ? )
+;
+VK_0             RIGHT_ALT             ^[0
+VK_1             RIGHT_ALT             ^[1
+VK_2             RIGHT_ALT             ^[2
+VK_3             RIGHT_ALT             ^[3
+VK_4             RIGHT_ALT             ^[4
+VK_5             RIGHT_ALT             ^[5
+VK_6             RIGHT_ALT             ^[6
+VK_7             RIGHT_ALT             ^[7
+VK_8             RIGHT_ALT             ^[8
+VK_9             RIGHT_ALT             ^[9
+VK_A             RIGHT_ALT             ^[A
+VK_B             RIGHT_ALT             ^[B
+VK_C             RIGHT_ALT             ^[C
+VK_D             RIGHT_ALT             ^[D
+VK_E             RIGHT_ALT             ^[E
+VK_F             RIGHT_ALT             ^[F
+VK_G             RIGHT_ALT             ^[G
+VK_H             RIGHT_ALT             ^[H
+VK_I             RIGHT_ALT             ^[I
+VK_J             RIGHT_ALT             ^[J
+VK_K             RIGHT_ALT             ^[K
+VK_L             RIGHT_ALT             ^[L
+VK_M             RIGHT_ALT             ^[M
+VK_N             RIGHT_ALT             ^[N
+VK_O             RIGHT_ALT             ^[O
+VK_P             RIGHT_ALT             ^[P
+VK_Q             RIGHT_ALT             ^[Q
+VK_R             RIGHT_ALT             ^[R
+VK_S             RIGHT_ALT             ^[S
+VK_T             RIGHT_ALT             ^[T
+VK_U             RIGHT_ALT             ^[U
+VK_V             RIGHT_ALT             ^[V
+VK_W             RIGHT_ALT             ^[W
+VK_X             RIGHT_ALT             ^[X
+VK_Y             RIGHT_ALT             ^[Y
+VK_Z             RIGHT_ALT             ^[Z
+VK_0             LEFT_ALT              ^[0
+VK_1             LEFT_ALT              ^[1
+VK_2             LEFT_ALT              ^[2
+VK_3             LEFT_ALT              ^[3
+VK_4             LEFT_ALT              ^[4
+VK_5             LEFT_ALT              ^[5
+VK_6             LEFT_ALT              ^[6
+VK_7             LEFT_ALT              ^[7
+VK_8             LEFT_ALT              ^[8
+VK_9             LEFT_ALT              ^[9
+VK_A             LEFT_ALT              ^[a
+VK_B             LEFT_ALT              ^[b
+VK_C             LEFT_ALT              ^[c
+VK_D             LEFT_ALT              ^[d
+VK_E             LEFT_ALT              ^[e
+VK_F             LEFT_ALT              ^[f
+VK_G             LEFT_ALT              ^[g
+VK_H             LEFT_ALT              ^[h
+VK_I             LEFT_ALT              ^[i
+VK_J             LEFT_ALT              ^[j
+VK_K             LEFT_ALT              ^[k
+VK_L             LEFT_ALT              ^[l
+VK_M             LEFT_ALT              ^[m
+VK_N             LEFT_ALT              ^[n
+VK_O             LEFT_ALT              ^[o
+VK_P             LEFT_ALT              ^[p
+VK_Q             LEFT_ALT              ^[q
+VK_R             LEFT_ALT              ^[r
+VK_S             LEFT_ALT              ^[s
+VK_T             LEFT_ALT              ^[t
+VK_U             LEFT_ALT              ^[u
+VK_V             LEFT_ALT              ^[v
+VK_W             LEFT_ALT              ^[w
+VK_X             LEFT_ALT              ^[x
+VK_Y             LEFT_ALT              ^[y
+VK_Z             LEFT_ALT              ^[z
+VK_RETURN        RIGHT_CTRL            \TN_CR
+VK_RETURN        LEFT_CTRL             \TN_CR
+; VK_RETURN now sends CR except in newline mode (Paul Brannan 12/9/98)
+VK_RETURN                              \TN_CR
+VK_RETURN        APP4_KEY              \TN_CRLF
+VK_RETURN        ENHANCED              \TN_CR
+; This is for application cursor keys (Paul Brannan 5/27/98)
+VK_LEFT       APP_KEY                  ^[OD
+VK_UP         APP_KEY                  ^[OA
+VK_RIGHT      APP_KEY                  ^[OC
+VK_DOWN       APP_KEY                  ^[OB
+VK_LEFT       APP_KEY+SHIFT            ^[OD
+VK_UP         APP_KEY+SHIFT            ^[OA
+VK_RIGHT      APP_KEY+SHIFT            ^[OC
+VK_DOWN       APP_KEY+SHIFT            ^[OB
+; APP2_KEY is for VT52 support (Paul Brannan 6/28/98)
+VK_LEFT       APP2_KEY                 ^[D
+VK_UP         APP2_KEY                 ^[A
+VK_RIGHT      APP2_KEY                 ^[C
+VK_DOWN       APP2_KEY                 ^[B
+VK_LEFT       APP2_KEY+SHIFT           ^[D
+VK_UP         APP2_KEY+SHIFT           ^[A
+VK_RIGHT      APP2_KEY+SHIFT           ^[C
+VK_DOWN       APP2_KEY+SHIFT           ^[B
+VK_F1         APP2_KEY                 ^[P
+VK_F2         APP2_KEY                 ^[Q
+VK_F3         APP2_KEY                 ^[R
+VK_F4         APP2_KEY                 ^[S
+VK_F5         APP2_KEY                 ^[?w
+VK_F6         APP2_KEY                 ^[?x
+VK_F7         APP2_KEY                 ^[?y
+VK_F8         APP2_KEY                 ^[?m
+VK_F9         APP2_KEY                 ^[?t
+VK_F10        APP2_KEY                 ^[?u
+VK_F1         APP2_KEY+SHIFT           ^[?v
+VK_F2         APP2_KEY+SHIFT           ^[?l
+VK_F3         APP2_KEY+SHIFT           ^[?q
+VK_F4         APP2_KEY+SHIFT           ^[?r
+VK_F5         APP2_KEY+SHIFT           ^[?s
+VK_F6         APP2_KEY+SHIFT           ^[?M
+VK_F7         APP2_KEY+SHIFT           ^[?p
+VK_F8         APP2_KEY+SHIFT           ^[?n
+
+; Fix for the numeric decimal key (Paul Brannan 9/23/98)
+VK_DELETE                              \127
+VK_DELETE     NUMLOCK                  .
+VK_DELETE     NUMLOCK+SHIFT            \127
+
+; VT100 Application keypad mode (Paul Brannan 12/8/98)
+VK_NUMPAD0      APP3_KEY                ^[Op
+VK_NUMPAD1      APP3_KEY                ^[Oq
+VK_NUMPAD2      APP3_KEY                ^[Or
+VK_NUMPAD3      APP3_KEY                ^[Os
+VK_NUMPAD4      APP3_KEY                ^[Ot
+VK_NUMPAD5      APP3_KEY                ^[Ou
+VK_NUMPAD6      APP3_KEY                ^[Ov
+VK_NUMPAD7      APP3_KEY                ^[Ow
+VK_NUMPAD8      APP3_KEY                ^[Ox
+VK_NUMPAD9      APP3_KEY                ^[Oy
+VK_ADD          APP3_KEY                ^[Ol
+VK_SUBTRACT     APP3_KEY                ^[Om
+VK_DELETE       APP3_KEY                ^[On
+VK_RETURN       ENHANCED+APP3_KEY       ^[OM
+
+; VT52 Application keypad mode (Paul Brannan 12/8/98)
+VK_NUMPAD0      APP2_KEY+APP3_KEY       ^[?p
+VK_NUMPAD1      APP2_KEY+APP3_KEY       ^[?q
+VK_NUMPAD2      APP2_KEY+APP3_KEY       ^[?r
+VK_NUMPAD3      APP2_KEY+APP3_KEY       ^[?s
+VK_NUMPAD4      APP2_KEY+APP3_KEY       ^[?t
+VK_NUMPAD5      APP2_KEY+APP3_KEY       ^[?u
+VK_NUMPAD6      APP2_KEY+APP3_KEY       ^[?v
+VK_NUMPAD7      APP2_KEY+APP3_KEY       ^[?w
+VK_NUMPAD8      APP2_KEY+APP3_KEY       ^[?x
+VK_NUMPAD9      APP2_KEY+APP3_KEY       ^[?y
+VK_ADD          APP2_KEY+APP3_KEY       ^[?l
+VK_SUBTRACT     APP2_KEY+APP3_KEY       ^[?m
+VK_DELETE       APP2_KEY+APP3_KEY       ^[?n
+VK_RETURN    ENHANCED+APP2_KEY+APP3_KEY ^[?M
+
+; Extra control characters (Paul Brannan 12/10/98)
+VK_2            LEFT_CTRL               \x00\x00
+VK_2            RIGHT_CTRL              \x00\x00
+VK_6            LEFT_CTRL               \x1e
+VK_6            RIGHT_CTRL              \x1e
+VK_-            LEFT_CTRL               \x1f
+VK_-            RIGHT_CTRL              \x1f
+
+; A way to send the null Character (Paul Brannan 3/29/00)
+VK_SPACE       LEFT_CTRL               \TN_NULL
+VK_SPACE       RIGHT_CTRL              \TN_NULL
+
+[END keymap] // ansi
+
+[keymap LINUX]
+;
+;
+;  John Ioannou (roryt@hol.gr)
+;     Athens 12 April 1997
+;
+;      Linux keys
+;
+;  Andrew Smilianets (smile@head.aval.kiev.ua)
+;     Kiev 23 December 1997
+;
+;      duplicated with default stripped, so, to use it, declare
+;           keymap default+linux
+
+;
+;  function keys
+;
+VK_F1                                  ^[[[A
+VK_F2                                  ^[[[B
+VK_F3                                  ^[[[C
+VK_F4                                  ^[[[D
+VK_F5                                  ^[[[E
+VK_F6                                  ^[[17~
+VK_F7                                  ^[[18~
+VK_F8                                  ^[[19~
+VK_F9                                  ^[[20~
+VK_F10                                 ^[[21~
+VK_F11                                 ^[[23~
+VK_F12                                 ^[[24~
+VK_F1            SHIFT                 ^[[23~
+VK_F2            SHIFT                 ^[[24~
+VK_F3            SHIFT                 ^[[25~
+VK_F4            SHIFT                 ^[[26~
+VK_F5            SHIFT                 ^[[28~
+VK_F6            SHIFT                 ^[[29~
+VK_F7            SHIFT                 ^[[31~
+VK_F8            SHIFT                 ^[[32~
+VK_F9            SHIFT                 ^[[33~
+VK_F10           SHIFT                 ^[[34~
+VK_F11           SHIFT                 ^[[23~
+VK_F12           SHIFT                 ^[[24~
+VK_F1            RIGHT_CTRL            ^[[[A
+VK_F2            RIGHT_CTRL            ^[[[B
+VK_F3            RIGHT_CTRL            ^[[[C
+VK_F4            RIGHT_CTRL            ^[[[D
+VK_F5            RIGHT_CTRL            ^[[[E
+VK_F6            RIGHT_CTRL            ^[[17~
+VK_F7            RIGHT_CTRL            ^[[18~
+VK_F8            RIGHT_CTRL            ^[[19~
+VK_F9            RIGHT_CTRL            ^[[20~
+VK_F10           RIGHT_CTRL            ^[[21~
+VK_F11           RIGHT_CTRL            ^[[23~
+VK_F12           RIGHT_CTRL            ^[[24~
+VK_F1            LEFT_CTRL             ^[[[A
+VK_F2            LEFT_CTRL             ^[[[B
+VK_F3            LEFT_CTRL             ^[[[C
+VK_F4            LEFT_CTRL             ^[[[D
+VK_F5            LEFT_CTRL             ^[[[E
+VK_F6            LEFT_CTRL             ^[[17~
+VK_F7            LEFT_CTRL             ^[[18~
+VK_F8            LEFT_CTRL             ^[[19~
+VK_F9            LEFT_CTRL             ^[[20~
+VK_F10           LEFT_CTRL             ^[[21~
+VK_F11           LEFT_CTRL             ^[[23~
+VK_F12           LEFT_CTRL             ^[[24~
+;
+;  misc fuctions
+;
+VK_PAUSE                               ^[[P
+VK_INSERT                              ^[[2~
+VK_DELETE        ENHANCED              ^[[3~
+VK_HOME                                ^[[1~
+VK_PGUP                                ^[[5~
+VK_PGDN                                ^[[6~
+VK_END                                 ^[[4~
+VK_INSERT        SHIFT                 ^[[2~
+VK_DELETE        SHIFT+ENHANCED        ^[[3~
+VK_HOME          SHIFT                 ^[[1~
+VK_PGUP          SHIFT                 ^[[5~
+VK_PGDN          SHIFT                 ^[[6~
+VK_END           SHIFT                 ^[[4~
+VK_INSERT        LEFT_CTRL             ^[[2~
+VK_DELETE        LEFT_CTRL             ^[[3~
+VK_HOME          LEFT_CTRL             ^[[1~
+VK_PGUP          LEFT_CTRL             ^[[5~
+VK_PGDN          LEFT_CTRL             ^[[6~
+VK_END           LEFT_CTRL             ^[[4~
+VK_INSERT        RIGHT_CTRL            ^[[2~
+VK_DELETE        RIGHT_CTRL            ^[[3~
+VK_HOME          RIGHT_CTRL            ^[[1~
+VK_PGUP          RIGHT_CTRL            ^[[5~
+VK_PGDN          RIGHT_CTRL            ^[[6~
+VK_END           RIGHT_CTRL            ^[[4~
+;
+; arrows
+;
+VK_UP            RIGHT_CTRL            ^[[A
+VK_DOWN          RIGHT_CTRL            ^[[B
+VK_RIGHT         RIGHT_CTRL            ^[[C
+VK_LEFT          RIGHT_CTRL            ^[[D
+VK_UP            LEFT_CTRL             ^[[A
+VK_DOWN          LEFT_CTRL             ^[[B
+VK_RIGHT         LEFT_CTRL             ^[[C
+VK_LEFT          LEFT_CTRL             ^[[D
+VK_NUMPAD5                             ^[[G
+
+[END keymap] // linux
+
+[keymap vt100]
+; These were wrong, according to the docs I have.  They don't work with
+; Midnight Commander on my machine.  I'm not sure if
+; this is correct or not.  I've also changed F1 - F4 so that they
+; send PF1 - PF4, and F5 - F10 so they send VT102 application mode
+; DEC keypad sequences.  I changed SF1 - SF10 so they akso send DEC keypad
+; sequences, and CF6 - CF12 so they send VT320 keypad sequences.
+; (Paul Brannan 6/28/98)
+; 
+; The numpad keys seem to be wrong, too.  This has been fixed.
+; (Paul Brannan 12/8/98)
+VK_F1                                  ^[OP
+VK_F2                                  ^[OQ
+VK_F3                                  ^[OR
+VK_F4                                  ^[OS
+VK_F5                                  ^[Ow
+VK_F6                                  ^[Ox
+VK_F7                                  ^[Oy
+VK_F8                                  ^[Om
+VK_F9                                  ^[Ot
+VK_F10                                 ^[Ou
+VK_F1            SHIFT                 ^[Ov
+VK_F2            SHIFT                 ^[Ol
+VK_F3            SHIFT                 ^[Oq
+VK_F4            SHIFT                 ^[Or
+VK_F5            SHIFT                 ^[Os
+VK_F6            SHIFT                 ^[OM
+VK_F7            SHIFT                 ^[Op
+VK_F8            SHIFT                 ^[On
+VK_F6            RIGHT_CTRL            ^[[17~
+VK_F7            RIGHT_CTRL            ^[[18~
+VK_F8            RIGHT_CTRL            ^[[19~
+VK_F9            RIGHT_CTRL            ^[[20~
+VK_F10           RIGHT_CTRL            ^[[21~
+VK_F11           RIGHT_CTRL            ^[[23~
+VK_F12           RIGHT_CTRL            ^[[24~
+VK_F6            LEFT_CTRL             ^[[17~
+VK_F7            LEFT_CTRL             ^[[18~
+VK_F8            LEFT_CTRL             ^[[19~
+VK_F9            LEFT_CTRL             ^[[20~
+VK_F10           LEFT_CTRL             ^[[21~
+VK_F11           LEFT_CTRL             ^[[23~
+VK_F12           LEFT_CTRL             ^[[24~
+
+[END keymap] // vt100
+
+[keymap AT386]
+:
+; AT386 extended keys
+;
+; Dmitry Lapenkov <dl@bis.ru>
+;
+
+VK_LBUTTON                              ^M\x00
+VK_RBUTTON                              ^[^[
+VK_CANCEL                               ^C
+VK_MBUTTON                              ^[OP
+VK_BACK                                 ^H
+VK_BACK         SHIFT                   ^[[O
+VK_BACK         LEFT_CTRL               \127
+VK_BACK         RIGHT_CTRL              \127
+VK_TAB                                  ^I
+VK_TAB          SHIFT                   ^[[Z
+VK_TAB          LEFT_CTRL               ^[[Z
+VK_TAB          RIGHT_CTRL              ^[[Z
+VK_RETURN                               ^M\x00
+VK_RETURN       SHIFT                   ^[[R
+VK_RETURN       LEFT_CTRL               ^J
+VK_RETURN       RIGHT_CTRL              ^J
+VK_PAUSE                                ^S
+VK_PAUSE        LEFT_CTRL               ^C
+VK_PAUSE        RIGHT_CTRL              ^C
+VK_PAUSE        SHIFT                   ^S
+VK_ESCAPE                               ^[^[
+VK_ESCAPE       SHIFT                   ^[
+VK_BACK         LEFT_ALT                ^[[o
+VK_BACK         RIGHT_ALT               ^[[o
+VK_TAB          LEFT_ALT                ^[[z
+VK_TAB          RIGHT_ALT               ^[[z
+VK_RETURN       LEFT_ALT                ^[[r
+VK_RETURN       RIGHT_ALT               ^[[r
+VK_PAUSE        LEFT_ALT                ^[<
+VK_PAUSE        RIGHT_ALT               ^[>
+VK_PGUP                                 ^[[V
+VK_PGUP         SHIFT                   ^[[V
+VK_PGUP         LEFT_CTRL               ^[[W
+VK_PGUP         RIGHT_CTRL              ^[[W
+VK_PGDN                                 ^[[U
+VK_PGDN         SHIFT                   ^[[U
+VK_PGDN         LEFT_CTRL               ^[[X
+VK_PGDN         RIGHT_CTRL              ^[[X
+VK_END                                  ^[[Y
+VK_END          SHIFT                   ^[[Y
+VK_END          LEFT_CTRL               ^[[E
+VK_END          RIGHT_CTRL              ^[[E
+VK_HOME                                 ^[[H
+VK_HOME         SHIFT                   ^[[H
+VK_HOME         LEFT_CTRL               ^[[F
+VK_HOME         RIGHT_CTRL              ^[[F
+VK_LEFT                                 ^[[D
+VK_LEFT         SHIFT                   ^[[D
+VK_LEFT         LEFT_CTRL               ^[[K
+VK_LEFT         RIGHT_CTRL              ^[[K
+VK_UP                                   ^[[A
+VK_UP           SHIFT                   ^[[A
+VK_UP           LEFT_CTRL               ^[[I
+VK_UP           RIGHT_CTRL              ^[[I
+VK_RIGHT                                ^[[C
+VK_RIGHT        SHIFT                   ^[[C
+VK_RIGHT        LEFT_CTRL               ^[[L
+VK_RIGHT        RIGHT_CTRL              ^[[L
+VK_DOWN                                 ^[[B
+VK_DOWN         SHIFT                   ^[[B
+VK_DOWN         LEFT_CTRL               ^[[J
+VK_DOWN         RIGHT_CTRL              ^[[J
+VK_INSERT                               ^[[@
+VK_INSERT       SHIFT                   ^[[T
+VK_INSERT       LEFT_CTRL               ^[[T
+VK_INSERT       RIGHT_CTRL              ^[[T
+VK_DELETE                               \127
+VK_DELETE       SHIFT                   ^[[S
+VK_DELETE       LEFT_CTRL               ^[[S
+VK_DELETE       RIGHT_CTRL              ^[[S
+VK_PGUP         LEFT_ALT                ^[[v
+VK_PGUP         RIGHT_ALT               ^[[v
+VK_PGDN         LEFT_ALT                ^[[u
+VK_PGDN         RIGHT_ALT               ^[[u
+VK_END          LEFT_ALT                ^[[y
+VK_END          RIGHT_ALT               ^[[y
+VK_HOME         LEFT_ALT                ^[[h
+VK_HOME         RIGHT_ALT               ^[[h
+VK_LEFT         LEFT_ALT                ^[[d
+VK_LEFT         RIGHT_ALT               ^[[d
+VK_UP           LEFT_ALT                ^[[a
+VK_UP           RIGHT_ALT               ^[[a
+VK_RIGHT        LEFT_ALT                ^[[c
+VK_RIGHT        RIGHT_ALT               ^[[c
+VK_DOWN         LEFT_ALT                ^[[b
+VK_DOWN         RIGHT_ALT               ^[[b
+VK_INSERT       LEFT_ALT                ^[[t
+VK_INSERT       RIGHT_ALT               ^[[t
+VK_DELETE       LEFT_ALT                ^[[s
+VK_DELETE       RIGHT_ALT               ^[[s
+VK_0            LEFT_ALT                ^[N0
+VK_1            LEFT_ALT                ^[N1
+VK_2            LEFT_ALT                ^[N2
+VK_3            LEFT_ALT                ^[N3
+VK_4            LEFT_ALT                ^[N4
+VK_5            LEFT_ALT                ^[N5
+VK_6            LEFT_ALT                ^[N6
+VK_7            LEFT_ALT                ^[N7
+VK_8            LEFT_ALT                ^[N8
+VK_9            LEFT_ALT                ^[N9
+VK_0            RIGHT_ALT               ^[N0
+VK_1            RIGHT_ALT               ^[N1
+VK_2            RIGHT_ALT               ^[N2
+VK_3            RIGHT_ALT               ^[N3
+VK_4            RIGHT_ALT               ^[N4
+VK_5            RIGHT_ALT               ^[N5
+VK_6            RIGHT_ALT               ^[N6
+VK_7            RIGHT_ALT               ^[N7
+VK_8            RIGHT_ALT               ^[N8
+VK_9            RIGHT_ALT               ^[N9
+VK_A            LEFT_ALT                ^[NA
+VK_B            LEFT_ALT                ^[NB
+VK_C            LEFT_ALT                ^[NC
+VK_D            LEFT_ALT                ^[ND
+VK_E            LEFT_ALT                ^[NE
+VK_F            LEFT_ALT                ^[NF
+VK_G            LEFT_ALT                ^[NG
+VK_H            LEFT_ALT                ^[NH
+VK_I            LEFT_ALT                ^[NI
+VK_J            LEFT_ALT                ^[NJ
+VK_K            LEFT_ALT                ^[NK
+VK_L            LEFT_ALT                ^[NL
+VK_M            LEFT_ALT                ^[NM
+VK_M            LEFT_ALT                ^[NN
+VK_O            LEFT_ALT                ^[NO
+VK_P            LEFT_ALT                ^[NP
+VK_Q            LEFT_ALT                ^[NQ
+VK_R            LEFT_ALT                ^[NR
+VK_S            LEFT_ALT                ^[NS
+VK_T            LEFT_ALT                ^[NT
+VK_U            LEFT_ALT                ^[NU
+VK_V            LEFT_ALT                ^[NV
+VK_W            LEFT_ALT                ^[NW
+VK_X            LEFT_ALT                ^[NX
+VK_Y            LEFT_ALT                ^[NY
+VK_Z            LEFT_ALT                ^[NZ
+VK_A            RIGHT_ALT               ^[NA
+VK_B            RIGHT_ALT               ^[NB
+VK_C            RIGHT_ALT               ^[NC
+VK_D            RIGHT_ALT               ^[ND
+VK_E            RIGHT_ALT               ^[NE
+VK_F            RIGHT_ALT               ^[NF
+VK_G            RIGHT_ALT               ^[NG
+VK_H            RIGHT_ALT               ^[NH
+VK_I            RIGHT_ALT               ^[NI
+VK_J            RIGHT_ALT               ^[NJ
+VK_K            RIGHT_ALT               ^[NK
+VK_L            RIGHT_ALT               ^[NL
+VK_M            RIGHT_ALT               ^[NM
+VK_M            RIGHT_ALT               ^[NN
+VK_O            RIGHT_ALT               ^[NO
+VK_P            RIGHT_ALT               ^[NP
+VK_Q            RIGHT_ALT               ^[NQ
+VK_R            RIGHT_ALT               ^[NR
+VK_S            RIGHT_ALT               ^[NS
+VK_T            RIGHT_ALT               ^[NT
+VK_U            RIGHT_ALT               ^[NU
+VK_V            RIGHT_ALT               ^[NV
+VK_W            RIGHT_ALT               ^[NW
+VK_X            RIGHT_ALT               ^[NX
+VK_Y            RIGHT_ALT               ^[NY
+VK_Z            RIGHT_ALT               ^[NZ
+VK_NUMPAD0      LEFT_CTRL               ^[[T
+VK_NUMPAD0      RIGHT_CTRL              ^[[T
+VK_NUMPAD1      LEFT_CTRL               ^[[E
+VK_NUMPAD1      RIGHT_CTRL              ^[[E
+VK_NUMPAD2      LEFT_CTRL               ^[[J
+VK_NUMPAD2      RIGHT_CTRL              ^[[J
+VK_NUMPAD3      LEFT_CTRL               ^[[X
+VK_NUMPAD3      RIGHT_CTRL              ^[[X
+VK_NUMPAD4      LEFT_CTRL               ^[[K
+VK_NUMPAD4      RIGHT_CTRL              ^[[K
+VK_NUMPAD5      LEFT_CTRL               ^[[G
+VK_NUMPAD5      RIGHT_CTRL              ^[[G
+VK_NUMPAD6      LEFT_CTRL               ^[[L
+VK_NUMPAD6      RIGHT_CTRL              ^[[L
+VK_NUMPAD7      LEFT_CTRL               ^[[F
+VK_NUMPAD7      RIGHT_CTRL              ^[[F
+VK_NUMPAD8      LEFT_CTRL               ^[[I
+VK_NUMPAD8      RIGHT_CTRL              ^[[I
+VK_NUMPAD9      LEFT_CTRL               ^[[W
+VK_NUMPAD9      RIGHT_CTRL              ^[[W
+VK_MULTIPLY     LEFT_CTRL               ^[[Q
+VK_MULTIPLY     RIGHT_CTRL              ^[[Q
+VK_ADD          LEFT_CTRL               ^[[M
+VK_ADD          RIGHT_CTRL              ^[[M
+VK_SEPARATOR    SHIFT                   ^[[R
+VK_SEPARATOR    LEFT_CTRL               ^J
+VK_SEPARATOR    RIGHT_CTRL              ^J
+VK_SUBTRACT     LEFT_CTRL               ^[[N
+VK_SUBTRACT     RIGHT_CTRL              ^[[N
+VK_DECIMAL      LEFT_CTRL               ^[[S
+VK_DECIMAL      RIGHT_CTRL              ^[[S
+VK_DIVIDE       LEFT_CTRL               ^[[P
+VK_DIVIDE       RIGHT_CTRL              ^[[P
+VK_NUMPAD0      LEFT_ALT                ^X
+VK_NUMPAD0      RIGHT_ALT               ^X
+VK_NUMPAD1      LEFT_ALT                ^E
+VK_NUMPAD1      RIGHT_ALT               ^E
+VK_NUMPAD2      LEFT_ALT                ^X/
+VK_NUMPAD2      RIGHT_ALT               ^X/
+VK_NUMPAD3      LEFT_ALT                ^V
+VK_NUMPAD3      RIGHT_ALT               ^V
+VK_NUMPAD4      LEFT_ALT                ^X^F
+VK_NUMPAD4      RIGHT_ALT               ^X^F
+VK_NUMPAD5      LEFT_ALT                ^[[g
+VK_NUMPAD5      RIGHT_ALT               ^[[g
+VK_NUMPAD6      LEFT_ALT                ^X^Y
+VK_NUMPAD6      RIGHT_ALT               ^X^Y
+VK_NUMPAD7      LEFT_ALT                ^A
+VK_NUMPAD7      RIGHT_ALT               ^A
+VK_NUMPAD8      LEFT_ALT                ^X_
+VK_NUMPAD8      RIGHT_ALT               ^X_
+VK_NUMPAD9      LEFT_ALT                ^[v
+VK_NUMPAD9      RIGHT_ALT               ^[v
+VK_MULTIPLY     LEFT_ALT                ^[[q
+VK_MULTIPLY     RIGHT_ALT               ^[[q
+VK_ADD          LEFT_ALT                ^[[m
+VK_ADD          RIGHT_ALT               ^[[m
+VK_SEPARATOR    LEFT_ALT                ^[[r
+VK_SEPARATOR    RIGHT_ALT               ^[[r
+VK_SUBTRACT     LEFT_ALT                ^[[n
+VK_SUBTRACT     RIGHT_ALT               ^[[n
+VK_DECIMAL      LEFT_ALT                ^X^C
+VK_DECIMAL      RIGHT_ALT               ^X^C
+VK_DIVIDE       LEFT_ALT                ^[[p
+VK_DIVIDE       RIGHT_ALT               ^[[p
+VK_F1                                   ^[OP
+VK_F1           SHIFT                   ^[Op
+VK_F1           LEFT_CTRL               ^[Ob
+VK_F1           RIGHT_CTRL              ^[Ob
+VK_F2                                   ^[OQ
+VK_F2           SHIFT                   ^[Oq
+VK_F2           LEFT_CTRL               ^[Oc
+VK_F2           RIGHT_CTRL              ^[Oc
+VK_F3                                   ^[OR
+VK_F3           SHIFT                   ^[Or
+VK_F3           LEFT_CTRL               ^[Od
+VK_F3           RIGHT_CTRL              ^[Od
+VK_F4                                   ^[OS
+VK_F4           SHIFT                   ^[Os
+VK_F4           LEFT_CTRL               ^[Oe
+VK_F4           RIGHT_CTRL              ^[Oe
+VK_F5                                   ^[OT
+VK_F5           SHIFT                   ^[Ot
+VK_F5           LEFT_CTRL               ^[Of
+VK_F5           RIGHT_CTRL              ^[Of
+VK_F6                                   ^[OU
+VK_F6           SHIFT                   ^[Ou
+VK_F6           LEFT_CTRL               ^[Og
+VK_F6           RIGHT_CTRL              ^[Og
+VK_F7                                   ^[OV
+VK_F7           SHIFT                   ^[Ov
+VK_F7           LEFT_CTRL               ^[Oh
+VK_F7           RIGHT_CTRL              ^[Oh
+VK_F8                                   ^[OW
+VK_F8           SHIFT                   ^[Ow
+VK_F8           LEFT_CTRL               ^[Oi
+VK_F8           RIGHT_CTRL              ^[Oi
+VK_F9                                   ^[OX
+VK_F9           SHIFT                   ^[Ox
+VK_F9           LEFT_CTRL               ^[Oj
+VK_F9           RIGHT_CTRL              ^[Oj
+VK_F10                                  ^[OY
+VK_F10          SHIFT                   ^[Oy
+VK_F10          LEFT_CTRL               ^[Ok
+VK_F10          RIGHT_CTRL              ^[Ok
+VK_F11                                  ^[OZ
+VK_F11          SHIFT                   ^[Oz
+VK_F11          LEFT_CTRL               ^[Ol
+VK_F11          RIGHT_CTRL              ^[Ol
+VK_F12                                  ^[OA
+VK_F12          SHIFT                   ^[Oa
+VK_F12          LEFT_CTRL               ^[Om
+VK_F12          RIGHT_CTRL              ^[Om
+VK_F1           LEFT_ALT                 ^[O1
+VK_F1           RIGHT_ALT                ^[O1
+VK_F2           LEFT_ALT                 ^[O2
+VK_F2           RIGHT_ALT                ^[O2
+VK_F3           LEFT_ALT                 ^[O3
+VK_F3           RIGHT_ALT                ^[O3
+VK_F4           LEFT_ALT                 ^[O4
+VK_F4           RIGHT_ALT                ^[O4
+VK_F5           LEFT_ALT                 ^[O5
+VK_F5           RIGHT_ALT                ^[O5
+VK_F6           LEFT_ALT                 ^[O6
+VK_F6           RIGHT_ALT                ^[O6
+VK_F7           LEFT_ALT                 ^[O7
+VK_F7           RIGHT_ALT                ^[O7
+VK_F8           LEFT_ALT                 ^[O8
+VK_F8           RIGHT_ALT                ^[O8
+VK_F9           LEFT_ALT                 ^[O9
+VK_F9           RIGHT_ALT                ^[O9
+VK_F10          LEFT_ALT                 ^[O0
+VK_F10          RIGHT_ALT                ^[O0
+VK_F11          LEFT_ALT                 ^[O:
+VK_F11          RIGHT_ALT                ^[O:
+VK_F12          LEFT_ALT                 ^[O;
+VK_F12          RIGHT_ALT                ^[O;
+
+[END keymap]
+
+
+[keymap at386st]
+;
+; AT386 standard keys
+;
+
+VK_F1                                   ^[OP
+VK_F2                                   ^[OQ
+VK_F3                                   ^[OR
+VK_F4                                   ^[OS
+VK_F5                                   ^[OT
+VK_F6                                   ^[OU
+VK_F7                                   ^[OV
+VK_F8                                   ^[OW
+VK_F9                                   ^[OX
+VK_F10                                  ^[OY
+VK_F11                                  ^[[W
+VK_F12                                  ^[[X
+VK_SCROLL                               \017
+VK_PAUSE                                \019
+;
+VK_INSERT                               ^[[@
+VK_DELETE                               \004
+;
+VK_LEFT                                 ^[[D
+VK_UP                                   ^[[A
+VK_RIGHT                                ^[[C
+VK_DOWN                                 ^[[B
+;
+VK_HOME                                 ^[[H
+VK_PGUP                                 ^[[V
+VK_PGDN                                 ^[[U
+VK_END                                  ^[[Y
+;
+VK_TAB                                  \009
+VK_TAB          SHIFT                   ^[[Z
+VK_ESCAPE                               ^[
+
+[END keymap]
+
+;****************************************************************************
+;****************************************************************************
+;***                          Ukranian keyboard                           ***
+;****************************************************************************
+;****************************************************************************
+[keymap koi8u]
+
+; I prefer this
+VK_2             SHIFT                 "
+VK_2             CAPSLOCK+SHIFT        "
+VK_4             SHIFT                 ;
+VK_4             CAPSLOCK+SHIFT        ;
+VK_5             SHIFT                 %
+VK_5             CAPSLOCK+SHIFT        %
+VK_6             SHIFT                 :
+VK_6             CAPSLOCK+SHIFT        :
+VK_7             SHIFT                 ?
+VK_7             CAPSLOCK+SHIFT        ?
+VK_/                                   .
+VK_/             SHIFT                 ,
+VK_/             CAPSLOCK              .
+VK_/             CAPSLOCK+SHIFT        ,
+
+; next will be similar to std
+
+;                \xE1 CYRILLIC CAPITAL LETTER A
+;                \xC1 CYRILLIC SMALL   LETTER A
+VK_F                                   \xC1
+VK_F             SHIFT                 \xE1
+VK_F             CAPSLOCK              \xE1
+VK_F             CAPSLOCK+SHIFT        \xC1
+
+;                \xE2 CYRILLIC CAPITAL LETTER BE
+;                \xC2 CYRILLIC SMALL   LETTER BE
+VK_,                                   \xc2
+VK_,             SHIFT                 \xe2
+VK_,             CAPSLOCK              \xe2
+VK_,             CAPSLOCK+SHIFT        \xc2
+
+;                \xB6 CYRILLIC CAPITAL LETTER BELORUSSIAN-UKRAINIAN I
+;                \xA6 CYRILLIC SMALL   LETTER BELORUSSIAN-UKRAINIAN I
+VK_S                                   \xa6
+VK_S             SHIFT                 \xb6
+VK_S             CAPSLOCK              \xb6
+VK_S             CAPSLOCK+SHIFT        \xa6
+
+;                \xFE CYRILLIC CAPITAL LETTER CHE
+;                \xDE CYRILLIC SMALL   LETTER CHE
+VK_X                                   \xde
+VK_X             SHIFT                 \xfe
+VK_X             CAPSLOCK              \xfe
+VK_X             CAPSLOCK+SHIFT        \xde
+
+;                \xE4 CYRILLIC CAPITAL LETTER DE
+;                \xC4 CYRILLIC SMALL   LETTER DE
+VK_L                                   \xc4
+VK_L             SHIFT                 \xe4
+VK_L             CAPSLOCK              \xe4
+VK_L             CAPSLOCK+SHIFT        \xc4
+
+;                \xE6 CYRILLIC CAPITAL LETTER EF
+;                \xC6 CYRILLIC SMALL   LETTER EF
+VK_A                                   \xc6
+VK_A             SHIFT                 \xe6
+VK_A             CAPSLOCK              \xe6
+VK_A             CAPSLOCK+SHIFT        \xc6
+
+;                \xEC CYRILLIC CAPITAL LETTER EL
+;                \xCC CYRILLIC SMALL   LETTER EL
+VK_K                                   \xcc
+VK_K             SHIFT                 \xec
+VK_K             CAPSLOCK              \xec
+VK_K             CAPSLOCK+SHIFT        \xcc
+
+;                \xED CYRILLIC CAPITAL LETTER EM
+;                \xCD CYRILLIC SMALL   LETTER EM
+VK_V                                   \xcd
+VK_V             SHIFT                 \xed
+VK_V             CAPSLOCK              \xed
+VK_V             CAPSLOCK+SHIFT        \xcd
+
+;                \xEE CYRILLIC CAPITAL LETTER EN
+;                \xCE CYRILLIC SMALL   LETTER EN
+VK_Y                                   \xce
+VK_Y             SHIFT                 \xee
+VK_Y             CAPSLOCK              \xee
+VK_Y             CAPSLOCK+SHIFT        \xce
+
+;                \xF2 CYRILLIC CAPITAL LETTER ER
+;                \xD2 CYRILLIC SMALL   LETTER ER
+VK_H                                   \xd2
+VK_H             SHIFT                 \xf2
+VK_H             CAPSLOCK              \xf2
+VK_H             CAPSLOCK+SHIFT        \xd2
+
+;                \xF3 CYRILLIC CAPITAL LETTER ES
+;                \xD3 CYRILLIC SMALL   LETTER ES
+VK_C                                   \xd3
+VK_C             SHIFT                 \xf3
+VK_C             CAPSLOCK              \xf3
+VK_C             CAPSLOCK+SHIFT        \xd3
+
+;                \xE7 CYRILLIC CAPITAL LETTER GE
+;                \xC7 CYRILLIC SMALL   LETTER GE
+VK_U                                   \xc7
+VK_U             SHIFT                 \xe7
+VK_U             CAPSLOCK              \xe7
+VK_U             CAPSLOCK+SHIFT        \xc7
+
+;                \xF1 CYRILLIC CAPITAL LETTER IA
+;                \xD1 CYRILLIC SMALL   LETTER IA
+VK_Z                                   \xd1
+VK_Z             SHIFT                 \xf1
+VK_Z             CAPSLOCK              \xf1
+VK_Z             CAPSLOCK+SHIFT        \xd1
+
+;                \xE5 CYRILLIC CAPITAL LETTER IE
+;                \xC5 CYRILLIC SMALL   LETTER IE
+VK_T                                   \xc5
+VK_T             SHIFT                 \xe5
+VK_T             CAPSLOCK              \xe5
+VK_T             CAPSLOCK+SHIFT        \xc5
+
+;                \xE9 CYRILLIC CAPITAL LETTER II
+;                \xC9 CYRILLIC SMALL   LETTER II
+VK_B                                   \xc9
+VK_B             SHIFT                 \xe9
+VK_B             CAPSLOCK              \xe9
+VK_B             CAPSLOCK+SHIFT        \xc9
+
+;                \xE0 CYRILLIC CAPITAL LETTER IU
+;                \xC0 CYRILLIC SMALL   LETTER IU
+VK_.                                   \xc0
+VK_.             SHIFT                 \xe0
+VK_.             CAPSLOCK              \xe0
+VK_.             CAPSLOCK+SHIFT        \xc0
+
+;                \xEB CYRILLIC CAPITAL LETTER KA
+;                \xCB CYRILLIC SMALL   LETTER KA
+VK_R                                   \xcb
+VK_R             SHIFT                 \xeb
+VK_R             CAPSLOCK              \xeb
+VK_R             CAPSLOCK+SHIFT        \xcb
+
+;                \xE8 CYRILLIC CAPITAL LETTER KHA
+;                \xC8 CYRILLIC SMALL   LETTER KHA
+VK_[                                   \xc8
+VK_[             SHIFT                 \xe8
+VK_[             CAPSLOCK              \xE8
+VK_[             CAPSLOCK+SHIFT        \xC8
+
+;                \xEF CYRILLIC CAPITAL LETTER O
+;                \xCF CYRILLIC SMALL   LETTER O
+VK_J                                   \xcf
+VK_J             SHIFT                 \xef
+VK_J             CAPSLOCK              \xef
+VK_J             CAPSLOCK+SHIFT        \xcf
+
+;                \xF0 CYRILLIC CAPITAL LETTER PE
+;                \xD0 CYRILLIC SMALL   LETTER PE
+VK_G                                   \xd0
+VK_G             SHIFT                 \xf0
+VK_G             CAPSLOCK              \xf0
+VK_G             CAPSLOCK+SHIFT        \xd0
+
+;                \xFB CYRILLIC CAPITAL LETTER SHA
+;                \xDB CYRILLIC SMALL   LETTER SHA
+VK_I                                   \xdb
+VK_I             SHIFT                 \xfb
+VK_I             CAPSLOCK              \xfb
+VK_I             CAPSLOCK+SHIFT        \xdb
+
+;                \xFD CYRILLIC CAPITAL LETTER SHCHA
+;                \xDD CYRILLIC SMALL   LETTER SHCHA
+VK_O                                   \xdd
+VK_O             SHIFT                 \xfd
+VK_O             CAPSLOCK              \xfd
+VK_O             CAPSLOCK+SHIFT        \xdd
+
+;                \xEA CYRILLIC CAPITAL LETTER SHORT II
+;                \xCA CYRILLIC SMALL   LETTER SHORT II
+VK_Q                                   \xca
+VK_Q             SHIFT                 \xea
+VK_Q             CAPSLOCK              \xea
+VK_Q             CAPSLOCK+SHIFT        \xca
+
+;                \xF8 CYRILLIC CAPITAL LETTER SOFT SIGN
+;                \xD8 CYRILLIC SMALL   LETTER SOFT SIGN
+VK_M                                   \xd8
+VK_M             SHIFT                 \xf8
+VK_M             CAPSLOCK              \xf8
+VK_M             CAPSLOCK+SHIFT        \xd8
+
+;                \xF4 CYRILLIC CAPITAL LETTER TE
+;                \xD4 CYRILLIC SMALL   LETTER TE
+VK_N                                   \xd4
+VK_N             SHIFT                 \xf4
+VK_N             CAPSLOCK              \xf4
+VK_N             CAPSLOCK+SHIFT        \xd4
+
+;                \xE3 CYRILLIC CAPITAL LETTER TSE
+;                \xC3 CYRILLIC SMALL   LETTER TSE
+VK_W                                   \xc3
+VK_W             SHIFT                 \xe3
+VK_W             CAPSLOCK              \xe3
+VK_W             CAPSLOCK+SHIFT        \xc3
+
+;                \xF5 CYRILLIC CAPITAL LETTER U
+;                \xD5 CYRILLIC SMALL   LETTER U
+VK_E                                   \xd5
+VK_E             SHIFT                 \xf5
+VK_E             CAPSLOCK              \xf5
+VK_E             CAPSLOCK+SHIFT        \xd5
+
+;                \xBD CYRILLIC CAPITAL LETTER UKRAINIAN GHE (UPTURN)
+;                \xAD CYRILLIC SMALL   LETTER UKRAINIAN GHE (UPTURN)
+; not realized because not too many words use it, use GHE for it
+
+;                \xB4 CYRILLIC CAPITAL LETTER UKRAINIAN IE
+;                \xA4 CYRILLIC SMALL   LETTER UKRAINIAN IE
+VK_'                                   \xa4
+VK_'             SHIFT                 \xb4
+VK_'             CAPSLOCK              \xb4
+VK_'             CAPSLOCK+SHIFT        \xa4
+
+;                \xF7 CYRILLIC CAPITAL LETTER VE
+;                \xD7 CYRILLIC SMALL   LETTER VE
+VK_D                                   \xd7
+VK_D             SHIFT                 \xf7
+VK_D             CAPSLOCK              \xf7
+VK_D             CAPSLOCK+SHIFT        \xd7
+
+;                \xB7 CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
+;                \xA7 CYRILLIC SMALL   LETTER YI (UKRAINIAN)
+VK_]                                   \xa7
+VK_]             SHIFT                 \xb7
+VK_]             CAPSLOCK              \xb7
+VK_]             CAPSLOCK+SHIFT        \xa7
+
+;                \xFA CYRILLIC CAPITAL LETTER ZE
+;                \xDA CYRILLIC SMALL   LETTER ZE
+VK_P                                   \xda
+VK_P             SHIFT                 \xfa
+VK_P             CAPSLOCK              \xfa
+VK_P             CAPSLOCK+SHIFT        \xda
+
+;                \xF6 CYRILLIC CAPITAL LETTER ZHE
+;                \xD6 CYRILLIC SMALL   LETTER ZHE
+VK_;                                   \xd6
+VK_;             SHIFT                 \xf6
+VK_;             CAPSLOCK              \xf6
+VK_;             CAPSLOCK+SHIFT        \xd6
+
+[END keymap] // koi8u
+
+[keymap koi8r]
+;****************************************************************************
+;****************************************************************************
+;***                           Russian keyboard.                          ***
+;***                                                                      ***
+;***            there are only differents from koi8u, so use              ***
+;***                  it as 'keymap koi8u + koi8r'                        ***
+;****************************************************************************
+;****************************************************************************
+
+;                \xFF CYRILLIC CAPITAL LETTER HARD SIGN
+;                \xDF CYRILLIC SMALL   LETTER HARD SIGN
+VK_]                                   \xdf
+VK_]             SHIFT                 \xff
+VK_]             CAPSLOCK              \xff
+VK_]             CAPSLOCK+SHIFT        \xdf
+
+;                \xB3 CYRILLIC CAPITAL LETTER IO
+;                \xA3 CYRILLIC SMALL   LETTER IO
+VK_`                                   \xa3
+VK_`             SHIFT                 \xb3
+VK_`             CAPSLOCK              \xb3
+VK_`             CAPSLOCK+SHIFT        \xa3
+
+;                \xFC CYRILLIC CAPITAL LETTER REVERSED E
+;                \xDC CYRILLIC SMALL   LETTER REVERSED E
+VK_'                                   \xdc
+VK_'             SHIFT                 \xfc
+VK_'             CAPSLOCK              \xfc
+VK_'             CAPSLOCK+SHIFT        \xdc
+
+;                \xF9 CYRILLIC CAPITAL LETTER YERI
+;                \xD9 CYRILLIC SMALL   LETTER YERI
+VK_S                                   \xd9
+VK_S             SHIFT                 \xf9
+VK_S             CAPSLOCK              \xf9
+VK_S             CAPSLOCK+SHIFT        \xd9
+
+[END keymap] // koi8r
+
+;****************************************************************************
+;****************************************************************************
+;***                    Russian keyboard IBM PC-866                       ***
+;***                                                                      ***
+;***                    Dmitry Lapenkov <dl@bis.ru>                       ***
+;****************************************************************************
+;****************************************************************************
+[keymap ibm866]
+
+VK_`                                   )
+VK_`             SHIFT                 (
+VK_`             CAPSLOCK              (
+VK_`             CAPSLOCK+SHIFT        )
+VK_2             SHIFT                 "
+VK_2             CAPSLOCK+SHIFT        "
+VK_3             SHIFT                 /
+VK_3             CAPSLOCK+SHIFT        /
+VK_4             SHIFT                 \xfc
+VK_4             CAPSLOCK+SHIFT        \xfc
+VK_5             SHIFT                 :
+VK_5             CAPSLOCK+SHIFT        :
+VK_6             SHIFT                 ,
+VK_6             CAPSLOCK+SHIFT        ,
+VK_7             SHIFT                 .
+VK_7             CAPSLOCK+SHIFT        .
+VK_8             SHIFT                 ;
+VK_8             CAPSLOCK+SHIFT        ;
+VK_9             SHIFT                 ?
+VK_9             CAPSLOCK+SHIFT        ?
+VK_0             SHIFT                 %
+VK_0             CAPSLOCK+SHIFT        %
+
+;                128 CYRILLIC CAPITAL LETTER A
+;                160 CYRILLIC SMALL   LETTER A
+VK_F                                   \160
+VK_F             SHIFT                 \128
+VK_F             CAPSLOCK              \128
+VK_F             CAPSLOCK+SHIFT        \160
+
+;                129 CYRILLIC CAPITAL LETTER BE
+;                161 CYRILLIC SMALL   LETTER BE
+VK_,                                   \161
+VK_,             SHIFT                 \129
+VK_,             CAPSLOCK              \129
+VK_,             CAPSLOCK+SHIFT        \161
+
+;                240 CYRILLIC CAPITAL LETTER SHORT YO
+;                241 CYRILLIC SMALL   LETTER SHORT YO
+VK_/                                   \241
+VK_/             SHIFT                 \240
+VK_/             CAPSLOCK              \240
+VK_/             CAPSLOCK+SHIFT        \241
+
+;                157 CYRILLIC CAPITAL LETTER REVERSED E
+;                237 CYRILLIC SMALL   LETTER REVERSED E
+VK_'                                   \237
+VK_'             SHIFT                 \157
+VK_'             CAPSLOCK              \157
+VK_'             CAPSLOCK+SHIFT        \237
+
+;                155 CYRILLIC CAPITAL LETTER YERI
+;                235 CYRILLIC SMALL   LETTER YERI
+VK_S                                   \235
+VK_S             SHIFT                 \155
+VK_S             CAPSLOCK              \155
+VK_S             CAPSLOCK+SHIFT        \235
+
+;                151 CYRILLIC CAPITAL LETTER CHE
+;                231 CYRILLIC SMALL   LETTER CHE
+VK_X                                   \231
+VK_X             SHIFT                 \151
+VK_X             CAPSLOCK              \151
+VK_X             CAPSLOCK+SHIFT        \231
+
+;                132 CYRILLIC CAPITAL LETTER DE
+;                164 CYRILLIC SMALL   LETTER DE
+VK_L                                   \164
+VK_L             SHIFT                 \132
+VK_L             CAPSLOCK              \132
+VK_L             CAPSLOCK+SHIFT        \164
+
+;                148 CYRILLIC CAPITAL LETTER EF
+;                228 CYRILLIC SMALL   LETTER EF
+VK_A                                   \228
+VK_A             SHIFT                 \148
+VK_A             CAPSLOCK              \148
+VK_A             CAPSLOCK+SHIFT        \228
+
+;                139 CYRILLIC CAPITAL LETTER EL
+;                171 CYRILLIC SMALL   LETTER EL
+VK_K                                   \171
+VK_K             SHIFT                 \139
+VK_K             CAPSLOCK              \139
+VK_K             CAPSLOCK+SHIFT        \171
+
+;                140 CYRILLIC CAPITAL LETTER EM
+;                172 CYRILLIC SMALL   LETTER EM
+VK_V                                   \172
+VK_V             SHIFT                 \140
+VK_V             CAPSLOCK              \140
+VK_V             CAPSLOCK+SHIFT        \172
+
+;                141 CYRILLIC CAPITAL LETTER EN
+;                173 CYRILLIC SMALL   LETTER EN
+VK_Y                                   \173
+VK_Y             SHIFT                 \141
+VK_Y             CAPSLOCK              \141
+VK_Y             CAPSLOCK+SHIFT        \173
+
+;                144 CYRILLIC CAPITAL LETTER ER
+;                224 CYRILLIC SMALL   LETTER ER
+VK_H                                   \224
+VK_H             SHIFT                 \144
+VK_H             CAPSLOCK              \144
+VK_H             CAPSLOCK+SHIFT        \224
+
+;                145 CYRILLIC CAPITAL LETTER ES
+;                225 CYRILLIC SMALL   LETTER ES
+VK_C                                   \225
+VK_C             SHIFT                 \145
+VK_C             CAPSLOCK              \145
+VK_C             CAPSLOCK+SHIFT        \225
+
+;                131 CYRILLIC CAPITAL LETTER GE
+;                163 CYRILLIC SMALL   LETTER GE
+VK_U                                   \163
+VK_U             SHIFT                 \131
+VK_U             CAPSLOCK              \131
+VK_U             CAPSLOCK+SHIFT        \163
+
+;                159 CYRILLIC CAPITAL LETTER YA
+;                239 CYRILLIC SMALL   LETTER YA
+VK_Z                                   \239
+VK_Z             SHIFT                 \159
+VK_Z             CAPSLOCK              \159
+VK_Z             CAPSLOCK+SHIFT        \239
+
+;                133 CYRILLIC CAPITAL LETTER IE
+;                165 CYRILLIC SMALL   LETTER IE
+VK_T                                   \165
+VK_T             SHIFT                 \133
+VK_T             CAPSLOCK              \133
+VK_T             CAPSLOCK+SHIFT        \165
+
+;                136 CYRILLIC CAPITAL LETTER II
+;                168 CYRILLIC SMALL   LETTER II
+VK_B                                   \168
+VK_B             SHIFT                 \136
+VK_B             CAPSLOCK              \136
+VK_B             CAPSLOCK+SHIFT        \168
+
+;                158 CYRILLIC CAPITAL LETTER YU
+;                238 CYRILLIC SMALL   LETTER YU
+VK_.                                   \238
+VK_.             SHIFT                 \158
+VK_.             CAPSLOCK              \158
+VK_.             CAPSLOCK+SHIFT        \238
+
+;                138 CYRILLIC CAPITAL LETTER KA
+;                170 CYRILLIC SMALL   LETTER KA
+VK_R                                   \170
+VK_R             SHIFT                 \138
+VK_R             CAPSLOCK              \138
+VK_R             CAPSLOCK+SHIFT        \170
+
+;                149 CYRILLIC CAPITAL LETTER KHA
+;                229 CYRILLIC SMALL   LETTER KHA
+VK_[                                   \229
+VK_[             SHIFT                 \149
+VK_[             CAPSLOCK              \149
+VK_[             CAPSLOCK+SHIFT        \229
+
+;                142 CYRILLIC CAPITAL LETTER O
+;                174 CYRILLIC SMALL   LETTER O
+VK_J                                   \174
+VK_J             SHIFT                 \142
+VK_J             CAPSLOCK              \142
+VK_J             CAPSLOCK+SHIFT        \174
+
+;                143 CYRILLIC CAPITAL LETTER PE
+;                175 CYRILLIC SMALL   LETTER PE
+VK_G                                   \175
+VK_G             SHIFT                 \143
+VK_G             CAPSLOCK              \143
+VK_G             CAPSLOCK+SHIFT        \175
+
+;                152 CYRILLIC CAPITAL LETTER SHA
+;                232 CYRILLIC SMALL   LETTER SHA
+VK_I                                   \232
+VK_I             SHIFT                 \152
+VK_I             CAPSLOCK              \152
+VK_I             CAPSLOCK+SHIFT        \232
+
+;                153 CYRILLIC CAPITAL LETTER SHCHA
+;                233 CYRILLIC SMALL   LETTER SHCHA
+VK_O                                   \233
+VK_O             SHIFT                 \153
+VK_O             CAPSLOCK              \153
+VK_O             CAPSLOCK+SHIFT        \233
+
+;                137 CYRILLIC CAPITAL LETTER SHORT II
+;                169 CYRILLIC SMALL   LETTER SHORT II
+VK_Q                                   \169
+VK_Q             SHIFT                 \137
+VK_Q             CAPSLOCK              \137
+VK_Q             CAPSLOCK+SHIFT        \169
+
+;                156 CYRILLIC CAPITAL LETTER SOFT SIGN
+;                236 CYRILLIC SMALL   LETTER SOFT SIGN
+VK_M                                   \236
+VK_M             SHIFT                 \156
+VK_M             CAPSLOCK              \156
+VK_M             CAPSLOCK+SHIFT        \236
+
+;                146 CYRILLIC CAPITAL LETTER TE
+;                226 CYRILLIC SMALL   LETTER TE
+VK_N                                   \226
+VK_N             SHIFT                 \146
+VK_N             CAPSLOCK              \146
+VK_N             CAPSLOCK+SHIFT        \226
+
+;                150 CYRILLIC CAPITAL LETTER TSE
+;                \230 CYRILLIC SMALL   LETTER TSE
+VK_W                                   \230
+VK_W             SHIFT                 \150
+VK_W             CAPSLOCK              \150
+VK_W             CAPSLOCK+SHIFT        \230
+
+;                147 CYRILLIC CAPITAL LETTER U
+;                227 CYRILLIC SMALL   LETTER U
+VK_E                                   \227
+VK_E             SHIFT                 \147
+VK_E             CAPSLOCK              \147
+VK_E             CAPSLOCK+SHIFT        \227
+
+;                130 CYRILLIC CAPITAL LETTER VE
+;                162 CYRILLIC SMALL   LETTER VE
+VK_D                                   \162
+VK_D             SHIFT                 \130
+VK_D             CAPSLOCK              \130
+VK_D             CAPSLOCK+SHIFT        \162
+
+;                154 CYRILLIC CAPITAL LETTER HARD SIGN
+;                234 CYRILLIC SMALL   LETTER HARD SIGN
+VK_]                                   \234
+VK_]             SHIFT                 \154
+VK_]             CAPSLOCK              \154
+VK_]             CAPSLOCK+SHIFT        \234
+
+;                135 CYRILLIC CAPITAL LETTER ZE
+;                167 CYRILLIC SMALL   LETTER ZE
+VK_P                                   \167
+VK_P             SHIFT                 \135
+VK_P             CAPSLOCK              \135
+VK_P             CAPSLOCK+SHIFT        \167
+
+;                134 CYRILLIC CAPITAL LETTER ZHE
+;                166 CYRILLIC SMALL   LETTER ZHE
+VK_;                                   \166
+VK_;             SHIFT                 \134
+VK_;             CAPSLOCK              \134
+VK_;             CAPSLOCK+SHIFT        \166
+
+[END keymap] // ibm866
+
+[keymap swedish]
+; ae Swedish A with dots
+VK_A                                            \228
+VK_A            SHIFT                           \196
+VK_A            CAPSLOCK                        \196
+VK_A            CAPSLOCK+SHIFT                  \228
+
+; aa Swedish A with circle
+VK_A            RIGHT_ALT                       \229
+VK_A            RIGHT_ALT+SHIFT                 \196
+VK_A            RIGHT_ALT+CAPSLOCK              \196
+VK_A            RIGHT_ALT+CAPSLOCK+SHIFT        \229
+VK_A            LEFT_ALT                        \229
+VK_A            LEFT_ALT+SHIFT                  \196
+VK_A            LEFT_ALT+CAPSLOCK               \196
+VK_A            LEFT_ALT+CAPSLOCK+SHIFT         \229
+
+; oe (Swedish O with dots)
+VK_O                                            \246
+VK_O            SHIFT                           \214
+VK_O            CAPSLOCK                        \214
+VK_O            CAPSLOCK+SHIFT                  \246
+
+[END keymap] // swedish
+
+[keymap uk]
+; The following entries are thanks to Kirschke Guido <gkirschke@sbmv.ch>
+;
+VK_`                                   " // dosen't work
+VK_`             SHIFT                 !
+VK_`             RIGHT_ALT             ]
+;
+VK_0             SHIFT                 =
+VK_0             CAPSLOCK              0
+VK_0             CAPSLOCK+SHIFT        =
+;
+VK_1             RIGHT_ALT             Ý
+VK_1             SHIFT                 +
+VK_1             CAPSLOCK              1
+VK_1             CAPSLOCK+SHIFT        +
+;
+VK_2             RIGHT_ALT             @
+VK_2             SHIFT                 "
+VK_2             CAPSLOCK              2
+VK_2             CAPSLOCK+SHIFT        "
+;
+VK_3             RIGHT_ALT             #
+VK_3             SHIFT                 *
+VK_3             CAPSLOCK              3
+VK_3             CAPSLOCK+SHIFT        *
+;
+VK_4             SHIFT                 \87
+VK_4             CAPSLOCK              4
+VK_4             CAPSLOCK+SHIFT        \87 // dosen't work
+;
+VK_5             SHIFT                 %
+VK_5             CAPSLOCK              5
+VK_5             CAPSLOCK+SHIFT        %
+;
+VK_6             RIGHT_ALT             ª
+VK_6             SHIFT                 &
+VK_6             CAPSLOCK              6
+VK_6             CAPSLOCK+SHIFT        &
+;
+VK_7             RIGHT_ALT             |
+VK_7             SHIFT                 /
+VK_7             CAPSLOCK              7
+VK_7             CAPSLOCK+SHIFT        /
+;
+VK_8             RIGHT_ALT             \9b
+VK_8             SHIFT                 (
+VK_8             CAPSLOCK              8
+VK_8             CAPSLOCK+SHIFT        (
+;
+VK_9             SHIFT                 )
+VK_9             CAPSLOCK              9
+VK_9             CAPSLOCK+SHIFT        )
+VK_;             CAPSLOCK              \9a // dosen't work
+VK_;             CAPSLOCK+SHIFT        E // dosen't work
+VK_'             CAPSLOCK+SHIFT        ?
+VK_,             CAPSLOCK+SHIFT        ;
+VK_.             CAPSLOCK+SHIFT        :
+VK_/             CAPSLOCK+SHIFT        _
+[END keymap]
+
+[keymap german]
+
+;****************************************************************************
+;****************************************************************************
+;***                           German keyboard.                           ***
+;***
+;****************************************************************************
+;****************************************************************************
+; This keymap used on top the keyb gr driver / CP 850
+
+VK_7           RIGHT_ALT               {
+VK_8           RIGHT_ALT               [
+VK_9           RIGHT_ALT               ]
+VK_0           RIGHT_ALT               }
+VK_\                                   ^
+VK_6           SHIFT                   &
+; \99 und \94
+VK_`                                   \148
+VK_`           SHIFT                   \153
+; Gravis- /Akut-Akzent
+VK_]                                   \039
+VK_]           SHIFT                   \096
+
+[END keymap] // german
+
+;===================================================================
+; Czech keyboard definition for use with CP852
+; Add to your AUTOEXEC.BAT
+;     mode con codepage prepare=((852) C:\WINDOWS\COMMAND\ega.cpi)
+;     mode con codepage select=852
+;     keyb cz,,C:\WINDOWS\COMMAND\keybrd2.sys
+;
+; This keyboard driver allows to change US/CZ keyboard by pressing
+; CTRL+ALT+F1 / CTRL+ALT+F2 and is present in W9x installation.
+;
+; Jakub Sterba <sterba@nlk.anet.cz>  Mar-2000 Prague, Czech republic
+;===================================================================
+
+[keymap czech-cz]
+VK_BACK                                 \127
+VK_=             \000
+VK_=   SHIFT     \000
+[END keymap]
+
+[keymap czech-en]
+VK_BACK                                 \127
+VK_=            =
+VK_=   SHIFT    \043
+[END keymap]
+
+;######################################################################
+; Spanish Keyborad Definition
+;
+; I started from ansi definition, and I had to comment several lines
+; and add a few more.
+;######################################################################
+
+[keymap sp]
+
+;-- These lines are from original <ansi> emulation
+
+VK_F1                                  ^[[M
+VK_F2                                  ^[[N
+VK_F3                                  ^[[O
+VK_F4                                  ^[[P
+VK_F5                                  ^[[Q
+VK_F6                                  ^[[R
+VK_F7                                  ^[[S
+VK_F8                                  ^[[T
+VK_F9                                  ^[[U
+VK_F10                                 ^[[V
+VK_F11                                 ^[[W
+VK_F12                                 ^[[X
+
+;-- These lines were added : CAPSLOCK status is not relevant
+;-- for Function Keys
+;
+;-- CAPSLOCK ON or OFF : every key must send same sequence
+VK_F1            CAPSLOCK              ^[[M
+VK_F2            CAPSLOCK              ^[[N
+VK_F3            CAPSLOCK              ^[[O
+VK_F4            CAPSLOCK              ^[[P
+VK_F5            CAPSLOCK              ^[[Q
+VK_F6            CAPSLOCK              ^[[R
+VK_F7            CAPSLOCK              ^[[S
+VK_F8            CAPSLOCK              ^[[T
+VK_F9            CAPSLOCK              ^[[U
+VK_F10           CAPSLOCK              ^[[V
+VK_F11           CAPSLOCK              ^[[W
+VK_F12           CAPSLOCK              ^[[X
+
+;-- These lines are from original <ansi> emulation
+VK_F1            SHIFT                 ^[[Y
+VK_F2            SHIFT                 ^[[Z
+VK_F3            SHIFT                 ^[[a
+VK_F4            SHIFT                 ^[[b
+VK_F5            SHIFT                 ^[[c
+VK_F6            SHIFT                 ^[[d
+VK_F7            SHIFT                 ^[[e
+VK_F8            SHIFT                 ^[[f
+VK_F9            SHIFT                 ^[[g
+VK_F10           SHIFT                 ^[[h
+VK_F11           SHIFT                 ^[[i
+VK_F12           SHIFT                 ^[[j
+VK_F1            RIGHT_CTRL            ^[[k
+VK_F2            RIGHT_CTRL            ^[[l
+VK_F3            RIGHT_CTRL            ^[[m
+VK_F4            RIGHT_CTRL            ^[[n
+VK_F5            RIGHT_CTRL            ^[[o
+VK_F6            RIGHT_CTRL            ^[[p
+VK_F7            RIGHT_CTRL            ^[[q
+VK_F8            RIGHT_CTRL            ^[[r
+VK_F9            RIGHT_CTRL            ^[[s
+VK_F10           RIGHT_CTRL            ^[[t
+VK_F11           RIGHT_CTRL            ^[[y
+VK_F12           RIGHT_CTRL            ^[[v
+VK_F1            LEFT_CTRL             ^[[k
+VK_F2            LEFT_CTRL             ^[[l
+VK_F3            LEFT_CTRL             ^[[m
+VK_F4            LEFT_CTRL             ^[[n
+VK_F5            LEFT_CTRL             ^[[o
+VK_F6            LEFT_CTRL             ^[[p
+VK_F7            LEFT_CTRL             ^[[q
+VK_F8            LEFT_CTRL             ^[[r
+VK_F9            LEFT_CTRL             ^[[s
+VK_F10           LEFT_CTRL             ^[[t
+VK_F11           LEFT_CTRL             ^[[y
+VK_F12           LEFT_CTRL             ^[[v
+;
+;  misc fuctions
+;
+; FIX ME!!!  Some people have reported that these keys don't work.
+VK_SCROLL                              \017
+VK_PAUSE                               \019
+VK_INSERT                              ^[[L
+VK_DELETE        ENHANCED              \127
+VK_HOME                                ^[[H
+VK_PGUP                                ^[[I
+VK_PGDN                                ^[[G
+VK_END                                 ^[[F
+
+VK_INSERT        CAPSLOCK              ^[[L
+VK_DELETE        ENHANCED+CAPSLOCK     \127
+VK_HOME          CAPSLOCK              ^[[H
+VK_PGUP          CAPSLOCK              ^[[I
+VK_PGDN          CAPSLOCK              ^[[G
+VK_END           CAPSLOCK              ^[[F
+
+VK_INSERT        SHIFT                 ^[[L
+VK_DELETE        SHIFT+ENHANCED        \127
+VK_HOME          SHIFT                 ^[[H
+VK_PGUP          SHIFT                 ^[[I
+VK_PGDN          SHIFT                 ^[[G
+VK_END           SHIFT                 ^[[F
+;
+; arrows
+;
+VK_LEFT                                ^[[D
+VK_UP                                  ^[[A
+VK_RIGHT                               ^[[C
+VK_DOWN                                ^[[B
+
+;-- These lines were added : CAPSLOCK status is not relevant
+;-- for Function Keys
+;
+;-- CAPSLOCK ON or OFF : every key must send same sequence
+VK_LEFT          CAPSLOCK              ^[[D
+VK_UP            CAPSLOCK              ^[[A
+VK_RIGHT         CAPSLOCK              ^[[C
+VK_DOWN          CAPSLOCK              ^[[B
+
+;-- These lines are from original <ansi> emulation
+VK_LEFT          SHIFT                 ^[[D
+VK_UP            SHIFT                 ^[[A
+VK_RIGHT         SHIFT                 ^[[C
+VK_DOWN          SHIFT                 ^[[B
+;
+; just in case !!!
+;
+VK_ESCAPE        SHIFT                 \027
+VK_TAB                                 \009
+VK_TAB           SHIFT                 ^[[Z^[[Z
+;
+;---------------------------------------
+;      Athens  30/03/97 10:55pm GMT+2
+;  Correction for Win95
+;
+VK_6             SHIFT                 \094
+
+;-- These lines were commented for <¥> support
+;VK_`                                   \164
+;VK_`             SHIFT                 \164
+
+
+VK_0             CAPSLOCK              0
+VK_1             CAPSLOCK              1
+VK_2             CAPSLOCK              2
+VK_3             CAPSLOCK              3
+VK_4             CAPSLOCK              4
+VK_5             CAPSLOCK              5
+VK_6             CAPSLOCK              6
+VK_7             CAPSLOCK              7
+VK_8             CAPSLOCK              8
+VK_9             CAPSLOCK              9
+VK_ESCAPE        CAPSLOCK              \027
+
+;-- This line was commented for <¥> support
+;VK_`             CAPSLOCK              \164
+
+VK_=             CAPSLOCK              +
+VK_-             CAPSLOCK              ­
+VK_\             CAPSLOCK              \
+VK_[             CAPSLOCK              [
+VK_]             CAPSLOCK              ]
+VK_;             CAPSLOCK              `
+VK_'             CAPSLOCK              '
+VK_,             CAPSLOCK              ,
+VK_.             CAPSLOCK              .
+VK_/             CAPSLOCK              /
+VK_0             CAPSLOCK+SHIFT        =
+VK_1             CAPSLOCK+SHIFT        !
+VK_2             CAPSLOCK+SHIFT        "
+VK_3             CAPSLOCK+SHIFT        ú
+VK_4             CAPSLOCK+SHIFT        $
+VK_5             CAPSLOCK+SHIFT        %
+VK_6             CAPSLOCK+SHIFT        &
+VK_7             CAPSLOCK+SHIFT        /
+VK_8             CAPSLOCK+SHIFT        (
+VK_9             CAPSLOCK+SHIFT        )
+VK_ESCAPE        CAPSLOCK+SHIFT        \027
+
+;-- This line was commented for <¥> support
+;VK_`             CAPSLOCK+SHIFT        \164
+
+VK_=             CAPSLOCK+SHIFT        ¨
+VK_-             CAPSLOCK+SHIFT        ¨
+VK_\             CAPSLOCK+SHIFT        |
+VK_[             CAPSLOCK+SHIFT        ?
+VK_]             CAPSLOCK+SHIFT        ¨
+VK_;             CAPSLOCK+SHIFT        ^
+VK_'             CAPSLOCK+SHIFT        "
+VK_,             CAPSLOCK+SHIFT        <
+VK_.             CAPSLOCK+SHIFT        >
+VK_/             CAPSLOCK+SHIFT        ?
+;
+;
+;---------------------------------------
+;
+; These are for use with Midnight Commander
+; they map Meta key to ALT (Like Linux console, nice isn't it ? )
+;
+
+
+;-- These lines were commented.
+;-- This way keyyboard represents <|> <@> <#> and so on ;
+;VK_0        RIGHT_ALT                  ^[0
+;VK_1             RIGHT_ALT             ^[1
+;VK_2             RIGHT_ALT             ^[2
+;VK_3             RIGHT_ALT             ^[3
+;VK_4             RIGHT_ALT             ^[4
+;VK_5             RIGHT_ALT             ^[5
+;VK_6             RIGHT_ALT             ^[6
+;VK_7             RIGHT_ALT             ^[7
+;VK_8             RIGHT_ALT             ^[8
+;VK_9             RIGHT_ALT             ^[9
+;VK_A             RIGHT_ALT             ^[A
+;VK_B             RIGHT_ALT             ^[B
+;VK_C             RIGHT_ALT             ^[C
+;VK_D             RIGHT_ALT             ^[D
+;VK_E             RIGHT_ALT             ^[E
+;VK_F             RIGHT_ALT             ^[F
+;VK_G             RIGHT_ALT             ^[G
+;VK_H             RIGHT_ALT             ^[H
+;VK_I             RIGHT_ALT             ^[I
+;VK_J             RIGHT_ALT             ^[J
+;VK_K             RIGHT_ALT             ^[K
+;VK_L             RIGHT_ALT             ^[L
+;VK_M             RIGHT_ALT             ^[M
+;VK_N             RIGHT_ALT             ^[N
+;VK_O             RIGHT_ALT             ^[O
+;VK_P             RIGHT_ALT             ^[P
+;VK_Q             RIGHT_ALT             ^[Q
+;VK_R             RIGHT_ALT             ^[R
+;VK_S             RIGHT_ALT             ^[S
+;VK_T             RIGHT_ALT             ^[T
+;VK_U             RIGHT_ALT             ^[U
+;VK_V             RIGHT_ALT             ^[V
+;VK_W             RIGHT_ALT             ^[W
+;VK_X             RIGHT_ALT             ^[X
+;VK_Y             RIGHT_ALT             ^[Y
+;VK_Z             RIGHT_ALT             ^[Z
+
+;-- These lines are from original <ansi> emulation
+VK_0             LEFT_ALT              ^[0
+VK_1             LEFT_ALT              ^[1
+VK_2             LEFT_ALT              ^[2
+VK_3             LEFT_ALT              ^[3
+VK_4             LEFT_ALT              ^[4
+VK_5             LEFT_ALT              ^[5
+VK_6             LEFT_ALT              ^[6
+VK_7             LEFT_ALT              ^[7
+VK_8             LEFT_ALT              ^[8
+VK_9             LEFT_ALT              ^[9
+VK_A             LEFT_ALT              ^[a
+VK_B             LEFT_ALT              ^[b
+VK_C             LEFT_ALT              ^[c
+VK_D             LEFT_ALT              ^[d
+VK_E             LEFT_ALT              ^[e
+VK_F             LEFT_ALT              ^[f
+VK_G             LEFT_ALT              ^[g
+VK_H             LEFT_ALT              ^[h
+VK_I             LEFT_ALT              ^[i
+VK_J             LEFT_ALT              ^[j
+VK_K             LEFT_ALT              ^[k
+VK_L             LEFT_ALT              ^[l
+VK_M             LEFT_ALT              ^[m
+VK_N             LEFT_ALT              ^[n
+VK_O             LEFT_ALT              ^[o
+VK_P             LEFT_ALT              ^[p
+VK_Q             LEFT_ALT              ^[q
+VK_R             LEFT_ALT              ^[r
+VK_S             LEFT_ALT              ^[s
+VK_T             LEFT_ALT              ^[t
+VK_U             LEFT_ALT              ^[u
+VK_V             LEFT_ALT              ^[v
+VK_W             LEFT_ALT              ^[w
+VK_X             LEFT_ALT              ^[x
+VK_Y             LEFT_ALT              ^[y
+VK_Z             LEFT_ALT              ^[z
+VK_RETURN        RIGHT_CTRL            ^[^M
+VK_RETURN        LEFT_CTRL             ^[^M
+; It is correct for telnet to send ^J rather than ^M for return.
+; This is noticeable especially when telnetting in to an smtp server.
+; It would be even more correct to send \x010\x000, since that is what
+; the RFC calls for. (Paul Brannan 5/25/98)
+VK_RETURN                              ^M^J
+; This is for application cursor keys (Paul Brannan 5/27/98)
+VK_LEFT       APP_KEY                  ^[OD
+VK_UP         APP_KEY                  ^[OA
+VK_RIGHT      APP_KEY                  ^[OC
+VK_DOWN       APP_KEY                  ^[OB
+VK_LEFT       APP_KEY+SHIFT            ^[OD
+VK_UP         APP_KEY+SHIFT            ^[OA
+VK_RIGHT      APP_KEY+SHIFT            ^[OC
+VK_DOWN       APP_KEY+SHIFT            ^[OB
+; APP2_KEY is for VT52 support (Paul Brannan 6/28/98)
+VK_LEFT       APP2_KEY                 ^[D
+VK_UP         APP2_KEY                 ^[A
+VK_RIGHT      APP2_KEY                 ^[C
+VK_DOWN       APP2_KEY                 ^[B
+VK_LEFT       APP2_KEY+SHIFT           ^[D
+VK_UP         APP2_KEY+SHIFT           ^[A
+VK_RIGHT      APP2_KEY+SHIFT           ^[C
+VK_DOWN       APP2_KEY+SHIFT           ^[B
+VK_F1         APP2_KEY                 ^[P
+VK_F2         APP2_KEY                 ^[Q
+VK_F3         APP2_KEY                 ^[R
+VK_F4         APP2_KEY                 ^[S
+VK_F5         APP2_KEY                 ^[?w
+VK_F6         APP2_KEY                 ^[?x
+VK_F7         APP2_KEY                 ^[?y
+VK_F8         APP2_KEY                 ^[?m
+VK_F9         APP2_KEY                 ^[?t
+VK_F10        APP2_KEY                 ^[?u
+VK_F1         APP2_KEY+SHIFT           ^[?v
+VK_F2         APP2_KEY+SHIFT           ^[?l
+VK_F3         APP2_KEY+SHIFT           ^[?q
+VK_F4         APP2_KEY+SHIFT           ^[?r
+VK_F5         APP2_KEY+SHIFT           ^[?s
+VK_F6         APP2_KEY+SHIFT           ^[?M
+VK_F7         APP2_KEY+SHIFT           ^[?p
+VK_F8         APP2_KEY+SHIFT           ^[?n
+
+; Fix for the numeric decimal key (Paul Brannan 9/23/98)
+VK_DELETE                              \127
+VK_DELETE     NUMLOCK                  .
+VK_DELETE     NUMLOCK+SHIFT            \127
+
+;-- From this point all definitions are new.
+;
+VK_0             RIGHT_ALT             \
+VK_0             RIGHT_ALT+CAPSLOCK    \
+VK_0                                   §
+VK_0             SHIFT                 ¦
+VK_0             CAPSLOCK              §
+VK_0             CAPSLOCK+SHIFT        ¦
+;
+VK_1             RIGHT_ALT             Ý
+VK_1             SHIFT                 !
+VK_1             CAPSLOCK              1
+VK_1             CAPSLOCK+SHIFT        !
+;
+VK_2             RIGHT_ALT             @
+VK_2             SHIFT                 "
+VK_2             CAPSLOCK              2
+VK_2             CAPSLOCK+SHIFT        "
+;
+VK_3             RIGHT_ALT             #
+VK_3             SHIFT                 ú
+VK_3             CAPSLOCK              3
+VK_3             CAPSLOCK+SHIFT        ú
+;
+VK_4             SHIFT                 $
+VK_4             CAPSLOCK              4
+VK_4             CAPSLOCK+SHIFT        $
+;
+VK_5             SHIFT                 %
+VK_5             CAPSLOCK              5
+VK_5             CAPSLOCK+SHIFT        %
+;
+VK_6             RIGHT_ALT             ª
+VK_6             SHIFT                 &
+VK_6             CAPSLOCK              6
+VK_6             CAPSLOCK+SHIFT        &
+;
+VK_7             SHIFT                 /
+VK_7             CAPSLOCK              7
+VK_7             CAPSLOCK+SHIFT        /
+;
+VK_8             SHIFT                 (
+VK_8             CAPSLOCK              8
+VK_8             CAPSLOCK+SHIFT        (
+;
+VK_9             SHIFT                 )
+VK_9             CAPSLOCK              9
+VK_9             CAPSLOCK+SHIFT        )
+;
+VK_.             CAPSLOCK+SHIFT        :
+VK_/             CAPSLOCK+SHIFT        _
+;
+VK_[                                   '
+VK_[             CAPSLOCK              '
+
+;===================================================================
+; End Spanish Keyboard Definition.
+; Cesar Otero   jcotero@las.es  March-1.999  Ferrol. Coru¤a. SPAIN
+;===================================================================
+[END keymap]
+
+[keymap no-numpad]
+VK_NUMPAD0                              \000
+VK_NUMPAD1                              \000
+VK_NUMPAD2                              \000
+VK_NUMPAD3                              \000
+VK_NUMPAD4                              \000
+VK_NUMPAD5                              \000
+VK_NUMPAD6                              \000
+VK_NUMPAD7                              \000
+VK_NUMPAD8                              \000
+VK_NUMPAD9                              \000
+[END keymap]
+
+[charmap koi8u-cp866]
+   \xE1 \x80 // CYRILLIC CAPITAL LETTER A
+   \xC1 \xA0 // cyrillic small   letter A
+   \xE2 \x81 // CYRILLIC CAPITAL LETTER BE
+   \xC2 \xA1 // cyrillic small   letter BE
+   \xB6 \x49 // CYRILLIC CAPITAL LETTER BELORUSSIAN-UKRAINIAN I
+   \xA6 \x69 // cyrillic small   letter BELORUSSIAN-UKRAINIAN I
+   \xFE \x97 // CYRILLIC CAPITAL LETTER CHE
+   \xDE \xE7 // cyrillic small   letter CHE
+   \xE4 \x84 // CYRILLIC CAPITAL LETTER DE
+   \xC4 \xA4 // cyrillic small   letter DE
+   \xE6 \x94 // CYRILLIC CAPITAL LETTER EF
+   \xC6 \xE4 // cyrillic small   letter EF
+   \xEC \x8B // CYRILLIC CAPITAL LETTER EL
+   \xCC \xAB // cyrillic small   letter EL
+   \xED \x8C // CYRILLIC CAPITAL LETTER EM
+   \xCD \xAC // cyrillic small   letter EM
+   \xEE \x8D // CYRILLIC CAPITAL LETTER EN
+   \xCE \xAD // cyrillic small   letter EN
+   \xF2 \x90 // CYRILLIC CAPITAL LETTER ER
+   \xD2 \xE0 // cyrillic small   letter ER
+   \xF3 \x91 // CYRILLIC CAPITAL LETTER ES
+   \xD3 \xE1 // cyrillic small   letter ES
+   \xE7 \x83 // CYRILLIC CAPITAL LETTER GE
+   \xC7 \xA3 // cyrillic small   letter GE
+   \xFF \x9A // CYRILLIC CAPITAL LETTER HARD SIGN
+   \xDF \xEA // cyrillic small   letter HARD SIGN
+   \xF1 \x9F // CYRILLIC CAPITAL LETTER IA
+   \xD1 \xEF // cyrillic small   letter IA
+   \xE5 \x85 // CYRILLIC CAPITAL LETTER IE
+   \xC5 \xA5 // cyrillic small   letter IE
+   \xE9 \x88 // CYRILLIC CAPITAL LETTER II
+   \xC9 \xA8 // cyrillic small   letter II
+   \xB3 \xF0 // CYRILLIC CAPITAL LETTER IO
+   \xA3 \xF1 // cyrillic small   letter IO
+   \xE0 \x9E // CYRILLIC CAPITAL LETTER IU
+   \xC0 \xEE // cyrillic small   letter IU
+   \xEB \x8A // CYRILLIC CAPITAL LETTER KA
+   \xCB \xAA // cyrillic small   letter KA
+   \xE8 \x95 // CYRILLIC CAPITAL LETTER KHA
+   \xC8 \xE5 // cyrillic small   letter KHA
+   \xEF \x8E // CYRILLIC CAPITAL LETTER O
+   \xCF \xAE // cyrillic small   letter O
+   \xF0 \x8F // CYRILLIC CAPITAL LETTER PE
+   \xD0 \xAF // cyrillic small   letter PE
+   \xFC \x9D // CYRILLIC CAPITAL LETTER REVERSED E
+   \xDC \xED // cyrillic small   letter REVERSED E
+   \xFB \x98 // CYRILLIC CAPITAL LETTER SHA
+   \xDB \xE8 // cyrillic small   letter SHA
+   \xFD \x99 // CYRILLIC CAPITAL LETTER SHCHA
+   \xDD \xE9 // cyrillic small   letter SHCHA
+   \xEA \x89 // CYRILLIC CAPITAL LETTER SHORT II
+   \xCA \xA9 // cyrillic small   letter SHORT II
+   \xF8 \x9C // CYRILLIC CAPITAL LETTER SOFT SIGN
+   \xD8 \xEC // cyrillic small   letter SOFT SIGN
+   \xF4 \x92 // CYRILLIC CAPITAL LETTER TE
+   \xD4 \xE2 // cyrillic small   letter TE
+   \xE3 \x96 // CYRILLIC CAPITAL LETTER TSE
+   \xC3 \xE6 // cyrillic small   letter TSE
+   \xF5 \x93 // CYRILLIC CAPITAL LETTER U
+   \xD5 \xE3 // cyrillic small   letter U
+   \xBD \x83 // CYRILLIC CAPITAL LETTER UKRAINIAN GHE (UPTURN)
+   \xAD \xA3 // cyrillic small   letter UKRAINIAN GHE (UPTURN)
+   \xB4 \xF2 // CYRILLIC CAPITAL LETTER UKRAINIAN IE
+   \xA4 \xF3 // cyrillic small   letter UKRAINIAN IE
+   \xF7 \x82 // CYRILLIC CAPITAL LETTER VE
+   \xD7 \xA2 // cyrillic small   letter VE
+   \xF9 \x9B // CYRILLIC CAPITAL LETTER YERI
+   \xD9 \xEB // cyrillic small   letter YERI
+   \xB7 \xF4 // CYRILLIC CAPITAL LETTER YI (UKRAINIAN)
+   \xA7 \xF5 // cyrillic small   letter YI (UKRAINIAN)
+   \xFA \x87 // CYRILLIC CAPITAL LETTER ZE
+   \xDA \xA7 // cyrillic small   letter ZE
+   \xF6 \x86 // CYRILLIC CAPITAL LETTER ZHE
+   \xD6 \xA6 // cyrillic small   letter ZHE
+[end charmap] // koi8u-cp866
+
+// czech charmap (Petr Balas <petr@petrbalas.cz)
+[charmap czech]
+   \xA0 \x20 //
+   \xA1 \xA4 //
+   \xA2 \xF4 //
+   \xA3 \x9D //
+   \xA4 \xCF //
+   \xA5 \x95 //
+   \xA6 \x97 //
+   \xA7 \xF5 //
+   \xA8 \xF9 //
+   \xA9 \xE6 //
+   \xAA \xB8 //
+   \xAB \x9B //
+   \xAC \x8D //
+   \xAD \x2D //
+   \xAE \xA6 //
+   \xAF \xBD //
+   \xB0 \x20 //
+   \xB1 \xA5 //
+   \xB2 \xF2 //
+   \xB3 \x88 //
+   \xB4 \xEF //
+   \xB5 \x96 //
+   \xB6 \x98 //
+   \xB7 \xF3 //
+   \xB8 \xF7 //
+   \xB9 \xE7 //
+   \xBA \xAD //
+   \xBB \x9C //
+   \xBC \xAB //
+   \xBD \xF1 //
+   \xBE \xA7 //
+   \xBF \xBE //
+   \xC0 \xE8 //
+   \xC1 \xB5 //
+   \xC2 \xB6 //
+   \xC3 \xC6 //
+   \xC4 \x8E //
+   \xC5 \x91 //
+   \xC6 \x8F //
+   \xC7 \x80 //
+   \xC8 \xAC //
+   \xC9 \x90 //
+   \xCA \xA8 //
+   \xCB \xD3 //
+   \xCC \xB7 //
+   \xCD \xD6 //
+   \xCE \xD7 //
+   \xCF \xD2 //
+   \xD0 \xD1 //
+   \xD1 \xE3 //
+   \xD2 \xD5 //
+   \xD3 \xE0 //
+   \xD4 \xE2 //
+   \xD5 \x8A //
+   \xD6 \x99 //
+   \xD7 \x9E //
+   \xD8 \xFC //
+   \xD9 \xDE //
+   \xDA \xE9 //
+   \xDB \xEB //
+   \xDC \x9A //
+   \xDD \xED //
+   \xDE \xDD //
+   \xDF \xE1 //
+   \xE0 \xEA //
+   \xE1 \xA0 //
+   \xE2 \x83 //
+   \xE3 \xC7 //
+   \xE4 \x84 //
+   \xE5 \x92 //
+   \xE6 \x86 //
+   \xE7 \x87 //
+   \xE8 \x9F //
+   \xE9 \x82 //
+   \xEA \xA9 //
+   \xEB \x89 //
+   \xEC \xD8 //
+   \xED \xA1 //
+   \xEE \x8C //
+   \xEF \xD4 //
+   \xF0 \xD0 //
+   \xF1 \xE4 //
+   \xF2 \xE5 //
+   \xF3 \xA2 //
+   \xF4 \x93 //
+   \xF5 \x8B //
+   \xF6 \x94 //
+   \xF7 \xF6 //
+   \xF8 \xFD //
+   \xF9 \x85 //
+   \xFA \xA3 //
+   \xFC \x81 //
+   \xFD \xEC //
+   \xFE \xEE //
+   \xFF \xFA //
+[end charmap] // czech
+
+;
+;  ISO Latin 2 (ISO-8859-2) <-> CP852
+;  Added by Jakub Sterba (sterba@nlk.anet.cz)
+; 
+[charmap iso8859-2-cp852]
+   \xA0 \xAA
+   \xA1 \xA4
+   \xA2 \xF4
+   \xA3 \x9D
+   \xA4 \xCF
+   \xA5 \x95
+   \xA6 \x97
+   \xA7 \xF5
+   \xA8 \xF9
+   \xA9 \xE6
+   \xAA \xB8
+   \xAB \x9B
+   \xAC \x8D
+   \xAD \xF0
+   \xAE \xA6
+   \xAF \xBD
+   \xB0 \xF8
+   \xB1 \xA5
+   \xB2 \xF2
+   \xB3 \x88
+   \xB4 \xEF
+   \xB5 \x96
+   \xB6 \x98
+   \xB7 \xF3
+   \xB8 \xF7
+   \xB9 \xE7
+   \xBA \xAD
+   \xBB \x9C
+   \xBC \xAB
+   \xBD \xF1
+   \xBE \xA7
+   \xBF \xBE
+   \xC0 \xE8
+   \xC1 \xB5
+   \xC2 \xB6
+   \xC3 \xC6
+   \xC4 \x8E
+   \xC5 \x91
+   \xC6 \x8F
+   \xC7 \x80
+   \xC8 \xAC
+   \xC9 \x90
+   \xCA \xA8
+   \xCB \xD3
+   \xCC \xB7
+   \xCD \xD6
+   \xCE \xD7
+   \xCF \xD2
+   \xD0 \xD1
+   \xD1 \xE3
+   \xD2 \xD5
+   \xD3 \xE0
+   \xD4 \xE2
+   \xD5 \x8A
+   \xD6 \x99
+   \xD7 \x9E
+   \xD8 \xFC
+   \xD9 \xDE
+   \xDA \xE9
+   \xDB \xEB
+   \xDC \x9A
+   \xDD \xED
+   \xDE \xDD
+   \xDF \xE1
+   \xE0 \xEA
+   \xE1 \xA0
+   \xE2 \x83
+   \xE3 \xC7
+   \xE4 \x84
+   \xE5 \x92
+   \xE6 \x86
+   \xE7 \x87
+   \xE8 \x9F
+   \xE9 \x82
+   \xEA \xA9
+   \xEB \x89
+   \xEC \xD8
+   \xED \xA1
+   \xEE \x8C
+   \xEF \xD4
+   \xF0 \xD0
+   \xF1 \xE4
+   \xF2 \xE5
+   \xF3 \xA2
+   \xF4 \x93
+   \xF5 \x8B
+   \xF6 \x94
+   \xF7 \xF6
+   \xF8 \xFD
+   \xF9 \x85
+   \xFA \xA3
+   \xFC \x81
+   \xFD \xEC
+   \xFE \xEE
+   \xFF \xFA
+[end charmap] // iso8859-2-cp852
+
+[config ansi]
+   keymap ansi
+[end config]
+
+[config linux ]
+   keymap ansi + linux
+[end config]
+
+[config default_koi8]
+   keymap ansi
+   keymap koi8u + koi8r : VK_/ RIGHT_ALT // russian keyboard
+   keymap koi8u         : VK_. RIGHT_ALT // ukranian
+
+   charmap koi8u-cp866
+[end config]
+
+[config linux_koi8]
+   keymap ansi + linux
+   keymap koi8u + koi8r : VK_/ RIGHT_ALT // russian keyboard
+   keymap koi8u         : VK_. RIGHT_ALT // ukranian
+
+   charmap koi8u-cp866
+[end config]
+
+[config vt100]
+   keymap ansi + vt100
+[end config]
+
+[config uk]
+   keymap ansi + uk
+[end config]
+
+[config uk_vt100]
+   keymap ansi + vt100 + uk
+[end config]
+
+[config at386]
+   keymap at386
+   keymap ibm866        : VK_SCROLL     // russian keyboard PC-866
+[end config]
+
+[config swedish_vt100]
+   keymap ansi + vt100
+   keymap swedish       : VK_/ RIGHT_ALT
+[end config]
+
+[config german]
+   keymap ansi + german
+[end config]
+
+[config sp]
+   keymap sp
+[end config]
+
+[config czech]
+   keymap ansi + czech-cz                             // Czech keyboard (uses DOS driver)
+   keymap ansi + czech-en : VK_F1 LEFT_CTRL+LEFT_ALT  // US keyboard (uses DOS driver)
+   keymap ansi + czech-cz : VK_F2 LEFT_CTRL+LEFT_ALT  // Czech keyboard (uses DOS driver)
+   charmap iso8859-2-cp852       // character conversion remote -> console
+   revcharmap iso8859-2-cp852    // character conversion console -> remote
+[end config]
+
+[config czech_vt100]
+   keymap ansi + vt100 + czech-cz                             // Czech keyboard (uses DOS driver)
+   keymap ansi + vt100 + czech-en : VK_F1 LEFT_CTRL+LEFT_ALT  // US keyboard (uses DOS driver)
+   keymap ansi + vt100 + czech-cz : VK_F2 LEFT_CTRL+LEFT_ALT  // Czech keyboard (uses DOS driver)
+   charmap iso8859-2-cp852       // character conversion remote -> console
+   revcharmap iso8859-2-cp852    // character conversion console -> remote
+[end config]