[comp.windows.x] Meta Keys on UWS 2.0 and Xt Intrinsics

davidh@dent.Berkeley.EDU (David S. Harrison) (02/26/89)

When I recently upgraded to DEC UWS 2.0 from X11R3,  I noticed
that meta-key bindings in the Xaw text widget no longer worked
(e.g. when I typed Meta-i,  an `i' was inserted into the buffer).
After some exploratory debugging,  I realized that the Xt Intrinsics
concept of Meta is not always portable.  The following quote from
X Toolkit Intrinsics - C Language Interface (Release 3) explains

	For example, ``m'' or ``Meta'' means any modifier bit
	mapping to a keycode whose keysym list contains
	XK_Meta_L or XK_Meta_R.

Unfortunately,  in the default mapping provided by the UWS 2.0
server,  only one keysym is defined for the ``compose character''
key: Alt_L.  Since this is neither XK_Meta_L or XK_Meta_R,  Xt
translation tables do not consider this to be ``Meta''.  Fortunately,
xmodmap comes to the rescue.  If you are running UWS 2.0,  the following
command fixes the problem:

	xmodmap -e 'keycode 0xb1 = Alt_L Meta_L'

More importantly,  should this be considered a bug in the UWS 2.0 server
or is it within the rights of the server implentor to define whatever 
mapping they feel is appropriate?

			David Harrison
			UC Berkeley Electronics Research Lab
			(davidh@ic.Berkeley.EDU, ...!ucbvax!ucbcad!davidh)

swick@ATHENA.MIT.EDU (Ralph R Swick) (03/01/89)

> When I recently upgraded to DEC UWS 2.0 from X11R3,  I noticed
> that meta-key bindings in the Xaw text widget no longer worked
...
> Unfortunately,  in the default mapping provided by the UWS 2.0
> server,  only one keysym is defined for the ``compose character''
> key: Alt_L.
...
> is it within the rights of the server implentor to define whatever 
> mapping they feel is appropriate?

Actually, the server should try as best it can to produce a default
mapping that matches the printed legends on the keyboard.  The
rest of the environment provided to the user should include a
reasonable user-interface to allow modification and/or customization
of the mapping.  xmodmap is currently the only such interface in
common existance.  Ideally this interface would also preserve the
user's preferences across sessions.

In the case you describe, unless you actually have an LK201 keyboard
with a key labelled 'Meta', the server is not strictly permitted to
include the keysym in the default mapping.  The server(s) shipped
in X11R3 do include Meta as a hack, in deference to all of our
friends who have stuck with us all these years.

rws@EXPO.LCS.MIT.EDU (Bob Scheifler) (03/02/89)

    More importantly,  should this be considered a bug in the UWS 2.0 server
    or is it within the rights of the server implentor to define whatever 
    mapping they feel is appropriate?

It should not be considered a bug, but it might be considered a misfeature,
depending on your personal preferences.