From 8f60bb2f0860ddbfa6806aad18849b3efccffc94 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. --- usr.bin/tmux/server-client.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/usr.bin/tmux/server-client.c b/usr.bin/tmux/server-client.c index 7d89aee8db6..a8c5012224a 100644 --- a/usr.bin/tmux/server-client.c +++ b/usr.bin/tmux/server-client.c @@ -1,4 +1,4 @@ -/* $OpenBSD: server-client.c,v 1.407 2024/08/27 07:25:27 nicm Exp $ */ +/* $OpenBSD: server-client.c,v 1.408 2024/09/11 19:12:33 nicm Exp $ */ /* * Copyright (c) 2009 Nicholas Marriott @@ -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); -- 2.20.1