[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