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/getchar.c b/src/getchar.c
index 1e03b86..142e394 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -2463,7 +2463,11 @@
static int
key_protocol_enabled(void)
{
- return seenModifyOtherKeys || kitty_protocol_state == KKPS_ENABLED;
+ // If xterm has responded to XTQMODKEYS it overrules seenModifyOtherKeys.
+ int using_mok = modify_otherkeys_state != MOKS_INITIAL
+ ? modify_otherkeys_state == MOKS_ENABLED
+ : seenModifyOtherKeys;
+ return using_mok || kitty_protocol_state == KKPS_ENABLED;
}
/*