Report shifted keys like S-A as A not as S-A in mode 1 extended keys,
authornicm <nicm@openbsd.org>
Wed, 2 Oct 2024 08:06:45 +0000 (08:06 +0000)
committernicm <nicm@openbsd.org>
Wed, 2 Oct 2024 08:06:45 +0000 (08:06 +0000)
from Stanislav Kljuhhin.

usr.bin/tmux/input-keys.c

index db37bdf..f775685 100644 (file)
@@ -1,4 +1,4 @@
-/* $OpenBSD: input-keys.c,v 1.99 2024/10/01 06:15:47 nicm Exp $ */
+/* $OpenBSD: input-keys.c,v 1.100 2024/10/02 08:06:45 nicm Exp $ */
 
 /*
  * Copyright (c) 2007 Nicholas Marriott <nicholas.marriott@gmail.com>
@@ -557,6 +557,10 @@ input_key_mode1(struct bufferevent *bev, key_code key)
             (onlykey >= '@' && onlykey <= '~')))
                return (input_key_vt10x(bev, key));
 
+       /* Avoid reporting A as Shift-A, which is not expected in mode 1. */
+       if ((key & KEYC_MASK_MODIFIERS) == KEYC_SHIFT)
+               return (input_key_vt10x(bev, key));
+
        /*
         * A regular key + Meta. In the absence of a standard to back this, we
         * mimic what iTerm 2 does.