XKEYB - version 1.50.
Keyboard driver for ms - DOS.
D o c u m e n t a t i o n.
XKeyb 1.50 documentation page 2 (C) 1994 Dietmar Höhmann
Contents
Contents.......................................................2
What is XKeyb ...............................................3
As XKeyb is used. ....... 4
The structure of a configuration file. ....... 6
Improved storage utilization with XKEYBRES..................... 10
The on-line documentation XKEYB.HLP..........................11
PI - the Program Interface of XKeyb.......12
The use of the PI with the unit XKeyb_PI.......18
The operation of the macro recorder KeyMan......20
Version differences........................................21
Disclaimer......................23
The files belonging to XKeyb.............24
XKeyb 1.50 documentation page 3 (C) 1994 Dietmar Höhmann
What XKeyb is.
With XKeyb it concerns itself, as the name lets assume, over
a keyboard driver with a certain relationship to
long-known KEYB.COM.
Like Keyb also XKeyb is a keyboard driver for DOS computers,
resident in the memory one installs and by parameters for
different countries to be configured knows.
However the configuration options go far over those
of Keyb outside. Thus XKeyb does not only leave itself for
different
Nationalities configure, but also after personal
Adapt to desires.
On the one hand XKeyb permits the free occupying of all keys
up
five levels, (normally, with Shift, with Control, with Alt
and also
Alt Gr or Control and Alt) on the other hand it offers the
possibility to associate character strings with individual
keys on certain levels, too. Furthermore can for each key
separated to be determined whether it of Caps LOCK, Num LOCK
or
Scroll LOCK is influenced, and the functions SHIFT, control
and Alt can be put on any keys. (Whom
pleases...)
For programmers the program INTERFACE is meant from XKeyb.
It enables the access to large functions.
XKeyb 1.50 documentation page 4 (C) 1994 Dietmar Höhmann
How XKeyb is used.
The basic use of XKeyb is approximately identical
to of Keyb.
The program is installed with
XKEYB < configuration file >
In the scope of supply is standard configuration
files for all countries, which are supported also by Keyb,
contained.
The name of these files sits down from the well-known
Land contraction and the extension KEY together.
The statement around XKeyb for a German keyboard too
install reads thus:
XKEYB GR
or
XKEYB GR.KEY.
Apart from the standard definitions still the file belongs to
XKeyb
GR2.KEY. This contains a definition for a German
Keyboard with slight modifications. Additionally is the
function of the Caps LOCK key of SHIFT LOCK in a genuine
Caps
LOCK, which applies exclusively to the character keys,
modified.
These standard definitions are as basis for
non-standard adjustments of the key assignment serve.
All manipulations at the key assignment become with XKeyb
over definition files made, those according to standard
those
Extension KEY carry. In the case of use of other extensions
must these for the call of XKeyb explicitly be indicated.
With the definition files it concerns text files after
the model of the INI files. The exact structure becomes in
the next
Section describes.
If the key allocation after the installation of XKeyb
to be modified is, then this is by a renewed call
of XKeyb with another definition file easily
possible. (it does not become a new resident copy of XKeyb
produced.)
However still another word is too in this connection
To say extension String. Under normal conditions XKeyb
reserves
with the installation only as much workstation for such
XStrings, how
actually one needs (rounded up to full paragraphes).
If subsequently further XStrings is to be created, then can
that because of the available storage space fail. Around
this too
prevent exists the possibility, the storage space, for
XStrings to be reserved is to determine explicitly. In
addition
XKeyb 1.50 documentation page 5 (C) 1994 Dietmar Höhmann
install for XKeyb with the option '/Xnn ', whereby nn
those
Memory capacity in bytes indicates. Around XKeyb e.g. with
480 bytes
Workstation for XStrings and with German key assignment too
install is necessary this instruction:
XKEYB GR /X480
or
XKEYB /X480 GR
Apart from the option /X still the options /U know and /Q
are indicated. /U(ninstall) removes the resident copy from
XKeyb from the memory (if this is possible), /Q(uiet)
suppresses the output of LIST paragraph in
Configuration files (see also next section).
XKeyb 1.50 documentation page 6 (C) 1994 Dietmar Höhmann
The structure of a configuration file.
A configuration file for XKeyb is divided into several
Paragraph, those in each case a part of the entire
Keyboard definition contain. Thus the paragraph defines
KEYS
the actual key allocation, i.e. which characters and if
necessary.
which XStrings on which key is situated. In the paragraph
XStrings
the appropriate extension Strings are defined. That
Cut off SHIFTS determines, which keys the functions
SHIFTS, control and Alt are assigned. Furthermore can in
COMBI combination character to be defined (e.g. ^ +
a = â) additionally arbitrarily many can into the definition
file
COMMENT and LIST paragraph to be inserted.
Such a paragraph becomes by its name in angular
Brackets initiated. The sequence of the paragraph is
without
Meaning. The file GR2.KEY is a practical example of
the structure of a definition file.
A detailed view of the individual paragraph:
[ KEYS ]
This paragraph contains of defined key per a line.
This begins with the Scancode of the key. At these can
itself, without gap, or several of the letters N,C
and S attach, according to whether the key of NUM -, CAPS
and
SCROLL LOCK to be influenced is. Is or several
these characters indicated, then the key with that produces
appropriate luring branch the same character, which produces
becomes, if the key with SHIFTS is pressed.
Afterwards, in each case by blanks separately, those follow
Allocations for 5 key levels: Normally, with SHIFTS, with
control,
with Alt, with Alt Gr. thereby know either the characters
or
their ASCII values indicated as placed in front of a hash makr
(#)
become. Characters with ASCII values than 36 are smaller,
are to be always indicated as decimal numbers as '#'.
Becomes instead of a character a decimal number with placed
in front
Exclamation mark indicated, then becomes the key the number
belonging extension String assigned. Those are permitted
Numbers 1-200. Values over 200 are special functions
assigned:
Worth meaning
XKeyb 1.50 documentation page 7 (C) 1994 Dietmar Höhmann
Reserved for XFunctions (see sections over the PI) 201 -
240
Reserves 241 -
246
OS/2 2.0: DOS box close. (Alt, f4) 247
Reserves 248,249
250 switching to BIOS Tastaturtreiber (control, Alt, F1)
Reserves 251-253
Print screen (hardcopy) 254
System RESET (control, Alt, Del) 255
[ SHIFTS ]
In the paragraph SHIFTS are defined the shift keys. In
addition
their Scancodes, in each case by blanks, is separated into
this sequence indicated:
Shift1 Shift2 control Alt Scroll Num Caps INSERT
[ XSTRINGS ]
In this paragraph extension Strings are defined. This
occurs in the form:
< number > < String >
It is to noting that between the number and the String
accurately a blank to be must. Everything which this blank
follows as extension String one interprets.
In the paragraph the String of a key knows KEYS assigned
become (s.o.)
Valid numbers for XStrings are the values 1-200.
Example:
[ XSTRINGS ]
1 Dat is ' ne Schdring
2 YOU * ABC |
SORT |
MORE\n
17 Yours sincerely
123 \[DEL]\[CD]\[AF10 ]
As the example lets assume, is with the definition of
XStrings various special characters admissible. Hereunder
applies it that
XKeyb 1.50 documentation page 8 (C) 1994 Dietmar Höhmann
basically all special characters with a backslash
are initiated.
The special characters and their meaning:
Special character produced / corresponds
\\ \
\Axxx characters with the ASCII value xxx.
\Sxxx key with the Scancode xxx.
\n carriage return. \A013 corresponds.
\[HOME] key Home / pos 1.
To \[END] key end / end.
\[PU] key PAGE UP / picture upward.
\[PD] key PAGE down / picture downward.
\[CL] key cursor left.
\[CR] key cursor right.
\[CU] key cursor UP.
\[CD] key cursor down.
\[DEL] key Del / distance.
\[INS] key in / Einfg.
\[Fx] function key x.
\[SFx] SHIFTS + function key x.
\[CFx] control + function key x.
\[AFx] Alt + function key x.
To the words HOME, END, PU, PD, CL and CR can the letter C
[COMBI]
Here combination characters are defined. The first
character
XKeyb 1.50 documentation page 9 (C) 1994 Dietmar Höhmann
Combination of signs. Whereupon n of pairs of characters
follows, i.e.
Example:
' aá eé ií oó uú #32 '
This line defines the combinations of signs:
' +a=á
Representable characters do not become by their ASCII value
also
^! aâ
This line deletes all combination characters, which begin
with ^
[ CONTINUE ]
A OCNcTcIcNcUcE PARAGRAPH contains only one line. In this
[ COMMENTS ]
By XKeyb one ignores.
[ CUNNING ]
XKeyb gives contents of such a paragraph, if it
XKeyb 1.50 documentation page 10 (C) 1994 Dietmar Höhmann
Improves storage utilization with XKEYBRES
The program XKEYB occupies after the installation in
Additionally things are to be considered with XKEYBRES two:
Example of use:
Merging XKEYB using of XKEYBRES in that
@Echo off
XKeyb 1.50 documentation page 11 (C) 1994 Dietmar Höhmann
The on-line documentation XKEYB.HLP
Starting from the XKEYB version the file is attached to 1.5
XKEYB.HLP. This
XKeyb 1.50 documentation page 12 (C) 1994 Dietmar Höhmann
PI - the program INTERFACE of XKeyb.
The program INTERFACE is an interface for others
The functions of the PI and their application in detail:
Installation CHECK (80h)
With this function it can be checked whether XKeyb resident
Input: AX=AD80h
Output: AL=00h - > no keyboard driver.
Set key board mapping (82h)
This function switches between XKeyb and the BIOS
Input: AX=AD82h
Output: CF=1 - > errors
While the functions 80h and 82h also with KEYB.COM available
Set key translation (90h)
The function of this function is it, the translation of a
key
XKeyb 1.50 documentation page 13 (C) 1994 Dietmar Höhmann
Input: DI=key number (= Scancode of the key)
Output: AX=0 - > everything clearly
Note:
The meaning of the key status:
Bit meaning (bit = 1)
0 key becomes by SCROLL LOCK
1 key becomes from NUM LOCK
2 key becomes by ACPcS LOCK
3 key is on level 4 (AltGr)
4 XStr/XFunc on level 3 (Alt)
5 XStr/XFunc on level 2 (control)
6 XStr/XFunc on level 1 (SHIFT)
7 XStr/XFunc on level 0 (without
GET key translation (91h)
The counterpart for function 90h.
Input: AX=AD91h
Output: AX=0 - > ok one. BX, cx, dx contain allocation.
WAIT for key hit (94h)
XKeyb 1.50 documentation page 14 (C) 1994 Dietmar Höhmann
How the name already says, this function waits for one
Input: AX=AD94h
Output: AH=virtual scancode
Note:
PUT key into more buffer (95h)
The function of this function consists of it, a transferred
Input: AX=AD95h
Output: AX=0 - > ok one
Set XString (96h)
With set XString is modified an extension String or again
Input: AX=AD96h
Output: AX=0 - > ok one
Note:
XKeyb 1.50 documentation page 15 (C) 1994 Dietmar Höhmann
a zero byte, followed of the virtual Scancode of the key in
GET XString (97h)
The counterpart to set XString.
Input: AX=AD97h
Output: AX=0 - > ok one. String is starting from ES:DI.
Set XFunction (98h)
This function resembles the function 96h, with the
difference,
Input: AX=AD98h
Output: AX=0 - > ok one. BL = function code.
Note:
XKeyb 1.50 documentation page 16 (C) 1994 Dietmar Höhmann
If the indicated routine is executed immediately (BH=1), is
CLEAR XFunction (99h)
A XFunction definition deletes.
Input: BL=Nummer of the XFunction (201-240)
Output: AX=0 - > ok one
Set translation table ADDRESS (9Ah)
The address of the keyboard translation table sets.
Input: ES:DI=Adresse of the new table
Output: AX=0 - > ok one
Note:
GET translation table ADDRESS (9Bh)
Determines the address of the current translation table.
Input: AX=AD9Bh
Output: ES:DI=Zeiger on translation table.
GET read XString (9Ch)
Determines the number of the last defined XStrings.
XKeyb 1.50 documentation page 17 (C) 1994 Dietmar Höhmann
Input: AX=AD9Ch
Output: BL=Nummer of the last XStrings
GET combi nation table ADDRESS (9Dh)
Address of the table with the combination characters get.
The table possesses the following structure:
1. Entry
After the last entry a zero byte follows.
The size of the table amounts to, max including zero byte.
Input: AX=AD9Dh
Output: ES:DI=Zeiger on table.
GET SHIFT table ADDRESS (9Eh)
Determines the address of the list with the Scancodes that
Shift1 Shift2 control Alt Scroll Num Caps INSERT
Input: AX=AD9E
Output: ES:DI=Zeiger on table.
XKeyb 1.50 documentation page 18 (C) 1994 Dietmar Höhmann
The use of the PI with the unit XKeyb_PI.
XKeyb_PI is a turbo Pascal unit, those the functions of the
PI
Function test in valley LED: Word;
Procedure XKeybOn(B: Boolean);
Procedure SetKey(KeyNum, normal, SHIFT, control, Alt, AltGr,
Status);
Procedure GetKey(Num:Byte;Var
Procedure WaitForKey(Var VScan, RScan, ASCII, key act,
Ebene:Byte);
Procedure PutKey(Ascii, Scan: Byte);
Procedure SetXStr(Num: Byte; XStr: String);
Procedure GetXStr(Num: Byte; Var XStr: String);
Procedure SetXFunc(Var Num:Byte; CallConv:Byte;
Procedure ClearXFunc(Num: Byte);
Procedure SetTable(P: Pointer);
Function TableAdr: Pointer;
Function LastXStr: Byte;
Function combi combiaddrcombi addr: Pointer;
Function SHIFT SHIFT addrcShift addr: Pointer;
After the reading of the section concerning the PI the
function should
Except these functions, those directly functions of the PI
XKeyb 1.50 documentation page 19 (C) 1994 Dietmar Höhmann
Both are only within a XFunction routine used
Enter protects the DS register, loads DS with the address of
the TP
Leave resets SS:SP and DS on its old values.
A XFunction routine could look thereby as follows:
Type type of key = record
When using Enter and Leave the routine arbitrary may
XKeyb 1.50 documentation page 20 (C) 1994 Dietmar Höhmann
The operation of the macro recorder KeyMan.
To XKeyb among other things also the program KEYMAN.EXE
belongs.
To the loading of KeyMan, which functions only if XKeyb
Have a key to be remapped pressed appear those
You pressed the Hotkey after the activation of KeyMan,
If you an interactively created key allocation protect
XKeyb 1.50 documentation page 21 (C) 1994 Dietmar Höhmann
Version differences
Version 1.1:
Completed around programming INTERFACES.
Again: Macro recorder KeyMan.
Version 1.2:
Implementation of combination characters.
Version 1.22:
Function modified by Control+Break in call of INT 1Bh and
Error correction: The combinations of keys ALT+1 to ALT+0
and
Version 1.24:
Special function 247: Call of INT 19h.
Elimination of errors: With in the file the GR2.KEY defined
Documentation is present as WinWord file.
Version 1.3:
Errors with switching on BIOS Tastaturtreiber recovered.
Problem with not functioning backslash in the MS-DOS
wordprocessor
With computers with AMI BIOS no memory test becomes with warm
start
Error during automatic size adjustment of the storage area
Extended keyboard status becomes, up to the bit for the
right
Version 1.5:
XKeyb 1.50 documentation page 22 (C) 1994 Dietmar Höhmann
Improves possibilities of loading the driver into UMBs
through
Manual as on-line documentation for Windows 3.1.
XKeyb 1.50 documentation page 23 (C) 1994 Dietmar Höhmann
Use conditions.
Xkeyb is subject the `GNU to general public license '.
Xkeyb is placed more under the `GNU general public license '.
XKeyb 1.50 documentation page 24 (C) 1994 Dietmar Höhmann
The files belonging to XKeyb.
File description
XKEYB.EXE keyboard drivers XKeyb.
XKEYB.DOC this documentation as Winword 2.0-Datei.
XKEYB.TXT this documentation as ASCII file.
GR2.KEY definition file for German keyboard.
??.KEY definition files for all countries, of
PC8.KEY definition file for standard
PC850.KEY definition for combination characters with the
PC850
ECMA94.KEY definition for combination characters with the
ECMA
KEYMAN.EXE macro recorders KeyMan.
KEYMAN.PAS source code to KeyMan.
LISTXDEF.EXE program for the output the ATS. Key assignment.
LISTXDEF.PAS source code too LISTXDEF.
XKEYB_PI.PAS TP unit for the program INTERFACE.
XKEYBRES.EXE reduced version of XKeyb. Contains only that
XKEYB.HLP XKeyb on-line documentation for Windows 3.1
copying.txt GNU general public license
Files altogether: 32
are placed in front. This corresponds to the printing on
those
respective key with pressed <
each line is the first characters one
in each case the second character of the combination of signs
and that
resulting characters.
' +e=á
' +<space> = '
placed in front a hash mark (#) indicated.
A special function comes to the exclamation mark: It deletes
those
existing definition for a group of combination characters:
and afterwards the combination defines ^+a=â.
again is the name of a configuration file.
If XKeyb finds such a paragraph, then the handling becomes
the current configuration file terminates. Becomes
subsequently,
the indicated configuration file processes. In this way
a concatenation of configuration files is possible.
not through /Q is suppressed, on the display out.
Normal case of fewer memory, than the original MSDOS
Keyboard driver. But by the relatively large routines to
Loading of the configuration files needs the keyboard driver
during the installation far more memory, than its DOS
Counterpart, which load from XKEYB into the upper memory very
much
made more difficult.
Around here remedy to create the program of XKEYBRES
developed. It
contains all sections the keyboard driver, which remain
resident,
but only minimum initialization routines. Thus that becomes
Program substantially smaller and can into memory areas
starting from one
Size by approx. 10KB to be loaded.
The disadvantage: When the loading XKEYBRES does not become
Keyboard definition loaded. I.e. all keys are undefined
and no characters produce. Thus by it the keyboard
, remains the keyboard driver is not blocked first
deactivated (so as if it would be deactivated with Alt
control F1
).
After the initialization of XKEYBRES can with XKEYB
< definition file > a keyboard definition to be loaded.
The keyboard driver becomes also automatic in the active
Status switched.
On the one hand the program becomes basically resident with
the call
Installed. even if already a keyboard driver
is installed.
On the other hand can the size of the storage area for
Extension character strings (option /X) with XKEYBRES not
are indicated. XKEYBRES always reserves 923 byte for
Extension character strings.
Start file AUTOEXEC.BAT could look for example in such a
way:
...
LH XKEYBRES
XKEYB GR /Q
...
this program documentation contains as Windows
3.1-Hilfedatei.
For starting the on-line documentation you start the file
XKEYB.HLP under Windows 3.1. (from the file or that
Programmanager.)
Programs, over which all functions are served by XKeyb
can. Apart from functions for the modification of the key
assignment
it places also to functions to the extended keyboard inquiry
and
ready for the definition of Hotkeys.
The PI is addressed over the multiplexer INTERRUPT (INT
2Fh). The register must AH the value ADh and the register
AL the number of the function which can be required
contain.
is installed.
AL=FFh - > BX=584Bh - > XKeyb
more installiert.CX=Versionsnummer
BX<>584Bh - > other keyboard driver. (probably
KEYB.COM)
Keyboard driver over. (Control-Alt-F1 / F2)
BL=00h - > BIOS Tastaturtreiber
BL=FFh - > XKeyb
CF=0 - > everything clearly.
are, all following exist exclusively with XKeyb off
Version 1.20.
to change.
BL=Normal translation
CH=translation with SHIFTS
CL=translation with control
DH=translation with Alt
DL=translation with AltGr / Control+Alt
BH=key status
AX=4 - > bad key number
The allocations are direct either ASCII values, those the
key
or the numbers of XStrings/XFunctions are assigned.
influenced
influenced
influenced
with XStr occupies
Everything)
DI=Tastennummer
AX=4 - > bad key number.
Depressing the key. Contents of the keyboard buffer become
ignored.
BH=real Scancode
AL=ASCII value
BL=key status
DH=key level (0-4)
The return of two Scancodes likes first confusing
appear. The reason for it is following: Some keys
produce with certain shift keys another Scancode
as normal (the virtual Scancode). This is e.g. with that
Function keys F1-F10 and a part of the cursor keys that
Case. With the remaining keys both Scancodes are alike.
BL contains the keyboard status from 0:417h and gives the
status
the shift keys on.
DH indicates the key level, from which the ASCII value
originates.
to store ' key ' in the Tastaturbuffer.
BH=Scancode (virtual)
BL=ASCII value
AX=5 - > Buffer fully
created.
BL=XString number (1-200)
ES:DI=Pointer to the string
AX=1 - > bad XString number
AX=2 - > XString memory fully
The first byte of the String must the length contained
(Pascal
String).
NO special characters (as \n or \S072) are translated.
The XString keys is not to contain, ASCII value
produce (like cursor and function keys), then are these
through
To enter String.
The allocation ' ABC\[F11]DEF\n ' became thus by the
String
' ABC'#0#87'DEF'#13 achieves.
BL=XString number
ES:DI=Pointer to Buffer for String
AX=1 - > bad XString number.
AX=3 - > XString does not define.
that it does not define XString, but a XFunction.
Similarly as occupied with XStrings keys with XFunctions can
become. For XFunctions thereby the numbers 201 to 240 are
reserved.
A key is pressed, which is occupied with a XFunction,
can 3 things occur:
1. The function is executed immediately
2. The function becomes with the next INT16 (keyboard BIOS)
executed.
3. The function is not executed. Instead becomes
Flag set, which indicates that the function was activated.
BL=Function number (0=Unused function code
look up)
BH=Calling convention: 0=next INT16
1=Immediately
2=Flag set
ES:DI=Pointer to routine / flag
AX=1 - > bad XFunction number
AX=6 - > no function code freely
AX=7 - > illegal call convention
The indicated routine must be FAR. It receives as parameter
a Word, that in the upper byte the Scancode of the key and
in
lower byte the keyboard status contains. This serves that
Distinction, if several keys the same function
release.
If BH contains the value 2, then this Word will activate with
the that
Function with ES:DI stored. Everything else is then thing of
the
appropriate program.
during the execution the hardware INTERRUPTS not yet again
de-energised (the INTERRUPT CONTROLLER has still no EoI
received). Therefore the call convention 0 should if
possible
are preferred. Are during the execution of the routine
all usual INTERRUPTS certified.
Within the routine it is to be made certain that before one
Access to the own data segment the DS register
accordingly to be set must. Furthermore it is advisable
to switch if necessary to an own stack.
Registers DS and BP are to resemble during the return branch
Values contain, as with the entrance.
AX=1 - > illegal XFunction number
AX=8 - > indicated XFunction is not occupied
This function enables the administration of several
Key assignments, by switching the translation table.
Each table consists of 100 entries. These again exist
from the allocations for 5 levels and the status byte as the
latter
Byte of the entry. If with this function a new table
it is adjusted, should be guaranteed that these also
is initialized or still becomes. Otherwise those produces
Keyboard confused characters.
First character of the combination (e.g. ')
Number of following combinations (e.g. 2)
1. Combination
Second character of the combination (e.g. a)
Resulting character (e.g. a)
2. Combination
Second character of the combination (e.g. i)
Resulting character (e.g. i)
2. Entry
...
192 byte.
Shift keys:
for Pascal makes available.
It contains a set of functions, those of calls
directly to the PI pass on:
Standard, SHIFT, CTRL, Alt, AltGr, status);
Adresse:Pointer);
these routines to some extent clearly its. Otherwise,
contains
the file XKeyb_PI.PAS further information.
After the execution one of these functions contains those
Variable errors the error status: 0 = no error, otherwise
Error code (see XKeyb_PI.PAS and sections over the PI)
represent, contain the unit still 2 further routines: Enter
and Leave.
become.
Data segment and SS:SP adjusts to the TP stack.
Stat, Scan: Byte;
End;
{ $$F+ } { routine must be FAR! }
Procedure MyHotkey(Key: Type of key);
Begin
Enter;
DoIt(Key);
Leave;
End;
{ $$F - }
global, however NO local variable use.
This limitation refers however only to the XFunction
Routine. All of these called routines may do arbitrary
Variable ones produce and use.
It concerns a simple macro recorder, that
resident in the memory one installs and, via Hotkey
called, the simple Umbelegen of keys enables.
already in the memory, can it is activated over the Hotkey
become. The standard Hotkey is F11.
After the activation opens on the display
Window. Now you can press either a key, those again
to be occupied is, or however the Hotkey, around a new
Hotkey
to adjust.
current allocation. These can now edit you.
backspace deletes the last character / the last key and that
Hotkey terminates the input. All other keys become
attached.
In order to input a backspace, that transferred to the
allocation
Alt and 8 will press you on the numeric key block.
After operation of the Hotkey the window and those disappear
Key is provided with the allocation. Exception: It
occurred
Error up. In this case an appropriate message appears
with a key to be acknowledged must.
If the new allocation more than one character is covered
a XString produces automatically and on the key put.
requests KeyMan you to press the new Hotkey. After
Operation of a key disappears the window and this key
is the new Hotkey.
want, then you can by means of
LISTXDEF > xyz.KEY
do.
Elimination of errors with call of the INT15h (interface for
Addition keyboard driver)
Production of ^C.
ALT+ ' produce the correct virtual Scancodes starting from
1.22.
Under DOS: Computer again boats (does not function on all
Systems)
Under OS/2 2.0: DOS box close.
XStrings supply the keys F11 and F12 the correct
virtual Scancodes.
recovered.
more executed.
for XStrings recovered.
Control key, supports.
XKEYBRES.
Details `copying.txt see '.
Lake `copying.txt ' for details.
KEYB.COM to be supported. (17 files)
combination characters.(= code PAGE 437 with KEYB.COM)
Character set. (= code PAGE 850 with KEYB.COM)
94 Latin 1-character set.
Part, the resident remains. Can thereby more easily
into UMBs to be loaded.
The file XKEYB.TXT was passed through the German->English translator at:
babelfish.altavista.digital.com, and
then one or the other German word, that was left in the text, was translated manually.
You wanted it, you got it ;-)