It may be due to how the console is treated. winlean library implementation seem to default to wide-chars operations instead of your expected one byte char.
Try compiling with this flag, see if it makes any diffeence for you: -d:useWinAnsi| ---|--- For me is not working as that mode -- ref. useWinUnicode* = not defined(useWinAnsi) -- dependency goes on to call 'GetVersionEx' (which seems not available on my win10 machine and produces C:\Programs\nim-0.19.2\lib\pure\terminal.nim(870, 15) Error: undeclared identifier: 'getVersionExW') Kindly ask other slavic language users of this forum for their support, there were similar threads about console (output only from utf-8 to codepages) Perhaps some of them hit the input problem as well) Good luck and if you resolve this issue pls. update the thread for the benefit of the rest of us.