Fixing Keyboard Problems in Unix/Linux

August 13, 2002

Artwork's programs running on Unix and Linux use Motif on top of X11 in order to connect to your display, keyboard and mouse. Since many different keyboard layouts and languages are supported on Unix, there is a configuration file and support files dedicated to mapping the keys to the actions passed through to the program.

If this mapping is either missing, corrupted or modified for the needs of some other software in a way that is non-standard you may have difficulties in using Motif based applications with your keyboard.

This note describes how to fix this type of problem.

Where the Files are Located

In a standard install there should be directories called:


/usr/lib/X11

and 

/usr/lib/X11/nls

Files used for keyboard and display support are located here by default.

XKeysymDB

In the /usr/lib/X11 directory there should be a file called XKeysymDB present. If not, each time you start an Motif based application various error messages and warnings will appear.

If such warnings appear, try extracting the file XKeysmDB from the motif.nls.tar file provided and place it in the directory.

Installing These Files Yourself

If you find that there is no directory called usr/lib/X11 you can create it yourself and populate it with the required files. You will probably need admistrative rights (i.e. root) to do so.

# mkdir /usr/lib/X11
# cd /usr/lib/X11
# tar xvf motif.nls.tar

The tar extraction will create the require nls subdirectory.

Can't Create usr/lib/X11?

If for some reason you are unable or not permitted to create the usr/lib/X11 directory you can still install the required support files.

Create your own directory e.g. /home/lib/X11 and untar the motif.nls.tar files from that directory.

$ mkdir /home/lib/X11
$ cd /home/lib/X11
$ tar xvf motif.nls.tar

You will need to set an environment variable called XKEYSYMDB that Motif will use to find these files.

Environment Variable: XKEYSYMDB

Depending on your shell, there are slightly different commands used to set the environment variable.

For sh and ksh

XKEYSYMDB=/home/lib/X11/XKeysymDB 
export XKEYSYMDB

For csh

setenv XKEYSYMDB /home/lib/X11/XKeysymDB 

You can put this in your startup profile or you can create a wrapper that launches the Motif program and sets this environment variable first.

Getting motif.nls.tar

motif.nls.tar

 

72KB tar file