[an error occurred while processing this directive]

HP OpenVMS Systems Documentation

Content starts here

HP DECwindows Motif for OpenVMS
Management Guide


Previous Contents Index

3.4.3.2 Enabling the XINERAMA Extension

Although this extension is part of the X display server, it is not enabled by default.

To enable XINERAMA, modify the DECW$PRIVATE_SERVER_SETUP.COM file and redefine the parameter DECW$SERVER_EXTENSIONS so that it includes a value of "XINERAMA." For example:


$ DECW$SERVER_EXTENSIONS == "DEC-XTRAP,XINERAMA"

Save the file and restart the server.

3.4.3.3 Arranging the Monitors

By default, the system uses the physical location of the video cards on the system bus to assign the device names (such as, GYA0, GYB0, etc.). The devices are subsequently assigned screen numbers and initialized in alphabetical order according to device name.

For example in a four-monitor multihead configuration, if you have connected the cables to the video cards in the proper order and placed the monitors side-by-side, the screens should be numbered in either ascending (0, 1, 2, 3) or descending (3, 2, 1, 0) order.

On OpenVMS systems, the order in which screens are initialized is key to proper edge and pointer attachment. Screen 0 should be initialized first (representing the top-left corner of the virtual display), followed by the remaining screens in sequential order, ending with the highest screen number (representing the bottom-right corner of the virtual display). If the screens are not in the proper order, you can do one of the following depending on your screen configuration:

  • Physically move the monitors to the correct placement.
  • Reconnect the cables in the correct order.
  • Edit the DECW$PRIVATE_SERVER_SETUP.COM file and define the DECW$SERVER_SCREENS parameter so that it overrides the default screen initialization order.

Once the screens are in the appropriate order, you can further customize the virtual display using the following edge attachment parameters in DECW$PRIVATE_SERVER_SETUP.COM:

  • DECW$SERVER_EDGE_LEFT
  • DECW$SERVER_EDGE_RIGHT
  • DECW$SERVER_EDGE_TOP
  • DECW$SERVER_EDGE_BOTTOM

These parameters control where each edge of the virtual display is attached.

When the setup process is complete, all the monitors should be active and organized in the proper arrangement. Once you restart DECwindows Motif, the login dialog box for the session is displayed at the center of the virtual display, and you should be able to open application windows and drag them from screen to screen.

3.5 Changing the Default Keyboard Layout

There are two types of keyboard layouts available to DECwindows Motif: the DECwindows keymaps and the X Keyboard keymaps. The following sections describe how to change the default keyboard settings outside of a desktop session. Note that these settings can be overridden by the Session Manager during a desktop session, as described in the Using DECwindows Motif for OpenVMS and Getting Started With the New Desktop manuals.

See Appendix B for a listing of all languages, keyboard models, and keymap names.

3.5.1 Using the DECwindows Keymap Files

To override the default keyboard layout and specify a DECwindows keymap file, determine the correct name from the model number of your keyboard, as follows:

  1. Turn the keyboard upside down and look for a label that specifies the model number. The model number should be in a format similar to LK401--xx.
    The model number may also be listed as simply LK401. In this case, the information you need is in another part of the label, where there will be a number that has the format nn-nnnnn-xx.
  2. Use the xx part of this number to choose a keymap name from Appendix B. The table is arranged based on the language for which each keyboard is designed.
    Choose the keymap ending in:
    • _DP for the data processing keyboard layout
    • _TW for the typewriter layout
    • _LK for an LK-series layout
    • _PC for a PC-based layout
  3. After you choose a keymap name, modify the DECW$PRIVATE_SERVER_SETUP.COM file. For example, to change the keyboard layout to a Dutch typewriter layout, add the following line to DECW$PRIVATE_SERVER_SETUP.COM:


    $ DECW$DEFAULT_KEYBOARD_MAP == "DUTCH_LK201LH_TW"
    
  4. Add a line similar to this for each workstation that does not have a North American keyboard layout, or add this line to the common section for all workstations (if all the workstations use the same keyboard layout).

