summaryrefslogtreecommitdiff
path: root/debian/patches/fix_shortcuts_with_secondary_xkb_layout.patch
diff options
context:
space:
mode:
Diffstat (limited to 'debian/patches/fix_shortcuts_with_secondary_xkb_layout.patch')
-rw-r--r--debian/patches/fix_shortcuts_with_secondary_xkb_layout.patch40
1 files changed, 40 insertions, 0 deletions
diff --git a/debian/patches/fix_shortcuts_with_secondary_xkb_layout.patch b/debian/patches/fix_shortcuts_with_secondary_xkb_layout.patch
new file mode 100644
index 0000000..0cb948f
--- /dev/null
+++ b/debian/patches/fix_shortcuts_with_secondary_xkb_layout.patch
@@ -0,0 +1,40 @@
+From 8660bb907ef132f2c7c774a7b05f96bf8cab00e6 Mon Sep 17 00:00:00 2001
+From: Gatis Paeglis <gatis.paeglis@digia.com>
+Date: Sat, 31 Aug 2013 21:22:47 +0200
+Subject: [PATCH] Revert "QTBUG-15319: fix shortcuts with secondary Xkb
+ layout."
+
+The change which attempted to fix QTBUG-15319 broke keyboard
+shortcuts for non latin keyboard layouts.
+
+This patch reverts QTBUG-15319 (f45cdeda8) since it caused a
+regression.
+
+Task-number: QTBUG-32908
+
+Change-Id: I47d7984fa7986d5218d1f3ff1fc36d2ec67c9ba7
+---
+ src/gui/kernel/qkeymapper_x11.cpp | 5 +----
+ 1 file changed, 1 insertion(+), 4 deletions(-)
+
+diff --git a/src/gui/kernel/qkeymapper_x11.cpp b/src/gui/kernel/qkeymapper_x11.cpp
+index 005ff3f..7daa41d 100644
+--- a/src/gui/kernel/qkeymapper_x11.cpp
++++ b/src/gui/kernel/qkeymapper_x11.cpp
+@@ -282,12 +282,9 @@ QList<int> QKeyMapperPrivate::possibleKeysXKB(QKeyEvent *event)
+
+ // first, translate key only using lock modifiers (there are no Qt equivalents for these, so we must
+ // always use them when determining the baseKeySym)
+- // Note: the Xkb group to be used for the conversion keycode->keysym has to be given to
+- // XkbLookupKeySym(). This information is contained in the bits 8 to 15 of xmodifiers.
+- // See https://bugreports.qt-project.org/browse/QTBUG-15319 .
+ KeySym baseKeySym;
+ uint consumedModifiers;
+- if (!XkbLookupKeySym(X11->display, xkeycode, (xmodifiers & (0xff00 | LockMask | qt_num_lock_mask)),
++ if (!XkbLookupKeySym(X11->display, xkeycode, (xmodifiers & (LockMask | qt_num_lock_mask)),
+ &consumedModifiers, &baseKeySym))
+ return QList<int>();
+
+--
+1.8.4.rc3
+