From 41878d95efe640767c6165f47111206b9792763d Mon Sep 17 00:00:00 2001 From: harry Date: Mon, 23 Jan 2023 21:40:59 -0500 Subject: [PATCH] Added Qt empty scan code to Qt Key map for Mac OS platform. QKeyEvent::nativeScanCode() does not return valid codes on Mac OS, so this backup conversion method will not work on that platform. --- src/drivers/Qt/keyscan.cpp | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/drivers/Qt/keyscan.cpp b/src/drivers/Qt/keyscan.cpp index c7445d85..938d91ea 100644 --- a/src/drivers/Qt/keyscan.cpp +++ b/src/drivers/Qt/keyscan.cpp @@ -174,7 +174,12 @@ static QMap s_nativeScanCodesMap = {348, { VK_RWIN , Qt::Key_Meta }}, {349, { VK_APPS , Qt::Key_Menu }}, }; -#else +#elif defined(__APPLE__) +// QKeyEvent::nativeScanCode() does not return valid codes for Mac OS +{ + { 0, { 0, 0 }}, +}; +#else // Unix / Linux { #if defined(_HAS_XKB) { 9, { XKB_KEY_Escape , Qt::Key_Escape }}, @@ -1703,7 +1708,7 @@ int pushKeyEvent(QKeyEvent *event, int pressDown) if (sdlev.key.keysym.scancode == SDL_SCANCODE_UNKNOWN) { int nativeKey = event->nativeScanCode(); - auto value = s_nativeScanCodesMap.value (nativeKey, _KeyValue {0, 0}); + auto value = s_nativeScanCodesMap.value (nativeKey, _KeyValue {0, 0}); if (value.key != 0 && value.vkey != 0) { sdlev.key.keysym.sym = convQtKey2SDLKeyCode ((Qt::Key)value.key, value.vkey);