Red Hat Bugzilla – Bug 54220
Dead keys not working in qt-2.3.1
Last modified: 2007-04-18 12:37:26 EDT
Description of Problem:
> When pressing dead keys (diacritics) in konsole, both signs appear
> separately. I.e. ^ + e stays ^e rather than becoming j. In other K
> applications, such as kate, this doesn't happen. It doesn't happen in
> dialog boxes spawned by konsole (for example, in the "rename session"
> menu), but only in the actual terminal window.
> It also happens in konqueror (in forms on Web pages), but only after a
> while: a freshly started konqueror is ok, but if it has been running for
> some time, suddenly dead keys stop working. In konsole, the problem is
> easyer to reproduce, as it happens right from the start, and
> Now, the odd part is that this only happens on RedHat. On my SuSE box,
> the exact same kde version (2.2.1) and qt version (2.3.1), it works ok.
> seems to be indeed linked to the app rather than the X-server, because a
> konsole running on the RedHat box, but displayed on the SuSE's X-server
> the problem, whereas a konsole running on the SuSE box, but displayed on
> the RedHat box doesn't have it.
> Copying libqt.so.2 and libkdeui.so.3 from the SuSE box to the RedHat box
> seems to fix the problem: konsole now correctly handles dead keys.
> Unfortunately, both libraries have to be copied together, indeed whith
> copying one, konsole crashes. So, it's not easy to find out whether it
> libqt's or libkdeui's fault.
> Copying both libs is not a permanent solution though, as this hack
> other kde apps from starting.
> However, I noticed that downgrading qt to qt-2.3.0 also fixes the
> But again, qt-2.3.1 works just fine on SuSE.
> I notified qt-bugs and kde-bugs about it, and kde-bugs redirected me to
Version-Release number of selected component (if applicable):
Always reproducible using konsole. Most of the times (but not always) in
Steps to Reproduce:
1. Start a konsole.
2. type ^ (dead-circumflex), then e into it
"j" should appear.
Works ok in SuSE with same qt version (2.3.1). Works ok in RedHat with
older qt version (2.3.0). Works ok by manually copying over qt-2.3.1 libs
from SuSE to Redhat. This seems to indicate a compilation/configuration
problem with the qt-2.3.1 supplied for Redhat, rather than a problem in
On Trolltech's recommandation, I directly downloaded
ftp.trolltech.com/qt/source/qt-x11-2.3.1.tar.gz, and compiled it on my RedHat
box, and the resulting libqt.so.2.3.1 worked all right.
In case it's relevant, the following devel RPM's (includes, libs) were
installed for compilation of Qt:
*** Bug 55685 has been marked as a duplicate of this bug. ***
qt2-2.3.1-3 (Dated October 28th) still has the problem...
qt2-2.3.2-1 will fix this; the ugly keyboard hacks in Qt have been fixed.
I'm sorry. I just downloaded qt-2.3.2-1 from rawhide, and the problem still
I've also tried qt2-2.3.2-1 from rawhide (albeit with small changes to the
specfile to make it qt-2.3.2-1) and the problem is still there. But the
problem seems to be the qt-2.3.1-xim patch, recompiling without it makes the
problem go away (both with 2.3.2 and 2.3.1).
The KDE 2.2.2 packages from the RH Errata
have this same problem. The problem seems to be more widespread than konsole and
konqueror; it will manifest itself in ANY KDE application in which has been invoked
a dialog box that uses the DCOP protocol. For example, kedit can display the dead
keys fine, until the Save dialog is invoked. If the operation of the program continues
after this, deadkeys are no longer working.
Steps for reproducing the problem:
1. Open a KDE app (kedit, kwrite or kate would do just fine).
2. Write an arbitrary amout of text using deadkeys as appropriate.
3. Invoke the Save/Save As dialog. Save the text.
4. Keep writing; dead keys are no longer working.
Created attachment 47160 [details]
If the qt-2.3.1-xim-20010617.diff from the qt-2.3.1-5.src.rpm is replaced with the one I attached the problem is fixed for me, don't know how it affects the jp stuff though as I don't have the resources to test that
Please verify this with a newer version of Red Hat Enterprise Linux or
Fedora Core and reopen it against the new version if it still occurs.
Closing as "CURRENTRELEASE" for now.