]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
kconfig: lxdialog: fix 'space' to (de)select options
authorYann E. MORIN <yann.morin.1998@free.fr>
Wed, 13 Nov 2013 23:53:32 +0000 (00:53 +0100)
committerMasahiro Yamada <masahiroy@kernel.org>
Tue, 24 Jun 2025 11:30:27 +0000 (20:30 +0900)
In case a menu has comment without letters/numbers (eg. characters
matching the regexp '^[^[:alpha:][:digit:]]+$', for example - or *),
hitting space will cycle through those comments, rather than
selecting/deselecting the currently-highlighted option.

This is the behaviour of hitting any letter/digit: jump to the next
option which prompt starts with that letter. The only letters that
do not behave as such are 'y' 'm' and 'n'. Prompts that start with
one of those three letters are instead matched on the first letter
that is not 'y', 'm' or 'n'.

Fix that by treating 'space' as we treat y/m/n, ie. as an action key,
not as shortcut to jump to  prompt.

Signed-off-by: Yann E. MORIN <yann.morin.1998@free.fr>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
Signed-off-by: Cherniaev Andrei <dungeonlords789@naver.com>
[masahiro: took from Buildroot, adjusted the commit subject]
Signed-off-by: Masahiro Yamada <masahiroy@kernel.org>
scripts/kconfig/lxdialog/menubox.c

index 6e6244df0c56e395fde3e8a15b2ef22da81069a9..d4c19b7beebbd4445e64771e1216d2130d3fe0d5 100644 (file)
@@ -264,7 +264,7 @@ do_resize:
                if (key < 256 && isalpha(key))
                        key = tolower(key);
 
-               if (strchr("ynmh", key))
+               if (strchr("ynmh ", key))
                        i = max_choice;
                else {
                        for (i = choice + 1; i < max_choice; i++) {