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);