# HG changeset patch # User sam # Date 1742750108 -25200 # Node ID f9d86889e01849098eda3796bef65d36ebdb4874 # Parent 9e27438ed96f413f514a174ca33c243f84eb56eb did: final windows input fix diff -r 9e27438ed96f -r f9d86889e018 semicongine/core/types.nim --- 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: diff -r 9e27438ed96f -r f9d86889e018 semicongine/platform/windows/rendering.nim --- 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(