Skip to content
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

msterminal win32-input-mode #82

Open
adamyg opened this issue Aug 7, 2024 · 1 comment
Open

msterminal win32-input-mode #82

adamyg opened this issue Aug 7, 2024 · 1 comment
Labels
enhancement New feature or request
Milestone

Comments

@adamyg
Copy link
Owner

adamyg commented Aug 7, 2024

Improved keyboard handling in Conpty

Permit access to full keyboard, similar to Cygwin's raw-mode.

  ^[ [ Vk ; Sc ; Uc ; Kd ; Cs ; Rc _

       Vk: the value of wVirtualKeyCode - any number. If omitted, defaults to '0'.

       Sc: the value of wVirtualScanCode - any number. If omitted, defaults to '0'.

       Uc: the decimal value of UnicodeChar - for example, NUL is "0", LF is
           "10", the character 'A' is "65". If omitted, defaults to '0'.

       Kd: the value of bKeyDown - either a '0' or '1'. If omitted, defaults to '0'.

       Cs: the value of dwControlKeyState - any number. If omitted, defaults to '0'.

       Rc: the value of wRepeatCount - any number. If omitted, defaults to '1'.

Note:
Special handled required for mouse/bracketed-paste operations; short-term to be corrected.
Despite being CSI events, both events are re-encoded as a stream of win32-input-mode messages.

For example:

\x1b[0;0;27;1;0;1_   -> \x1b  (pressed)
\x1b[0;0;91;1;0;1_   -> [     (pressed)
\x1b[0;0;77;1;0;1_   -> M     (pressed)
\x1b[56;9;56;1;0;1_  -> 8     (pressed)
\x1b[56;9;56;0;0;1_  -> 8     (released)
\x1b[0;0;27;1;0;1_   -> \x1b  (pressed)
\x1b[0;0;91;1;0;1_   -> [     (pressed)
\x1b[0;0;77;1;0;1_   -> M     (pressed)
\x1b[16;42;0;1;16;1_ -> ???   (pressed)
\x1b[51;4;35;1;16;1_ -> #     (pressed)
\x1b[51;4;35;0;16;1_ -> #     (released)
\x1b[16;42;0;0;0;1_  -> ???   (released)
@adamyg adamyg added this to the build-27 milestone Aug 7, 2024
@adamyg adamyg added the enhancement New feature or request label Aug 15, 2024
@adamyg adamyg modified the milestones: build-27, build-28 Sep 8, 2024
@adamyg
Copy link
Owner Author

adamyg commented Sep 8, 2024

Waiting on Cygwin release.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant