-
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
Add support for more DSR queries. #16525
Add support for more DSR queries. #16525
Conversation
I should note that I've also tried to verify these reports in Vttest, but there were some bugs in their |
6c192d1
into
microsoft:main
## Summary of the Pull Request This PR adds support for more Device Status Report (`DSR`) queries, specifically: * Printer Status (`DSR ?15`) * User Defined Keys (`DSR ?25`) * Keyboard Status (`DSR ?26`) * Locator Status (`DSR ?55`) * Locator Identity (`DSR ?56`) * Data Integrity (`DSR ?75`) * Multiple Session Status (`DSR ?85`) ## Detailed Description of the Pull Request / Additional comments For most of these, we just need to return a `DSR` sequence indicating that the functionality isn't supported. * `DSR ?13` indicates that a printer isn't connected. * `DSR ?23` indicates the UDK extension isn't supported. * `DSR ?53` indicates that a locator device isn't connected * `DSR ?57;0` indicates the locator type is unknown or not connected. * `DSR ?83` indicates that multiple sessions aren't supported. For the keyboard, we report `DSR ?27;0;0;5`, indicating a PC keyboard (the `5` parameter), a "ready" status (the second `0` parameter), and an unknown language (the first `0` parameter). In the long term, there may be some value in identifying the actual keyboard language, but for now this should be good enough. The data integrity report was originally used to detect communication errors between the terminal and host, but that's not really applicable for modern terminals, so we always just report `DSR ?70`, indicating that there are no errors. ## Validation Steps Performed I've added some more adapter tests and output engine tests covering the new reports. ## PR Checklist - [x] Closes #16518 - [x] Tests added/passed (cherry picked from commit 6c192d1) Service-Card-Id: 91631713 Service-Version: 1.19
Summary of the Pull Request
This PR adds support for more Device Status Report (
DSR
) queries,specifically:
DSR ?15
)DSR ?25
)DSR ?26
)DSR ?55
)DSR ?56
)DSR ?75
)DSR ?85
)Detailed Description of the Pull Request / Additional comments
For most of these, we just need to return a
DSR
sequence indicatingthat the functionality isn't supported.
DSR ?13
indicates that a printer isn't connected.DSR ?23
indicates the UDK extension isn't supported.DSR ?53
indicates that a locator device isn't connectedDSR ?57;0
indicates the locator type is unknown or not connected.DSR ?83
indicates that multiple sessions aren't supported.For the keyboard, we report
DSR ?27;0;0;5
, indicating a PC keyboard(the
5
parameter), a "ready" status (the second0
parameter), and anunknown language (the first
0
parameter). In the long term, there maybe some value in identifying the actual keyboard language, but for now
this should be good enough.
The data integrity report was originally used to detect communication
errors between the terminal and host, but that's not really applicable
for modern terminals, so we always just report
DSR ?70
, indicatingthat there are no errors.
Validation Steps Performed
I've added some more adapter tests and output engine tests covering the
new reports.
PR Checklist