Example 3-2 shows a sample setup for two workstations with Dutch keyboards and 100-dpi monitors.

Example 3-2 Sample Setup for Dutch Keyboards and 100-dpi Monitors

$do_DUTCH:
$do_DUTCH2:
$ decw$server_density == 100
$ decw$default_keyboard_map == "DUTCH_LK201LH_DP"
$ exit

3.5.2 Using X Keyboard Keymap Files

The X Keyboard keymap files are the standard X Window System alternative to the keymaps provided with DECwindows Motif. They are intended to supplement, rather than replace, the DECwindows Motif keymap files.

You can compile X Keyboard layout files to create loadable keymaps using the X Keyboard Compiler utility (xkbcomp), as described in the following section, or the server will compile the files as needed.

Also, since the X Keyboard keymap format (.XKM) is the accepted, vendor-independent standard for loadable keyboards, you can choose to load .XKM files from other X11R6-based systems and X Window System software providers.

3.5.2.1 The X Keyboard Components Database

The X display server maintains a database of X keyboard components and common keyboard mappings. When combined, these components provide a complete description of a keyboard and its behavior.

The server loads the database from the compiled keymap file specified by the DECW$SERVER_XKEYBOARD_MAP parameter. This file is located in the directory defined by the DECW$SERVER_XKEYBOARD_COMPILED_DIR parameter. If the compiled keymap file does not exist, the server runs the xkbcomp utility to compile the file from its component sources.

The following keyboard component source files comprise the database and are used to produce the loadable keymap files:

  • Keymap source files -- These are the upper-level source files that are specified as input files on the xkbcomp utility command line. The keymap source files reference the other component source files during compilation to produce a complete, loadable keymap (.XKM) file.
    These files are stored in the KEYMAP.DIGITAL subdirectory of the root directory specified by the DECW$SERVER_XKEYBOARD_DIRECTORY parameter. There is one keymap file for each supported language variant, for example:
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.KEYMAP.DIGITAL]US
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.KEYMAP.DIGITAL]JAPANESE
  • Keycode component source files -- These files specify the range and interpretation of the raw keycodes reported by the input device. They set the keycode symbolic names, the minimum and maximum legal keycodes for the keyboard, and the symbolic name for each key.
    The keycode files can also contain aliases for keys, symbolic names for indicators, and a description of which indicators are physically present.
    The keycode component source files are stored in the KEYCODES.DIGITAL subdirectory of the root directory specified by the DECW$SERVER_XKEYBOARD_DIRECTORY parameter, for example:
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.KEYCODES.DIGITAL]LK
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.KEYCODES.DIGITAL]PC
  • Types source files -- These files specify the layout types that can be associated with the various keyboard keys. They affect the types symbolic name and the list of layout types associated with the keyboard.
    The types component can also contain real modifier bindings and symbolic names for one or more virtual modifiers.
    These files are stored in the TYPES subdirectory under the root directory specified by the DECW$SERVER_XKEYBOARD_DIRECTORY parameter, for example:
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.TYPES]BASIC
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.TYPES]DEFAULT
  • Compatibility map source files -- These files specify the rules used to assign actions to keyboard symbols (keysyms) based on the XKB capability (aware or unaware) between the client and server. The XKB capability is determined through the following compatibility transformations:
    • XKB extension state to core state
    • Core keyboard mapping to XKB keyboard mapping
    • XKB keyboard mapping to Core keyboard mapping

    The compatibility map component affects the compatibility symbolic name, the symbol compatibility map, and the group compatibility map. This component can also specify maps for indicators, as well as the real modifier bindings and symbolic names for some virtual modifiers.
    The compatibility map source files are stored in the COMPAT subdirectory under the root directory specified by the DECW$SERVER_XKEYBOARD_DIRECTORY parameter, for example:
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.COMPAT]BASIC
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.COMPAT]DEFAULT
  • Symbols source files -- These files specify the symbols bound to each keyboard key. They affect the key symbol mappings for each key, the keyboard modifier mapping, and the symbolic names for the keyboard symbol groups. The symbols component can also contain explicit actions and behaviors for some keys or the real modifier bindings and symbolic names for some virtual modifiers.
    The symbols source files are stored in the SYMBOLS and SYMBOLS.DIGITAL subdirectories under the root directory specified by the DECW$SERVER_XKEYBOARD_DIRECTORY parameter, for example:
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.SYMBOLS]US
    • DECW$SYSCOMMON:[SYS$KEYMAP.XKB.SYMBOLS.DIGITAL]SWISS_FRENCH
  • Geometry source files -- These files define the geometry of the keyboard. They define the geometry symbolic name and the keyboard geometry description. The geometry component can also contain aliases for keys or symbolic names for indicators and might affect the set of indicators that are physically present. Key aliases defined in the geometry component of a keyboard mapping override those defined in the keycodes component.
    These files are stored in the GEOMETRY subdirectory under the root directory specified by the DECW$SERVER_XKEYBOARD_DIRECTORY parameter, for example:
    • DECW$SYSCOMMON: [SYS$KEYMAP.XKB.GEOMETRY.DIGITAL]LK
    • DECW$SYSCOMMON: [SYS$KEYMAP.XKB.GEOMETRY.DIGITAL]PC
  • Other directories -- The SEMANTICS subdirectory of the base directory DECW$SERVER_XKEYBOARD_DIRECTORY contains a set of files that define the default semantics for keyboard types and compatibility components.
    Files in the base directory DECW$SERVER_XKEYBOARD_DIRECTORY and in subdirectories TMP and RULES are used by the server and should not be modified.

