-
-
Notifications
You must be signed in to change notification settings - Fork 112
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
investigate XTMODKEYS in the absence of kitty keyboard protocol #2135
Comments
Your biggest problem will be handling shifted keys. XTMODKEYS is completely unspecified in its behavior and this will mean that pressing say alt+shift+x may or may not give you the upper cased or lowercased variants. |
so it looks like we want something like
issued at the beginning. hey @kovidgoyal , the doc says |
On Tue, Oct 05, 2021 at 12:24:20AM -0700, nick black wrote:
so it looks like we want something like
`echo -e '\e[>4;2m\e[>1;2m\e[>0;2m\e[>2;2m`
issued at the beginning.
hey @kovidgoyal , the doc says `In the interests of interoperation, the XTerm specific sequences CSI > 4; 1 m and CSI > 4; 0 m are treated as CSI > 1 u and CSI < 1 u.` is that supposed to be `CSI=1u` and `CSI=0u`? it seems like the line is absent in the current git.
Yes, it was removed. See #4075 for the reason.
|
got it, thanks for the heads up. my plan right now is to emit several XTMODKEYS codes followed by a kitty-specific code. so long as other terminals are ignoring the kitty specific code, this strategy ought be fine for kitty, right? |
On Tue, Oct 05, 2021 at 12:46:34AM -0700, nick black wrote:
got it, thanks for the heads up. my plan right now is to emit several XTMODKEYS codes followed by a kitty-specific code. so long as other terminals are ignoring the kitty specific code, this strategy ought be fine for kitty, right?
Yes, it is fine. The only downside I can see is that the XTMODKEYS ones
will add an entry to the kitty keyboard states stack (on older kitty
which still respects XTMODKEYS), however given this is a very minor isse
and transient anyway, I wouldnt worry.
|
Add prep_xtmodkeys() to handle modified function keys. Unify several paths into load_ncinput(), eliminating several paths that missed statistics and drain checks. Process mouse clicks outside of critical section. Handle XTMODKEY sequences with parameter 5. Interpret 0x8 as NCKEY_BACKSPACE on all paths. Send XTMODKEYS of 2;1 and 4;1 #2135.
Alright, I'm now sending XTMODKEYS of 2;1 and 4;1, and processing most of the new keycodes. We now correctly and precisely identify a good number of modified sequences on XTerm that we didn't before, huzzah. This is in the |
Add prep_xtmodkeys() to handle modified function keys. Unify several paths into load_ncinput(), eliminating several paths that missed statistics and drain checks. Process mouse clicks outside of critical section. Handle XTMODKEY sequences with parameter 5. Interpret 0x8 as NCKEY_BACKSPACE on all paths. Send XTMODKEYS of 2;1 and 4;1 #2135.
actually, @kovidgoyal , the expression i outlined above is no good; i need to do the XTMODKEYS after pushing the current keyboard state, because apparently XTMODKEYS gets pushed/popped with your
|
Add prep_xtmodkeys() to handle modified function keys. Unify several paths into load_ncinput(), eliminating several paths that missed statistics and drain checks. Process mouse clicks outside of critical section. Handle XTMODKEY sequences with parameter 5. Interpret 0x8 as NCKEY_BACKSPACE on all paths. Send XTMODKEYS of 2;1 and 4;1 #2135.
See #2131. Most terminals don't support the Kitty protocol, but many might support
XTMODKEYS
for basic improvements. XTerm certainly does. Look into using it.The text was updated successfully, but these errors were encountered: