From a3d042c094e5f0910909b5d55e3e34590b579782 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jochen=20Sch=C2=84fer?= Date: Sat, 22 Jun 2024 06:31:19 +0200 Subject: [PATCH] Fixed key handling --- src/AudioBackend.c | 32 ++++++++++++++++---------------- src/Window_OS2.c | 6 +++--- 2 files changed, 19 insertions(+), 19 deletions(-) diff --git a/src/AudioBackend.c b/src/AudioBackend.c index 261007561..4a8075e3f 100644 --- a/src/AudioBackend.c +++ b/src/AudioBackend.c @@ -1637,23 +1637,23 @@ cc_result Audio_SetFormat(struct AudioContext* ctx, int channels, int sampleRate APIRET rc; ksWanted.usDeviceIndex = 0; - ksWanted.ulType = KAIT_PLAY; - ksWanted.ulBitsPerSample = 16; - ksWanted.ulSamplingRate = Audio_AdjustSampleRate(sampleRate, playbackRate); - ksWanted.ulDataFormat = 0; - ksWanted.ulChannels = channels; - ksWanted.ulNumBuffers = 0; - ksWanted.ulBufferSize = 0; - ksWanted.fShareable = TRUE; - ksWanted.pfnCallBack = kaiCallback; - ksWanted.pCallBackData = (PVOID)ctx; + ksWanted.ulType = KAIT_PLAY; + ksWanted.ulBitsPerSample = 16; + ksWanted.ulSamplingRate = Audio_AdjustSampleRate(sampleRate, playbackRate); + ksWanted.ulDataFormat = 0; + ksWanted.ulChannels = channels; + ksWanted.ulNumBuffers = 0; + ksWanted.ulBufferSize = 0; + ksWanted.fShareable = TRUE; + ksWanted.pfnCallBack = kaiCallback; + ksWanted.pCallBackData = (PVOID)ctx; - rc = kaiOpen(&ksWanted, &ksObtained, &ctx->hkai); - if (rc != KAIE_NO_ERROR) { - Logger_SimpleWarn(ERROR_BASE, "Kai: Could not open playback"); - ctx->hkai = 0; - return rc; - } + rc = kaiOpen(&ksWanted, &ksObtained, &ctx->hkai); + if (rc != KAIE_NO_ERROR) { + Logger_SimpleWarn(ERROR_BASE, "Kai: Could not open playback"); + ctx->hkai = 0; + return rc; + } kaiSetSoundState(ctx->hkai, MCI_SET_AUDIO_ALL, true); return 0; diff --git a/src/Window_OS2.c b/src/Window_OS2.c index 76dcaf1f9..32cb28a93 100644 --- a/src/Window_OS2.c +++ b/src/Window_OS2.c @@ -81,7 +81,7 @@ static void MapKeys(MPARAM mp1, MPARAM mp2) { }; if ((ulFlags & KC_CHAR) != 0 && (ulFlags & KC_KEYUP) == 0) { - if (WinQueryCapture(HWND_DESKTOP) != hwndClient) { + if (WinQueryCapture(HWND_DESKTOP) != hwndClient) { // Mouse isn't captured char c; if (Convert_TryCodepointToCP437(ulCharCode, &c)) { Event_RaiseInt(&InputEvents.Press, c); @@ -89,10 +89,10 @@ static void MapKeys(MPARAM mp1, MPARAM mp2) { } } else { - Input_Set(ulCharCode, (ulFlags & KC_KEYUP) == 0); + Input_Set(ulCharCode, 0); } } - if ((ulFlags & KC_SCANCODE) != 0) { + if ((ulFlags & KC_SCANCODE) != 0 && ulScanCode < sizeof(aScancode)/sizeof(int)) { Input_Set(aScancode[ulScanCode], (ulFlags & KC_KEYUP) == 0); } }