[comp.windows.x] xmodmap: bad set modifier mapping

albert@Sunburn.Stanford.EDU (Albert Peters) (03/30/91)

Hi.  Can someone explain why I'm getting this error message?  What does the
message mean?  Is there anyway to do what I want without getting the error?

I'm trying to use xmodmap to reconfigure the keyboard on a VAX 2000
running X.  Most things work, but there is one command which gives a
mysterious error message.  The initial keysyms are as follows:

    keycode keysym
    ------  ------
    175     Control_L
    176     Caps_Lock
    124     Help

I want to make the key which is labeled "Caps_Lock" (176) to act as an 
additional control key.  And, I want the key labeled "Help" (124) to act 
as Caps_Lock.  Here's the part that works:

    % xmodmap -
    remove Lock = Caps_Lock
    keycode 176 = Control_R
    add Control = Control_R
    keycode 124 = Caps_Lock
    ^D
    %

But, when I try to do the last step, the following happens:

    % xmodmap -
    add Lock = Caps_Lock
    xmodmap: bad set modifier mapping
    %

xev reveals that I have successfully assigned "Caps_Lock" to the "Help" key.
But, the modifier map doesn't have it and it doesn't work as desired.

I have also tried KP_F1, F14, F5, and TAB with similar results.

Any insight would be appreciated.  Please respond by EMAIL to 
albert@cs.Stanford.EDU.

Thanks,

--Albert

mouse@lightning.mcrcim.mcgill.EDU (der Mouse) (04/02/91)

> Hi.  Can someone explain why I'm getting this error message?  What
> does the message mean?  Is there anyway to do what I want without
> getting the error?

> I'm trying to use xmodmap to reconfigure the keyboard on a VAX 2000
> running X.  [...]

> But, when I try to do the last step, the following happens:

> [use xmodmap to put Caps_Lock on some other key]

>     % xmodmap -
>     add Lock = Caps_Lock
>     xmodmap: bad set modifier mapping
>     %

According to the R4 sources, this means the call to XSetModifierMapping
returned MappingFailed.

According to the Xlib document,

	An X server can impose restrictions on how modifiers can be
	changed, for example, if certain keys do not generate up
	transitions in hardware, if auto-repeat cannot be disabled on
	certain keys, or if multiple modifier keys are not supported.
	If some such restriction is violated, the status reply is
	MappingFailed, and none of the modifiers are changed.  If the
	new KeyCodes specified for a modifier differ from those
	currently defined and any (current or new) keys for that
	modifier are in the logically down state, XSetModifierMapping
	returns MappingBusy, and none of the modifiers is changed.

I would have to assume your keyboard is such a one.

					der Mouse

			old: mcgill-vision!mouse
			new: mouse@larry.mcrcim.mcgill.edu