- Configuration

Tutorial
Option Keymap: multiple keyboard mappings

Hide version changes

# Configuration

The statement

    options [+|-]Keymap

enables or disables the option Keymap for the XmetaX proxy. However, only options which are covered by the license key (Licensing) may be enabled. The default setting — no additional options — corresponds to the XmetaX base product.

The following classes of keyboard mappings are distinguished:

The global mapping resembles the normal mapping known by the X Window server.

The default mapping is valid for all X Window clients connecting to the XmetaX proxy in the future. This mapping remains valid even over a server reinitialisation, which occurs when the XmetaX proxy has no more clients.

The client mapping is effective for a single X Window client connected to the XmetaX proxy only.

These classes of keyboard mappings form a hierarchy with regard to their defaults:

The default mapping is changed with respect to the current global mapping of the X Window server.

Each client mapping is initalised by the default mapping, if it is defined.

The configuration program xxmodmap resembles the well-known xmodmap client. However, it provides additional arguments for limiting the effect to one class of keyboard mapping. This is reflected by an extended command syntax:

    /opt/XSOXmetaX/bin/xxmodmap [-display display_name] \
        [-help] [-grammar] \
        [-verbose] [-quiet] [-n] \
        [-e expression] \
        [-pm] [-pk] [-pke] [-pp] \
        [-global] [-default] \
        [-id resource_id] [-name window_name] [-button] \
        [file_name]

First, the usual arguments recognized by both xmodmap and xxmodmap:

-help causes output of the command syntax.

-grammar causes output of the expression grammar.

-verbose makes xxmodmap protocol its actions on the standard output stream.

-quiet disables -verbose.

-n disables the execution of the actions, which are only protocolled like with -verbose.

-e expression specifies a modification. The following expressions are recognized (they should be surrounded by quotation marks to form single arguments):

pointer = default resets the pointer mapping.

pointer = number... sets the pointer mapping.

keycode number = [symbol...] changes or deletes the mapping of one key.

keysym symbol = [symbol...] changes or deletes the mapping of one key.

clear Shift|Lock|Control|Mod1|Mod2|Mod3|Mod4|Mod5 resets all key mappings of a modifier.

add Shift|Lock|Control|Mod1|Mod2|Mod3|Mod4|Mod5 = symbol... assigns keys to a modifier.

remove Shift|Lock|Control|Mod1|Mod2|Mod3|Mod4|Mod5 = symbol... deletes key mappings of a modifier.

-pm makes xxmodmap print the modifier mapping.

-pk yields a tabular output of the keyboard mapping.

-pke yields output of the keyboard mapping as sequence of expressions, which can be loaded as a file.

If not specified otherwise, the above arguments act on the global mapping. The following arguments specify the scope in detail:

-global acts on the global mapping of the X Window server (resembling the functionality of xmodmap). Neither the default mapping nor the client mappings are changed.

-default acts on the default mapping of the XmetaX proxy and therefore has effect only for further clients. The client mappings of running clients are not affected.

-id resource_id acts on the client mapping of the one client which created the resource, for instance a window.

-name window_name acts on the client mapping of the client which created a window with the specified name.

-button acts on the client mapping of the client which receives the following button click.

Like with xmodmap, the modifications of a mapping are specified by expressions on the command line or in a file. If there is no such specification, the appropriate mapping is disabled.

A client with a client mapping does not react to the modification of the global mapping, whether requested by the xxmodmap -global or by the xmodmap command.

top
Tutorial
Option Keymap: multiple keyboard mappings

Copyright © 2016 X-Software GmbH
info@x-software.com
2009-07-30 14:44:05 +0200