Mercurial > games > semicongine
changeset 1463:f9d86889e018 default tip
did: final windows input fix
author | sam <sam@basx.dev> |
---|---|
date | Mon, 24 Mar 2025 00:15:08 +0700 |
parents | 9e27438ed96f |
children | |
files | semicongine/core/types.nim semicongine/platform/windows/rendering.nim |
diffstat | 2 files changed, 6 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/semicongine/core/types.nim Sun Mar 23 23:05:30 2025 +0700 +++ b/semicongine/core/types.nim Mon Mar 24 00:15:08 2025 +0700 @@ -299,8 +299,8 @@ Event* = object case eventType*: EventType of KeyPressed, KeyReleased: - key*: Key - char*: Rune + key*: Key = Key.UNKNOWN + char*: Rune = Rune(-1) of MousePressed, MouseReleased: button*: MouseButton of MouseWheel:
--- a/semicongine/platform/windows/rendering.nim Sun Mar 23 23:05:30 2025 +0700 +++ b/semicongine/platform/windows/rendering.nim Mon Mar 24 00:15:08 2025 +0700 @@ -131,14 +131,15 @@ of WM_DESTROY: currentEvents.add(Event(eventType: Quit)) of WM_CHAR: - var event = Event(eventType: KeyPressed, key: Key.UNKNOWN) + let key = mapLeftRightKeys(INT(wParam), lParam) var ws = newWideCString(1) ws[0] = Utf16Char(wParam) var s = $ws for r in s.runes(): - event.char = r + currentEvents.add( + Event(eventType: KeyPressed, key: KeyTypeMap.getOrDefault(key, Key.UNKNOWN), char: r) + ) break - currentEvents.add(event) of WM_KEYDOWN, WM_SYSKEYDOWN: let key = mapLeftRightKeys(INT(wParam), lParam) currentEvents.add(