Bug 247508 - KDE does not respect xmodmap settings for the Hyper modifier
Summary: KDE does not respect xmodmap settings for the Hyper modifier
Status: RESOLVED DUPLICATE of bug 222189
Alias: None
Product: systemsettings
Classification: Applications
Component: general (show other bugs)
Version: unspecified
Platform: Ubuntu Linux
: NOR crash
Target Milestone: ---
Assignee: System Settings Bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-08-12 13:34 UTC by Andrew Polonsky
Modified: 2012-06-02 14:50 UTC (History)
2 users (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Andrew Polonsky 2010-08-12 13:34:37 UTC
Application: systemsettings (1.0)
KDE Platform Version: 4.4.2 (KDE 4.4.2)
Qt Version: 4.6.2
Operating System: Linux 2.6.32-24-generic x86_64
Distribution: Ubuntu 10.04.1 LTS

-- Information about the crash:
This crash occurred when I tried to create keyboard shortcuts that use the Hyper modifier key.
This modifier is assigned to the caps key using the following xmodmap script:

andrew@o:~$ cat .Xmodmap
remove lock = Caps_Lock
keycode 66 = Hyper_L
remove mod4 = Hyper_L
add mod3 = Hyper_L

(On many computers, the third line is extraneous.) The script is loaded automatically on startup, resulting in

andrew@o:~$ xmodmap
xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock      
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3        Hyper_L (0x42),  Hyper_L (0xcf)
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

This setup works with emacs and other programs with no problem.  But when I try to configure keyboard shortcuts in Kate, or global shortcuts in System Settings, I get garbage as soon as I press the caps key.  It is not recognized as a modifier key.  Hitting the key again in a new assignment results in segmentation fault.

I heavily depend on the hyper key to navigate the computer quickly using the keyboard, since it provides a lot of new space for keyboard shortcuts.  I hope this bug can be resolved quickly, since in all other ways the latest KDE is totally awesome!

Best,
Andrew

The crash can be reproduced every time.

 -- Backtrace:
Application: System Settings (systemsettings), signal: Segmentation fault
[Current thread is 1 (Thread 0x7fcf81993760 (LWP 3565))]

Thread 2 (Thread 0x7fcf72485710 (LWP 3566)):
#0  0x00007fcf7eefdf83 in *__GI___poll (fds=<value optimized out>, nfds=<value optimized out>, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:87
#1  0x00007fcf7c12c4a9 in g_main_context_poll (context=0x245ea80, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>)
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2904
#2  g_main_context_iterate (context=0x245ea80, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2586
#3  0x00007fcf7c12c8fc in IA__g_main_context_iteration (context=0x245ea80, may_block=1) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2654
#4  0x00007fcf7f652566 in QEventDispatcherGlib::processEvents (this=0x245e2b0, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:414
#5  0x00007fcf7f627992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#6  0x00007fcf7f627d6c in QEventLoop::exec (this=0x7fcf72484db0, flags=) at kernel/qeventloop.cpp:201
#7  0x00007fcf7f531d59 in QThread::exec (this=<value optimized out>) at thread/qthread.cpp:487
#8  0x00007fcf7f608178 in QInotifyFileSystemWatcherEngine::run (this=0x241a150) at io/qfilesystemwatcher_inotify.cpp:248
#9  0x00007fcf7f534775 in QThreadPrivate::start (arg=0x241a150) at thread/qthread_unix.cpp:248
#10 0x00007fcf7ca9f9ca in start_thread (arg=<value optimized out>) at pthread_create.c:300
#11 0x00007fcf7ef0a6fd in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:112
#12 0x0000000000000000 in ?? ()

Thread 1 (Thread 0x7fcf81993760 (LWP 3565)):
[KCrash Handler]
#5  Private (this=0x7fff911f0410, p=...) at ../../include/QtCore/../../src/corelib/kernel/qvariant.h:352
#6  QVariant (this=0x7fff911f0410, p=...) at kernel/qvariant.cpp:1391
#7  0x00007fcf7f99be57 in QDBusPendingReplyData::argumentAt (this=0x7fff911f0550, index=0) at qdbuspendingreply.cpp:268
#8  0x00007fcf80f78438 in argumentAt<0> (seq=...) at /usr/include/qt4/QtDBus/qdbuspendingreply.h:174
#9  QDBusPendingReply<QStringList, void, void, void, void, void, void, void>::operator QStringList (seq=...) at /usr/include/qt4/QtDBus/qdbuspendingreply.h:184
#10 KGlobalAccel::stealShortcutSystemwide (seq=...) at ../../kdeui/shortcuts/kglobalaccel.cpp:549
#11 0x00007fcf80fea3fe in KKeySequenceWidgetPrivate::conflictWithGlobalShortcuts (this=0x32f1d30, keySequence=...) at ../../kdeui/widgets/kkeysequencewidget.cpp:556
#12 0x00007fcf80fea974 in KKeySequenceWidget::isKeySequenceAvailable (this=0x32e3030, keySequence=...) at ../../kdeui/widgets/kkeysequencewidget.cpp:372
#13 0x00007fcf80feaa33 in KKeySequenceWidgetPrivate::doneRecording (this=0x32f1d30, validate=true) at ../../kdeui/widgets/kkeysequencewidget.cpp:504
#14 0x00007fcf80feafe6 in KKeySequenceButton::keyPressEvent (this=0x270d8f0, e=<value optimized out>) at ../../kdeui/widgets/kkeysequencewidget.cpp:811
#15 0x00007fcf80fe8031 in KKeySequenceButton::event (this=0x7fff911f0410, e=0x0) at ../../kdeui/widgets/kkeysequencewidget.cpp:719
#16 0x00007fcf8021622c in QApplicationPrivate::notify_helper (this=0x1fd7a70, receiver=0x270d8f0, e=0x7fff911f0d10) at kernel/qapplication.cpp:4300
#17 0x00007fcf8021dec5 in QApplication::notify (this=<value optimized out>, receiver=0x270d8f0, e=0x7fff911f0d10) at kernel/qapplication.cpp:3763
#18 0x00007fcf80f21526 in KApplication::notify (this=0x7fff911f1cc0, receiver=0x270d8f0, event=0x7fff911f0d10) at ../../kdeui/kernel/kapplication.cpp:302
#19 0x00007fcf7f62906c in QCoreApplication::notifyInternal (this=0x7fff911f1cc0, receiver=0x270d8f0, event=0x7fff911f0d10) at kernel/qcoreapplication.cpp:704
#20 0x00007fcf802c116a in QKeyMapper::sendKeyEvent (keyWidget=0x270d8f0, grab=<value optimized out>, type=QEvent::KeyPress, code=16777302, modifiers=<value optimized out>, text=..., 
    autorepeat=false, count=1, nativeScanCode=66, nativeVirtualKey=65517, nativeModifiers=0) at kernel/qkeymapper_x11.cpp:1861
