diff options
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/terminal.nim | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/lib/pure/terminal.nim b/lib/pure/terminal.nim index ef5a95ed2..f15cee66a 100644 --- a/lib/pure/terminal.nim +++ b/lib/pure/terminal.nim @@ -634,7 +634,10 @@ proc getch*(): char = doAssert(readConsoleInput(fd, addr(keyEvent), 1, addr(numRead)) != 0) if numRead == 0 or keyEvent.eventType != 1 or keyEvent.bKeyDown == 0: continue - return char(keyEvent.uChar) + if keyEvent.uChar == 0: + return char(keyEvent.wVirtualKeyCode) + else: + return char(keyEvent.uChar) else: let fd = getFileHandle(stdin) var oldMode: Termios |