Ar an tríú lá is fiche de mí Márta, scríobh Stephen J. Turnbull:
It's worse than that, because the XFree86 behavior is known to
be
incompatible with various commercial servers (specifically, Sun's).
Unless you special-case the servers according to vendor, there is no
right way to do it---the code that XFree86 developers recommended as a
workaround eats the Compose key (inter alia) on Sun. Recent GTK+ has
some way to work around this, but it was not obvious how to apply to
XEmacs's event loop.
If the shift modifier is set on the X event object, we can call the function
we use to convert the event to a string-and-keysym twice, the second time
after temporarily turning off the shift modifier. If they give different
keysyms in _that_ case, we turn off the shift modifer in the X event
permanently before passing it to x_keysym_to_emacs_keysym. I don’t see
anything vendor-specific that’ll obviously break with that algorithm, though
of course my perception may change if and when it�s implemented.
I think we should port our keyboard code to XKB where available
(ISTR
this breakage requires XKB to have its intended effect in XFree86, so
this should cover all bases properly).
We don’t really have the resources for the benefit it would give us, I
think. Of course, if some enthusiastic XKB supporter--should such an
individual exist--volunteers, that would be great.
--
“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