3.5.2.2 Creating an X Keyboard Keymap File

To create an X Keyboard keymap file, do the following:

  1. Edit one or more of the component source files described in Section 3.5.2.1 and make the necessary changes. For example, to swap the left and right parenthesis for all US keymaps, edit SYS$COMMON:[SYS$KEYMAP.XKB.SYMBOLS.DIGITAL]US, as follows:


       .
       .
       .
       19       key <AE09> {       [               9,      parenleft ] };
       20       key <AE10> {       [               0,     parenright ] };
       .
       .
       .
    
  2. Using the xkbcomp utility, compile the component source files to create the modified keymap file. For example, to create a modified keymap file for DIGITAL_US_LK401, compile the sources as follows:


    $  xkbcomp -RDECW$SYSCOMMON:[SYS$KEYMAP.XKB] -xkm -m lk401 -
    _$  DECW$SYSCOMMON:[SYS$KEYMAP.XKB.KEYMAP.DIGITAL]us -
    _$  -o SYS$COMMON:[SYS$KEYMAP.XKB.COMPILED]digital_us_lk401.xkm
    

You can then load the modified, compiled keymap file as described in Section 3.5.2.3.

3.5.2.3 Loading a Compiled Keymap File

To load a compiled X Keyboard keymap file, do the following:

  1. Modify the DECW$PRIVATE_SERVER_SETUP.COM file, and define the value of the DECW$SERVER_EXTENSIONS parameter so that it enables the use of the X Keyboard (XKB) extension, similar to the following:


    $ DECW$SERVER_EXTENSIONS == "XKB,XINERAMA"
    
  2. Define the value of the parameter DECW$SERVER_XKEYBOARD_LOAD_MAP to enable the use of X Keyboard keymaps:


    $ DECW$SERVER_XKEYBOARD_LOAD_MAP=="1"
    
  3. Define the value of the DECW$SERVER_XKEYBOARD_COMPILED_DIR parameter to point to where the keymap files are located. This directory is also where the server places any keymap files that it compiles on demand.
  4. Define the value of the DECW$SERVER_XKEYBOARD_MAP parameter to point to the default X Keyboard keymap to load at server startup.
  5. Save the file and restart the server.

