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
I managed to trace this one down a little bit further. I was able to activate debug output of KAccel and got the following lines: kdecore (KAccel): KAccelPrivate::eventFilter( AccelOverride ): this = 0x80cf158, key = Asterisk kdecore (KAccel): shortcut found! At application startup I found that a shortcut is registered: kdecore (KAccel): KAccelBase::insertConnection( 0x80f31e8="next_session"; shortcut = Shift+Right ) this = 0x80cf180 kdecore (KAccel): KAccelPrivate::connectKey( "next_session", Shift+Asterisk = 0x20002a ): id = -14 m_pObjSlot = 0x80eec38 The first line is the result of a direct call in konsole.cpp which is done to register a shortcut for Shift+Right. KAccelBase::insertConnection() seems to do some internal magic, that modifies the key combination to be Shift-Asterisk. I have looked into KAccelBase::insertConnection() but I was not figure out yet, what is causing this change of key-combination. 73, Mario
If you think that next_session is causing your problem, comment out that line in konsole.cpp. Around line 1080 // new KAction(i18n("Go to Next Session"), QApplication::reverseLayout() ? Qt::SHIFT+Qt::Key_Left : Qt::SHIFT+Qt::Key_Right, // this, SLOT(nextSession()), m_shortcuts, "next_session");
*** Bug 111034 has been marked as a duplicate of this bug. ***
I installed the KDE4 snapshot on my G4 10.4.8. * works for me on the US keyboard. Could you try and use the US keyboard layout and see if that helps. I'm just guessing really. http://ranger.users.finkproject.org/kde/index.php/Home
I get this when I create a second session, but not in my initial session. My environment is X11 on OS X (XFree86 4.4.0) going to a NoMachine session on RHEL3. KeyPress event, serial 25, synthetic NO, window 0x2400001, root 0x77, subw 0x0, time 589597959, (-311,327), root:(448,347), state 0x1, keycode 36 (keysym 0x2a, asterisk), same_screen YES, XLookupString gives 1 bytes: "*"
Reopen if you duplicate this in KDE 4.