-
Notifications
You must be signed in to change notification settings - Fork 275
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Sync raw mode behavior #250
Comments
Checking the windows console documentation I believe the following can approximate UNIX "raw" screen. Based on High-Level Console Modes, for an application to be in "raw" mode the following input and output modes need to be disabled: Input Modes
Output Modes
However both the output modes are not applicable for a POSIX like RawScreen.
and so applicable only for AlternateScreen. Wrapping at EOL output mode i:
Also applicable for an alternate screen; furthermore, this behavior is not present in POSIX "raw" and alternate screen. For this changes, the Tested on Windows 10 Powershell and also appears to solve #214 |
Thanks for the research. I will look into this as well and see if it compares to unix functionality I found some other reference as well |
Thanks for looking into it. From my side I have tested in windows 10 Powershell and cmd and the terminal behaves similarly to a Gnome terminal on ubuntu 19.04 and a Ubuntu wls terminal on windows 10. |
Great, so one thing I don't quite understand is why can we just change Output Handle to Input Handle? |
That is a good question. Maybe relevant: SyncReader and AsyncReader::next() seems to behave differently on windows eg:
does not print any characters on a windows terminal although RawScreen is not set. In a linux terminal, input characters are echoed as expected (and InputEvents are all sent together after \n)
|
Cursor position is reported differently between windows and Linux. In windows, cursor position is given from the start of the screen buffer, while for Linux its given in relation to current window. For example, in windows console (PowerShell an cmd) Interestingly, in the integrated terminal of vscode, this is not the case, and cursor position follows the linux behavior. Sorry for the spam, but I guess I collect all these small differences here even-though they might not relate to RawScreen. If this is not ok, I can create a new issue. |
The terminal
raw mode
does not function the same on UNIX and Windows. I tried to find resources to figure out which flags to turn on or turn of. However, it is is not the same yet.Task
Related
The text was updated successfully, but these errors were encountered: