-
Notifications
You must be signed in to change notification settings - Fork 8.4k
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
Complete the 8-bit interface architecture #16547
Merged
microsoft-github-policy-service
merged 9 commits into
microsoft:main
from
j4james:feature-8bit-ia
Feb 21, 2024
Merged
Complete the 8-bit interface architecture #16547
microsoft-github-policy-service
merged 9 commits into
microsoft:main
from
j4james:feature-8bit-ia
Feb 21, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
microsoft-github-policy-service
bot
added
the
Issue-Feature
Complex enough to require an in depth planning process and actual budgeted, scheduled work.
label
Jan 9, 2024
j4james
force-pushed
the
feature-8bit-ia
branch
from
January 12, 2024 00:17
dc4e85c
to
4e3821c
Compare
microsoft-github-policy-service
bot
added
Area-VT
Virtual Terminal sequence support
Product-Conhost
For issues in the Console codebase
labels
Jan 12, 2024
j4james
force-pushed
the
feature-8bit-ia
branch
from
January 13, 2024 19:07
4e3821c
to
d71b6d4
Compare
zadjii-msft
approved these changes
Jan 19, 2024
lhecker
approved these changes
Feb 12, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Neat!
lhecker
added
the
AutoMerge
Marked for automatic merge by the bot when requirements are met
label
Feb 21, 2024
microsoft-github-policy-service
bot
merged commit Feb 21, 2024
9654fc6
into
microsoft:main
15 checks passed
Thanks so much for this! Sorry I missed this one 😄 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
Area-VT
Virtual Terminal sequence support
AutoMerge
Marked for automatic merge by the bot when requirements are met
Issue-Feature
Complex enough to require an in depth planning process and actual budgeted, scheduled work.
Product-Conhost
For issues in the Console codebase
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary of the Pull Request
This PR adds support for the missing operations that are required in the
8-bit interface architecture extension.
DECAUPSS
- Assign User-Preference Supplemental SetDECRQUPSS
- Request User-Preference Supplemental SetACS
- Announce Code Structure for ANSI levels 1, 2, and 3Detailed Description of the Pull Request / Additional comments
For the UPSS assignment there's a new
wstring_view
inTerminalOutput
that tracks the current mapping table for the character set, and a new
VTID
field tracking the ID so it can be queried. The ANSI conformancejust required a couple of calls to existing methods to designate the
appropriate character sets and GL/GR maps.
And now that we've implemented everything that's required, I've updated
our device attributes report (
DA1
) to indicate support for the 8-bitinterface architecture (feature 14).
This PR also addresses some issues with the way the 8-bit GR capability
is managed. Previously a soft reset (
DECSTR
) would return the codepage to its startup state, and the restore cursor operation (
DECRC
)could have a similar effect. This was a problem for 8-bit apps that
weren't expecting that behavior.
I've now made it so those operations no longer have any effect on the
code page, and the same applies to the C1 parsing option (
DECAC1
). Theonly way to restore the code page and C1 parsing to their startup state
now is with a hard reset (
RIS
).Validation Steps Performed
I've added unit tests covering the
DECAUPSS
andDECRQUPSS
sequences,and I've also manually tested their behavior in Vttest.
PR Checklist