summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuca Bacci <luca.bacci982@gmail.com>2022-01-30 10:45:44 +0000
committerLuca Bacci <luca.bacci982@gmail.com>2022-01-30 10:45:44 +0000
commit3ebf21c5792f4571bf86d1632401b6a2aac34c72 (patch)
tree647d2900d919937adc3f22cf9d1ca60b093263b4
parent1b77a4dba9b326f4d34f5c1e93b16db55b02ce27 (diff)
parentcfc6d6ddb7aad50d27663fbdecc1a43d6846b76f (diff)
downloadgtk+-3ebf21c5792f4571bf86d1632401b6a2aac34c72.tar.gz
Merge branch 'win32-keys-ignore-ctrl' into 'gtk-3-24'
gdkkeys-win32: Ignore CTRL bit for key translation See merge request GNOME/gtk!4423
-rw-r--r--gdk/win32/gdkkeys-win32-impl.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/gdk/win32/gdkkeys-win32-impl.c b/gdk/win32/gdkkeys-win32-impl.c
index 368f3f6506..74f9615c19 100644
--- a/gdk/win32/gdkkeys-win32-impl.c
+++ b/gdk/win32/gdkkeys-win32-impl.c
@@ -340,6 +340,13 @@ vk_to_char_fuzzy (GdkWin32KeymapLayoutInfo *info,
if (candidate_modbits & ~mod_bits)
continue;
+ /* Some keys have bogus mappings for the control key, e.g.
+ * Ctrl + Backspace = Delete, or Ctrl + [ = 0x1B. These are
+ * never used on Windows, so we ignore them.
+ */
+ if (candidate_modbits == KBDCTRL)
+ continue;
+
c = entry->wch[level];
if (c == WCH_DEAD || have_sgcaps)
{