3.5.2.4 Enabling AccessX Key Features

To enable AccessX key features, do the following:

  1. Edit the DECW$PRIVATE_SERVER_SETUP.COM file.
  2. Define the value of the DECW$SERVER_EXTENSIONS parameter so that it enables the use of the X Keyboard (XKB) extension, similar to the following:


    $ DECW$SERVER_EXTENSIONS == "XKB,XINERAMA"
    
  3. Set the value of the DECW$SERVER_ENABLE_ACCESSX parameter to 1 (enabled).
  4. Save the file and restart the server.

You can then further configure the AccessX features using the accessx utility or use the slow and sticky key functions, as follows:

To... Perform This Action...
Toggle slow keys Hold Shift key by itself for eight seconds
Toggle sticky keys Press and release the left or right Shift key five times in a row, without any intervening key events and with less than 30 seconds delay between consecutive presses
Turn off sticky keys Simultaneously press two or more modifier keys.

3.6 Specifying New Fonts

You can add support for new fonts by doing the following:

  1. Place the DECW$FONT file in the DECW$SYSCOMMON: [SYSFONT.DECW.USER_xx] directory.
  2. Update the font database for the server by entering the following command from a privileged account:


    $ @SYS$UPDATE:DECW$MKFONTDIR
    

    This command creates new font directories for all layered-product fonts and runs automatically when DECwindows is installed.

3.6.1 Using Third-Party Fonts

If you want to use a third-party font, choose one of the following options:

Font File is in BDF Format

  1. Obtain the font source in bitmap distribution format (BDF).
  2. Compile the font with the FONT command, as follows:


      $ FONT file-name
    

    See the VMS DECwindows Guide to Xlib (Release 4) Programming: MIT C Binding manual for a full description of the FONT command.
  3. Copy the resulting *.PCF file to one of the following directories:


    SYS$COMMON:[SYSFONT.DECW.USER_75DPI]
    SYS$COMMON:[SYSFONT.DECW.USER_100DPI]
    SYS$COMMON:[SYSFONT.DECW.COMMON_USER]
    
  4. Create new font directories from a privileged account using the following command:


      $ @SYS$UPDATE:DECW$MKFONTDIR
    

End the current session and start a new session for the new font to become available.

Other Third-Party Fonts

To use other third-party fonts, create a DECW$FONT_ALIAS.DAT file in the appropriate font directory.

The format of the font alias file is:

alias-font-name actual-font-name

If the font names contain embedded spaces, enclose the names in double quotes (" ").

The alias-font-name value is the third-party font name, and the actual-font-name value is a DECwindows font name.

See the VMS DECwindows Guide to Xlib (Release 4) Programming: MIT C Binding and HP DECwindows Motif for OpenVMS New Features manuals for supported DECwindows font names.

3.6.2 Enabling Support for Euro Currency Symbol

DECwindows Motif includes support for the euro currency symbol. The euro font sets are installed during the base OpenVMS operating system installation. Choosing the euro option during installation allows you to then enable and display the euro symbol on systems running DECwindows Motif Version 1.3 or higher.

To enable euro support, you need to load the font definitions. Do this by creating a set of euro setup command files, as follows:


$ COPY SYS$COMMON:[SYSMGR]DECW$EURO_APPS_SETUP.TEMPLATE -
_$ SYS$COMMON:[SYSMGR]DECW$EURO_APPS_SETUP.COM
$ COPY SYS$COMMON:[SYSMGR]DECW$EURO_SERVER_SETUP.TEMPLATE -
_$ SYS$COMMON:[SYSMGR]DECW$EURO_SERVER_SETUP.COM

Restart your DECwindows Motif system. The command files are run automatically as part of the DECwindows Motif startup procedure.

Support for the euro locale by the OpenVMS C Run-Time Library is not required for base DECwindows Motif euro support. However, if you want to run Motif applications in a euro locale, you must install euro locale support, which is included in the OpenVMS Alpha and OpenVMS I64 media kits.

