diff --git a/globalaccel.cpp b/globalaccel.cpp --- a/globalaccel.cpp +++ b/globalaccel.cpp @@ -254,9 +254,10 @@ } int keyCodeQt; - int keyModQt; - KKeyServer::symXToKeyQt(keySymX, &keyCodeQt); - KKeyServer::modXToQt(keyModX, &keyModQt); + KKeyServer::symXModXToKeyQt(keySymX, keyModX, &keyCodeQt); + // Split keycode and modifier + int keyModQt = keyCodeQt & Qt::KeyboardModifierMask; + keyCodeQt &= ~Qt::KeyboardModifierMask; if (keyModQt & Qt::SHIFT && !KKeyServer::isShiftAsModifierAllowed(keyCodeQt)) { keyModQt &= ~Qt::SHIFT;