On Fri, Nov 19, 2021 at 10:21:42PM +0000, Adam Ruppe via Digitalmars-d-learn wrote: [...] > The OS functions for getch alone though are actually pretty simple: > > 1) change the terminal to "raw" mode. the default is to buffer lines, > which means your application doesn't get anything until a line is > complete. You need to turn that off. [...] > 2) Read the terminal's event stream. [...] > 3) Again, remember to set it back how you found it before you exit by > callling the SetConsoleMode/tcsetattr again before you exit.
And *this* is why you want to use a library for this. Doing this by hand is certainly possible, but very tedious, error-prone, and requires a lot of knowledge about OS system calls. Why bother when you could just drop arsd.terminal into your workspace and call it a day? :-) (Of course, learning how things work under the hood for the sake of educating yourself is definitely worthwhile. Just don't do that when you need to get stuff done.) T -- Let's not fight disease by killing the patient. -- Sean 'Shaleh' Perry