3.6.2.1 Displaying the Euro Symbol in DECwindows Motif Applications

Once euro support is enabled on your system, you can display the euro sign with any ISO8859-1 bitmap font on your workstation, with no additional setup. DECwindows Motif applications that use standard ISO Latin-1 fonts to display text will display the euro sign for character 0xA4. The character set portion of the X Logical Font Description (XLFD) name for these fonts is ISO8859-1.

To display the euro sign in a DECterm window, be sure the following two items are selected in the DECterm General Options dialog box:

  • UPSS ISO Latin-1
  • 8-Bit Multinational Characters

3.6.2.2 Using the Keyboard to Manually Enter the Euro Symbol (Alpha Only)

Once euro support is enabled, you can manually enter the symbol using one of the following key sequences, depending on the type of keyboard attached to your system:

Keyboard Type Keymap Key Sequence
LK-style *LK201* keymap Use the same key sequence you use for the universal currency symbol. For example:
Compose+Space o x or Compose+Space O X

Compose+Space x o or Compose+Space X O
Compose+Space 0 x or Compose+Space 0 X
Compose+Space x 0 or Compose+Space X 0
LK-style *LK401* keymap 1 LeftCompose + E
PC-style 2 *LK44* keymap RightAlt + E
     

1Note that the RUSSIAN_LK401_BT keymap does not support the LeftCompose + E key sequence. The POLISH_LK401_BT keymap supports euro input using the LeftCompose + U key sequence.
2Such as, LK44*-**, PCXA*-**, or LK97W-**

3.6.3 Enabling Font Server Support

You can add font servers to the font path by defining the symbol DECW$FONT_SERVERS in the site-specific server section of the file SYS$MANAGER:DECW$PRIVATE_SERVER_SETUP.COM. Depending on the transport type, use one of the following methods:

  • To add support for the TCP/IP transport, specify TCP as the network connection type that will communicate with the font server. Replace node with the Internet node name. Specify the TCP/IP port number for port_number, as shown in the following example:


    $ DECW$FONT_SERVERS == "TCP/node::port_number"
    
  • To add support for the DECnet transport, specify DECNET as the network connection type that will communicate with the font server. Replace node with the DECnet node name. Specify the DECnet object name for network_object.


    $ DECW$FONT_SERVERS == "DECNET/node::network_object"
    

Multiple font servers can be added by defining the symbol as a comma-separated list. The symbol is not case sensitive.

3.7 Setting up an LBX Proxy Server

As illustrated in Figure 1-3, DECwindows supports LBX proxy server implementations. An LBX proxy server implementation can be configured as one of three types:

  • Managed -- The proxy server is managed by a proxy manager. The server can be used by multiple clients to access multiple X display servers. Clients do not need to know the proxy server's server number, they simply provide the requested X display server to the proxy manager. The manager, in turn, either finds the appropriate existing proxy server or starts a new instance of the proxy server automatically.
  • Unmanaged -- The proxy server is started manually. The proxy manager is aware of the server. The proxy server can be used by multiple clients to access multiple X display servers.
  • Standalone -- The proxy server is started manually. The proxy manager is not aware of the proxy server. The server can be used by multiple clients to access a single X display server. Clients need to know the proxy server's number.

DECwindows Motif currently supports the managed and standalone configurations.

In order to use the proxy server and proxy manager components, the LBX option must have been chosen during DECwindows installation. See the HP DECwindows Motif for OpenVMS Installation Guide for information about installing LBX support.

The following sections describe how to enable the LBX extension and configure a proxy server implementation.

Note

Because the communication between the client and the proxy server uses the unoptimized X protocol, the client and the proxy server should always be on the same node or on the same LAN.

Although LBX reduces data flow between systems, it is not recommended for a LAN-only environment. While it does reduce overall traffic flow, this comes at a cost of increased processing requirements. This generally results in a slight decrease in performance in a LAN-only environment.


Previous Next Contents Index