diff options
| author | trustable-code <krauter.simon@arcor.de> | 2018-04-13 10:31:55 +0200 |
|---|---|---|
| committer | trustable-code <krauter.simon@arcor.de> | 2018-04-13 10:31:55 +0200 |
| commit | 37f6e2efefc094ae7855d4a5ed839e6eb8952b1c (patch) | |
| tree | bb3c8d69a48516e61261b5bac8d5c48bcf7bd517 /src | |
| parent | 9fe87be1c8b1b0a60e9f6e2776d40f8bc12793f6 (diff) | |
| download | NiGui-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-x | src/nigui/private/windows/platform_impl.nim | 3 |
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 |
