On Wed, Nov 20, 2002 at 10:10:34PM +0100, Herbert Voss wrote:

> KeyRelease event, serial 27, synthetic NO, window 0x3e00001,
>    root 0x3e, subw 0x0, time 22316297, (-398,315), root:(673,842),
>    state 0x0, keycode 48 (keysym 0xe4, adiaeresis), same_screen YES,
>    XLookupString gives 1 characters:  "ä"

OK, cool.

> -> nothing happens in the main gui:--------------------------------
> 
> Press key 65535 text "ä", ascii "228"
> KeySym is sym empty in getSymbolName()

line 160 in lyxfunc.C

> getSymbolName() -> ä

getSymbolName() in QLyXKeySym.C

> ä

OK, we must be exiting because ->isModifier() returns true. That means
that Qt::Key_unknown is being returned for your keypress. Is this true
(as in, have you proved this) ?

Now, this seems broken for Qt in the first place. But we have to work
with it.

What values are returned in text(), key(), and ascii(), for the press of
a-umlaut ?

It seems that the keypress is unknown, but the actual text produced
stored in text() is OK. Yes ?

So, can we not make this change :

bool QLyXKeySym::isModifier() const
{
-        return q_is_modifier(key_);
+        return text_.empty() && q_is_modifier(key_);
}

?? A modifier should not have associated text.

If this change *alone* doesn't work, please explain why, with the values
of text(), key(), and ascii() at each step.

thanks
john
-- 
Khendon's Law: If the same point is made twice by the same person,
the thread is over.

Reply via email to