summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortrustable-code <krauter.simon@arcor.de>2018-04-13 10:31:55 +0200
committertrustable-code <krauter.simon@arcor.de>2018-04-13 10:31:55 +0200
commit37f6e2efefc094ae7855d4a5ed839e6eb8952b1c (patch)
treebb3c8d69a48516e61261b5bac8d5c48bcf7bd517 /src
parent9fe87be1c8b1b0a60e9f6e2776d40f8bc12793f6 (diff)
downloadNiGui-37f6e2efefc094ae7855d4a5ed839e6eb8952b1c.tar.gz
NiGui-37f6e2efefc094ae7855d4a5ed839e6eb8952b1c.zip
Fix text input for "^" on German keyboard under Windows
When the dead key "^" on German keyboard is pressed, don't call ToUnicode(), because this would destroy the dead key state
Diffstat (limited to 'src')
-rwxr-xr-xsrc/nigui/private/windows/platform_impl.nim3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim
index 3c7bc9f..4efa98c 100755
--- a/src/nigui/private/windows/platform_impl.nim
+++ b/src/nigui/private/windows/platform_impl.nim
@@ -252,6 +252,9 @@ proc pHandleWMKEYDOWN(window: Window, control: Control, wParam, lParam: pointer)
if not GetKeyboardState(pKeyState): pRaiseLastOSError()
var widestring = newString(2)
let scancode = int32((cast[int](lParam) shr 8) and 0xFFFFFF00)
+ if scancode == 10496:
+ # When the dead key "^" on German keyboard is pressed, don't call ToUnicode(), because this would destroy the dead key state
+ return
let ret = ToUnicode(cast[int](wParam).int32, scancode, pKeyState, widestring, 1, 0)
if ret == 1:
return # Unicode characters are handled by WM_CHAR