Ice Bear SoftCzech/Slovak keyboard for eComStation (OS/2)

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 test.

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.

The documentation which is included with the program is in the Czech language only. You should therefore save this page for reference. If you are viewing your local copy, it may be necessary to disable JavaScript, unless you also have images.js on a proper place.

Contents

1. Licence
2. Installation
3. Keyboard layout
  3.1. Numerical keys (upper row)
  3.2. Combination with dead keys
  3.3. QWERTY/QWERTZ switch
4. Configuration of the keyboard driver
5. Running the driver and the configuration program
6. Download
7. Acknowledgment

1. Licence

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:

  1. Use royalty free Icekeybd for an unlimited time period on unlimited number of computers.
  2. Make arbitrary number of copies for his or her own needs.
  3. Distribute Icekeybd through network (placing it to his or her own www server etc.) provided this kind of distribution is royalty free. The user is allowed to accept fee for connection to is or her server but the fee must not be increased for downloading Icekeybd.
  4. Distribute Icekeybd royalty free separately on an arbitrary medium. The user can accept fee for his or her expenses (postage, price of the medium and fee for copying that must not exceed the price of the medium).
  5. Distribute Icekeybd as a part of an arbitrary collection or his or her product. If the product is commercial, it must be explicitely stated that Icekeybd is provided royalty free and does not increase the price of the product which it is distributed with.

Icekeybd 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 http://icebearsoft.euweb.cz/ecomstation-sw/icekeybd.php

 Top of the page 

2. Installation

The program contains the following files:

File Popis
icekeybd.inf Manual
icekeybd.exe Keyboard driver
icekbset.exe Configuration program
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

Icekeybd comes without an installation program, you have to put the files to proper places manually, or you have to modify settings in CONFIG.SYS. Files *.exe and *.cmd must be in a directory listed in the PATH variable, files *.dll must be in a directory listed in the LIBPATH variable, *.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 created.

Typical view of the folder of the Czech/Slovak keyboard driver

 Top of the page 

3. Keyboard layout

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 following sections.

3.1. Numerical keys (upper row)
3.2. Combination with dead keys
3.3. QWERTY/QWERTZ switch

Chapter Configuration of the keyboard driver explains how you can modify the keyboard layout according to your needs.

3.1. Numerical keys (upper row)

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 1. Symbol + is available from two other keys. If Caps Lock is active, corresponding caps letters will be displayed.

The layout is shown in the following table.

 Top of the page 

3.2. Combination with dead keys

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 apostroph ` 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 ucrepeat 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 i and ű on y because they are close to the base letter. For the reason of proximity I placed ę on w, ą a ă on q and ş on x.

The exact layout is shown in the following table.

 Top of the page 

3.3. QWERTY/QWERTZ switch

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.

If the QWERTZ mode is on, accented characters corresponding to combinations with the dead keys are switche too, e.g. ý and ź. Letter ű then gets to an illogical place. Redefinition with placing it e.g. to h would make more sense.

 Top of the page 

4. Configuration of the keyboard driver

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 manual.

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.

 Top of the page 

5. Running the driver and the configuration program

The keyboard driver can be started by the Rozběhni button and stopped by the 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 CONFIG.SYS contains PROGRAMS. Automatic start is achieved by creating objects of Shadow type in the Startup folder. The configuration is able to detect objects created by itself.

 Top of the page 

6. Download

Download: icekeybd.zip, 954 KB

 Top of the page 

7. Acknowledgment

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.

 Top of the page