The program implements configurable national keyboard for graphical (Presentation
Manager) programs. Switching between the national and the US keyboards is achieved by means of the
Scroll Lock key. The program was originally written for OS/2 Warp 3.0, has been
used for a long time in OS/2 Warp 4.0 and has been recently tested even in
eComStation 1.2. Its distribution has been started only after a successful independent
The program was originally developed for use with the Czech and Slovak keyboards. Afterwards all characters available from the IBM 852 code page have been added to the distribution version. It is thus possible that the keyboard driver is usable also for Polish and Hungarian.
|3.1.||Numerical keys (upper row)|
|3.2.||Combination with dead keys|
|4.||Configuration of the keyboard driver|
|5.||Running the driver and the configuration program|
This licence establishes an agreement between the author of the program, Z. Wagner, Ice Bear Soft, and you as the user. The agreement is valid since the day when you acquire a medium containing this program (further Icekeybd) or you copy it onto your disk from a network (e.g. from a www or ftp server). If you do not agree with this licence, you are not allowed to use or distribute Icekeybd.
The program is provided freely AS IS without any warranty, in the hope that it will be useful for you. In no event should the author be responsible for any damaged caused by use of the programy, direct or indirect, including but not limited to lost profit even if he is notified about the possibility of such damages.
The user is granted the following rights:
may be distributed only as the archive file
icekeybd.zip containing all
the files listed in chapter Installation. Only in case that Icekeybd is
distributed as a part of another product, it may be distributed in a form suitable for the
installation program of the product. if it is not also available in the original archive file, it
must be stated on a sutable place that the original distribution can be retrieved from
The program contains the following files:
|icekbhook.dll||DLL implementing input hook|
|icekbsrv.dll||Driver and configuration program services|
|icekbset.hlp||Help for the configuration program|
|IBSOM30.DLL, IBSOOB3.DLL, IBSOOU3.DLL||Distribution version of the C and C++ libraries|
|icekbdmakefolder.cmd||Script for folder creation|
|icekbdobject.cmd||Sample script for creation and destruction of startup objects|
comes without an installation program, you have to put the files to proper places
manually, or you have to modify settings in
*.cmd must be in a directory listed in the
PATH variable, files
*.dll must be in a directory listed in the
*.inf in a directory listed in the
BOOKSHELF variable and
*.hlp in a directory listed in the
HELP variable. If you have changed
settings in your
CONFIG.SYS, you must now restart your computer.
The programs can be invoked directly from the command prompt but you can also create
a folder on a desktop for them. It is done by the
icekbdmakefolder.cmd script which can be run
either from the command prompt or from the manual. An icon for opening the manual is also
Typical view of the folder of the Czech/Slovak keyboard driver
Normalised Czech keyboard stems from the times of mechanical typewriters. Its main
feature is that the numbers in the upper row are replaced with accented characters. The digits are
accessible from the same keys while pressing the
Shift key simultaneously. We thus
lose a lot of symbols. Other symbols are lost by having three dead keys, for acute, caron (hachek),
and dieresis (umlaut). Although this layout is comfortable for secretaries who took lessons of
typewriting, it is unsuitable to those who write Czech documents in TEX, especially
mathematical texts. Other layout was therefore chosen. Its description can be found in the
|3.1.||Numerical keys (upper row)|
|3.2.||Combination with dead keys|
Chapter Configuration of the keyboard driver explains how you can modify the keyboard layout according to your needs.
Assignment of the accented characters to the numerical keys in the upper row agrees
with the normalised keyboard with one exception: letter
ů was placed to digit
+ is available from two other keys. If
is active, corresponding caps letters will be displayed.
The layout is shown in the following table.
Dead keys consume character which are important for authors of Czech mathematical
documents written in TEX. Moreover, the dead keys are rarely used because most accented
characters are accessible on the numerical keys on the upper row. It seems
therefore useful to have just a single dead key which will be pressed repeatedly. the reverse
` is rarely used in the Czech and Slovak texts, therefore it was chosen for
the dead key.
Character combinations with the dead key is chosen in such a way that pressed once
corresponds to acute, twice to caron (hachek) or circumflex, in case of
u to a ring,
three times to dieresis (umlaut) or other accent. If pressed four times, the dead key as such is
printed. Combinations of the dead key with a space is hardwired in the driver. It offers a faster
way for insertion of the dead key. If an application correctly intepretes the
field of the
WM_CHAR message, pressing the dead key several times followed by the
space will insert corresponding number of dead key characters.
It is, however, also possible to select a mode with three dead keys. In such a case the dead key character can only be inserted by combination of the dead key and space.
The driver was originally written having the Czech and Slovak languages in mind.
However, the IBM 852 code page contains characters for the Polish and Hungarian languages.
Some of them could not be placed according to the above mentioned scheme. Character
was therefore placed on
y because they are close
to the base letter. For the reason of proximity I placed
The exact layout is shown in the following table.
The US keyboard has the
QWERTY layout while the normalised layout of the
Czech keyboard is
QWERTZ. Some users prefer the
QWERTZ layout and thus
the configuration program is equipped with a corresponding switch.
QWERTZ mode is on, accented characters corresponding to
combinations with the dead keys are switche too, e.g.
ű then gets to an illogical place. Redefinition with placing it e.g. to
would make more sense.
Properties of the keyboard driver are set by the
icekbset.exe program that
can be started from the command line, by the
Nastavení české klávesnice icon from the
folder created during installation, or by a hyperlink from the
Properties are set on the
Nastavení page. Values present on this page
are sent to the driver by the
Nastav button. The
Default button resets
the driver to the initial configuration. The
Obnovení button fills the page with the
actual settings of the driver. This button is useful in case that you damage the contents of the
page by mistake. It is thus not necessary to restart the configuration program, pressing a single
button is sufficient.
Properties can be modified even when the driver is running. The changes are activated immediately after they have been written to the driver. The driver need not be restarted.
The keyboard driver can be started by the
Rozběhni button and stopped by
Zastav button from the
Start/Stop page of thr configuration program. The configuration program can safely detect whether the
keyboard driver is running, therefore only one of these buttons is active.
It is also possible to set whether the keyboard driver and/or the configuration
program should be started upon system startup. It should not be necessary if the
AUTOSTART statement in your
Automatic start is achieved by creating objects of
Shadow type in the
Startup folder. The configuration is able to detect objects created by itself.
Download: icekeybd.zip, 954 KB
I would like to thank to J. Kolafa for the idea of a single dead key and its implementation in the Czech/Slovak keyboard driver for DOS.
I also thank to J. Kuben for testing and comments to the program.
Special thanks belong to Jeff Kobal and the Communicator for OS/2 development team at IBM for valuable advices during program debugging and help with making it work with Netscape.