Hi, 

XFree86 broken the logic behind this bit of code in event-Xt.c:

            /* If this key contains two distinct keysyms, that is,
               "shift" generates a different keysym than the
               non-shifted key, then don't apply the shift modifier
               bit: it's implicit.  Otherwise, if there would be no
               other way to tell the difference between the shifted
               and unshifted version of this key, apply the shift bit.
               Non-graphics, like Backspace and F1 get the shift bit
               in the modifiers slot.  Neither the characters "a",
               "A", "2", nor "@" normally have the shift bit set.
               However, "F1" normally does. */
            if (modifiers & XEMACS_MOD_SHIFT)
              {
                int Mode_switch_p = *state & xd->ModeMask;
                KeySym bot = XLookupKeysym (ev, Mode_switch_p ? 2 : 0);
                KeySym top = XLookupKeysym (ev, Mode_switch_p ? 3 : 1);
                if (top && bot && top != bot)
                  modifiers &= ~XEMACS_MOD_SHIFT;
              }

They (and I imagine x.org, until itâs proven otherwise) are shipping with
keymaps that bind, for example,

derrick [ xmodmap -pke | grep XF86
keycode  63 = KP_Multiply XF86_ClearGrab
[...]

Shift with KP_Multiply to some keysym.

XLookupKeysym(event, 1) returns that keysym, while XLookupString(event, buf,
bufsize, &keysym, &status) with an event that describes a shifted
KP_Multiply keypress returns KP_Multiply in *keysym. Previously, these were
always identical. 

Iâm sure there is some way to work around this within XEmacs, and itâs
probably going to be ugly and long, because we various input methods,
determined at compile time, that may or may not use XLookupString. Whee.

Dinos, you can edit your XF86Config file, add

        Option "HandleSpecialKeys" "Always"   

to the ServerFlags section, and add

xmodmap -pke | sed 's/XF86_.*$//g' | xmodmap -

to your X11 initialisation scripts. After that, you should be able to bind
shift plus any of the keypad keys to whatever you want. Note that xmodmap
command may break if you are using an obscure XKB layout; it wonât for any I
have available to me. 

Best regards,

        - Aidan
-- 
âI, for instance, am gung-ho about open source because my family is being
held hostage in Rob Maldaâs basement. But who fact-checks me, or Enderle,
when we say something in public? No-one!â -- Danny OâBrien

_______________________________________________
Devel mailing list
Devel@XFree86.Org
http://XFree86.Org/mailman/listinfo/devel

Reply via email to