#21 0x00007fcf802c36f0 in QKeyMapperPrivate::translateKeyEvent (this=0x7fff911f0ef0, keyWidget=0x270d8f0, event=<value optimized out>, grab=false) at kernel/qkeymapper_x11.cpp:1831
#22 0x00007fcf8029a904 in QApplication::x11ProcessEvent (this=<value optimized out>, event=0x7fff911f18e0) at kernel/qapplication_x11.cpp:3394
#23 0x00007fcf802c6882 in x11EventSourceDispatch (s=0x1fdb330, callback=<value optimized out>, user_data=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:146
#24 0x00007fcf7c1288c2 in g_main_dispatch (context=0x1fda120) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:1960
#25 IA__g_main_context_dispatch (context=0x1fda120) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2513
#26 0x00007fcf7c12c748 in g_main_context_iterate (context=0x1fda120, block=<value optimized out>, dispatch=<value optimized out>, self=<value optimized out>)
    at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2591
#27 0x00007fcf7c12c8fc in IA__g_main_context_iteration (context=0x1fda120, may_block=1) at /build/buildd/glib2.0-2.24.1/glib/gmain.c:2654
#28 0x00007fcf7f652513 in QEventDispatcherGlib::processEvents (this=0x1fb0770, flags=<value optimized out>) at kernel/qeventdispatcher_glib.cpp:412
#29 0x00007fcf802c646e in QGuiEventDispatcherGlib::processEvents (this=0x7fff911f0410, flags=<value optimized out>) at kernel/qguieventdispatcher_glib.cpp:204
#30 0x00007fcf7f627992 in QEventLoop::processEvents (this=<value optimized out>, flags=) at kernel/qeventloop.cpp:149
#31 0x00007fcf7f627d6c in QEventLoop::exec (this=0x7fff911f1c10, flags=) at kernel/qeventloop.cpp:201
#32 0x00007fcf7f62baab in QCoreApplication::exec () at kernel/qcoreapplication.cpp:981
#33 0x00000000004110d9 in _start ()

This bug may be a duplicate of or related to bug 222189.

Possible duplicates by query: bug 243588, bug 238196, bug 228841, bug 227798, bug 222189.

Reported using DrKonqi
Comment 1 Nicolas L. 2010-08-12 14:18:48 UTC

*** This bug has been marked as a duplicate of bug 222189 ***
Comment 2 Josip Gracin 2012-06-02 14:50:46 UTC
I don't think the part with not being able to assign shortcuts with Hyper is resolved.  I have Kubuntu 12.04, KDE 4.8 and I still cannot use Hyper or Super as modifiers.