patch 9.0.0954: cannot detect whether modifyOtherKeys is enabled
Problem: Cannot detect whether modifyOtherKeys is enabled.
Solution: Use XTQMODKEYS introduced by xterm version 377 to request the
modifyOtherKeys level. Update the keycode check results.
diff --git a/src/map.c b/src/map.c
index ee249c7..505994a 100644
--- a/src/map.c
+++ b/src/map.c
@@ -315,7 +315,26 @@
if (p_verbose > 0 && keyround == 1)
{
if (seenModifyOtherKeys)
- msg_puts(_("Seen modifyOtherKeys: true"));
+ msg_puts(_("Seen modifyOtherKeys: true\n"));
+
+ if (modify_otherkeys_state != MOKS_INITIAL)
+ {
+ char *name = _("Unknown");
+ switch (modify_otherkeys_state)
+ {
+ case MOKS_INITIAL: break;
+ case MOKS_OFF: name = _("Off"); break;
+ case MOKS_ENABLED: name = _("On"); break;
+ case MOKS_DISABLED: name = _("Disabled"); break;
+ case MOKS_AFTER_T_KE: name = _("Cleared"); break;
+ }
+
+ char buf[200];
+ vim_snprintf(buf, sizeof(buf),
+ _("modifyOtherKeys detected: %s\n"), name);
+ msg_puts(buf);
+ }
+
if (kitty_protocol_state != KKPS_INITIAL)
{
char *name = _("Unknown");
@@ -329,7 +348,8 @@
}
char buf[200];
- vim_snprintf(buf, sizeof(buf), _("Kitty keyboard protocol: %s"), name);
+ vim_snprintf(buf, sizeof(buf),
+ _("Kitty keyboard protocol: %s\n"), name);
msg_puts(buf);
}
}