From 3a8a31d8d2ea09aadf84f359e9c31e422f18dbb2 Mon Sep 17 00:00:00 2001 From: nicm Date: Wed, 11 Sep 2024 19:12:33 +0000 Subject: [PATCH] Mouse move keys are not useful as key bindings because we do not turn them on unless the application requests them. Ignore them so they do not cause the prefix to be canceled, GitHub issue 4111. --- server-client.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/server-client.c b/server-client.c index ba69e2c3..ed3fd3f3 100644 --- a/server-client.c +++ b/server-client.c @@ -2024,7 +2024,19 @@ try_again: } /* - * No match in this table. If not in the root table or if repeating, + * Binding movement keys is useless since we only turn them on when the + * application requests, so don't let them exit the prefix table. + */ + if (key == KEYC_MOUSEMOVE_PANE || + key == KEYC_MOUSEMOVE_STATUS || + key == KEYC_MOUSEMOVE_STATUS_LEFT || + key == KEYC_MOUSEMOVE_STATUS_RIGHT || + key == KEYC_MOUSEMOVE_STATUS_DEFAULT || + key == KEYC_MOUSEMOVE_BORDER) + goto forward_key; + + /* + * No match in this table. If not in the root table or if repeating * switch the client back to the root table and try again. */ log_debug("not found in key table %s", table->name);