diff options
| author | trustable-code <krauter.simon@arcor.de> | 2018-05-07 20:23:02 +0200 |
|---|---|---|
| committer | trustable-code <krauter.simon@arcor.de> | 2018-05-07 20:23:02 +0200 |
| commit | 37e0248d2832c9be9731246b936f3cccfff12cf0 (patch) | |
| tree | 51ba45e99ed0f376d36c2fa4924e2fa08c33a853 /src/nigui | |
| parent | 84d751b21c76312f1da4dd282505277126cd1f52 (diff) | |
| download | NiGui-37e0248d2832c9be9731246b936f3cccfff12cf0.tar.gz NiGui-37e0248d2832c9be9731246b936f3cccfff12cf0.zip | |
Combine WindowKeyEvent and ControlKeyEvent types to KeyboardEvent
Should be simpler now.
Diffstat (limited to 'src/nigui')
| -rwxr-xr-x | src/nigui/private/gtk3/platform_impl.nim | 8 | ||||
| -rwxr-xr-x | src/nigui/private/windows/platform_impl.nim | 11 |
2 files changed, 6 insertions, 13 deletions
diff --git a/src/nigui/private/gtk3/platform_impl.nim b/src/nigui/private/gtk3/platform_impl.nim index c1adf55..1b050a7 100755 --- a/src/nigui/private/gtk3/platform_impl.nim +++ b/src/nigui/private/gtk3/platform_impl.nim @@ -90,7 +90,7 @@ proc pWindowKeyPressSignal(widget: pointer, event: var GdkEventKey, data: pointe window.fKeyPressed = pKeyvalToKey(event.keyval) if gtk_im_context_filter_keypress(window.fIMContext, event) and window.fKeyPressed == Key_None: return - var evt = new WindowKeyEvent + var evt = new KeyboardEvent evt.window = window evt.key = window.fKeyPressed if evt.key == Key_None: @@ -109,7 +109,7 @@ proc pControlKeyPressSignal(widget: pointer, event: var GdkEventKey, data: point control.fKeyPressed = pKeyvalToKey(event.keyval) if gtk_im_context_filter_keypress(control.fIMContext, event) and control.fKeyPressed == Key_None: return - var evt = new ControlKeyEvent + var evt = new KeyboardEvent evt.control = control evt.key = control.fKeyPressed if evt.key == Key_None: @@ -125,7 +125,7 @@ proc pControlKeyPressSignal(widget: pointer, event: var GdkEventKey, data: point proc pWindowIMContextCommitSignal(context: pointer, str: cstring, data: pointer) {.cdecl.} = let window = cast[WindowImpl](data) - var evt = new WindowKeyEvent + var evt = new KeyboardEvent evt.window = window evt.character = $str evt.unicode = evt.character.runeAt(0).toUpper().int @@ -138,7 +138,7 @@ proc pWindowIMContextCommitSignal(context: pointer, str: cstring, data: pointer) proc pControlIMContextCommitSignal(context: pointer, str: cstring, data: pointer) {.cdecl.} = let control = cast[ControlImpl](data) - var evt = new ControlKeyEvent + var evt = new KeyboardEvent evt.control = control evt.character = $str evt.unicode = evt.character.runeAt(0).toUpper().int diff --git a/src/nigui/private/windows/platform_impl.nim b/src/nigui/private/windows/platform_impl.nim index 6cff721..47b776c 100755 --- a/src/nigui/private/windows/platform_impl.nim +++ b/src/nigui/private/windows/platform_impl.nim @@ -232,7 +232,7 @@ proc pVirtualKeyToKey(keyval, scancode: int32): Key = else: result = cast[Key](keyval.unicodeToUpper) proc pHandleWMKEYDOWNOrWMCHAR(window: Window, control: Control, unicode: int): bool = - var windowEvent = new WindowKeyEvent + var windowEvent = new KeyboardEvent windowEvent.window = window windowEvent.key = pKeyDownKey if windowEvent.key == Key_None: @@ -247,7 +247,7 @@ proc pHandleWMKEYDOWNOrWMCHAR(window: Window, control: Control, unicode: int): b return true if control != nil: - var controlEvent = new ControlKeyEvent + var controlEvent = new KeyboardEvent controlEvent.control = control controlEvent.key = windowEvent.key controlEvent.unicode = windowEvent.unicode @@ -265,14 +265,7 @@ proc pHandleWMKEYDOWN(window: Window, control: Control, wParam, lParam: pointer) # Save the key for WM_CHAR, because WM_CHAR only gets the key combined with the dead key state var widestring = newString(2) let scancode = (cast[int32](lParam) and 0x00FF0000) shr 16 - - # echo scancode - # echo cast[int](wParam) - - pKeyDownKey = pVirtualKeyToKey(cast[int32](wParam), scancode) - - if cast[int](wParam) == VK_OEM_5: # When the dead key "^" on German keyboard is pressed, don't call ToUnicode(), because this would destroy the dead key state pKeyDownKey = Key_Circumflex |
