From 8175d42a0833f03d5fe297560e9968c88a434d70 Mon Sep 17 00:00:00 2001 From: Laszlo Agocs Date: Mon, 18 Jun 2012 16:57:57 +0300 Subject: [PATCH] Map function keys properly MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Change-Id: I3a13e0f05a3504e4d7b7f13c29ace139f88041e5 Reviewed-by: Samuel Rødal --- .../platforms/wayland/qwaylandinputdevice.cpp | 23 ++++++++++------------ 1 file changed, 10 insertions(+), 13 deletions(-) diff --git a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp index 8f68cbf..4dc2022 100644 --- a/src/plugins/platforms/wayland/qwaylandinputdevice.cpp +++ b/src/plugins/platforms/wayland/qwaylandinputdevice.cpp @@ -449,19 +449,16 @@ static uint32_t translateKey(uint32_t sym, char *string, size_t size) Q_UNUSED(size); string[0] = '\0'; - int code = -1; - for (int i = 0; KeyTbl[i]; i += 2) { - if (sym == KeyTbl[i]) { - code = KeyTbl[i + 1]; - break; - } - } - if (code == -1) { - string[0] = sym; - string[1] = '\0'; - return toupper(sym); - } - return code; + if (sym >= XK_F1 && sym <= XK_F35) + return Qt::Key_F1 + (int(sym) - XK_F1); + + for (int i = 0; KeyTbl[i]; i += 2) + if (sym == KeyTbl[i]) + return KeyTbl[i + 1]; + + string[0] = sym; + string[1] = '\0'; + return toupper(sym); } #endif // QT_NO_WAYLAND_XKB -- 2.7.4