[Konsole-devel] [Bug 95977] New: unable to enter '*' in konsole
Mario Klebsch
mario at klebsch.de
Wed Dec 29 14:47:46 UTC 2004
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
http://bugs.kde.org/show_bug.cgi?id=95977
Summary: unable to enter '*' in konsole
Product: konsole
Version: unspecified
Platform: Compiled Sources
OS/Version: Linux
Status: UNCONFIRMED
Severity: normal
Priority: NOR
Component: general
AssignedTo: konsole-devel kde org
ReportedBy: mario klebsch de
Version: (using KDE KDE 3.3.2)
Installed from: Compiled From Sources
Compiler: gcc -3.2.2
OS: Linux
In konsole, I cannot enter '*'. This bug is not new, I saw it in kde-3.1.1a, too. I tried all other keys and they work fine.
I am running kde-3.3.2 my linux box, but the X server is XDarwin 1.3.0 (XFree86-4.3.99.903) running on my G4 Cube. everything was compiled from source, my keyboard layout is german. '+' and '*' are on the same key, '+' without shift, '*' with shift. '+' works fine, while '*' does not appear in the konsole. I can enter '*' in KDE dialog boxes and in konquerors URL-Field, it just does not work in konsole.
I tried to debug konsole. I compiled it with -g and started gdb on it, but when I set a breakpoint, the program always halted in the installed version of libkdeinit_konsole.so compiled without -g instead of the one in .lib, which was compiled with -g.
Unable to use a debugger, I startet do use the old-fashioned printf-method to debug the problem. :-( Why is this stuff so hard to debug?
TEmuVt102::onKeyPress( QKeyEvent* ev ) already did contain a printf line in a comment. After activating this line, I saw that pressing '*' does send an event, while pressing '*' does not.
Then I found TEWidget::eventFilter( QObject *obj, QEvent *e ) and added a printf statement there, which shows me the event type. I saw, that '*' does generate events.
For '+' I see four Events of type 51 (AccelOverride), followd by two of type 30 (Accel) and one of type 6 (KeyPress), which triggers the call to TEmuVt102::onKeyPress( QKeyEvent* ev ).
For '*', I see only two events of type 51 (AccelOverride).
I looked into the source code and found some locations, where events of type AccelOverride where cast to QKeyEvent. So I added a printf-statement to print state(), key() and text() of the AccelOverride-Events.
When pressing '+' (the key that works), the third and fourth AccelOverride-Event do have a text attached, which does hold the '+'.
When pressing '*', there are only two AccelOverride-Events are send.
Each AccelOvverride-Event do have the ASCII-Code (0x2b for '+', 0x2a for '*') as key(), state() is always 0.
I grepped the source of konsole and of the qt widgets for any code, that may generate AccelOverride-Events, but I did not find any. So, I am stranded in debugging this issue. :-(
Please help me.
73, Mario
More information about the konsole-devel
mailing list