Added logic to Qt key scanner to fix key scancodes for characters that are only accessible via the use of the shift key (dual function keys). Should help issue #464.

This commit is contained in:
mjbudd77 2022-02-21 21:17:01 -05:00
parent 8e6d99a1ac
commit 04e39e4fc9
1 changed files with 7 additions and 0 deletions

View File

@ -1082,6 +1082,13 @@ int pushKeyEvent(QKeyEvent *event, int pressDown)
sdlev.key.keysym.scancode = SDL_GetScancodeFromKey(sdlev.key.keysym.sym); sdlev.key.keysym.scancode = SDL_GetScancodeFromKey(sdlev.key.keysym.sym);
if ( sdlev.key.keysym.scancode == SDL_SCANCODE_UNKNOWN )
{ // If scancode is unknown, the key may be dual function via the shift key.
//printf("Scancode: %08X \n", sdlev.key.keysym.scancode );
sdlev.key.keysym.scancode = convQtKey2SDLScanCode( (Qt::Key)event->key() );
}
sdlev.key.keysym.mod = convQtKey2SDLModifier(event->modifiers()); sdlev.key.keysym.mod = convQtKey2SDLModifier(event->modifiers());
sdlev.key.repeat = 0; sdlev.key.repeat = 0;