| From ad16a38441b6b15f170fcf1de2987275ed1f6766 Mon Sep 17 00:00:00 2001 |
| From: Sasha Levin <sashal@kernel.org> |
| Date: Thu, 14 Nov 2013 00:53:32 +0100 |
| Subject: kconfig: lxdialog: fix 'space' to (de)select options |
| |
| From: Yann E. MORIN <yann.morin.1998@free.fr> |
| |
| [ Upstream commit 694174f94ebeeb5ec5cc0e9de9b40c82057e1d95 ] |
| |
| 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> |
| Signed-off-by: Sasha Levin <sashal@kernel.org> |
| --- |
| scripts/kconfig/lxdialog/menubox.c | 2 +- |
| 1 file changed, 1 insertion(+), 1 deletion(-) |
| |
| diff --git a/scripts/kconfig/lxdialog/menubox.c b/scripts/kconfig/lxdialog/menubox.c |
| index 58c2f8afe59b..7e10e919fbdc 100644 |
| --- a/scripts/kconfig/lxdialog/menubox.c |
| +++ b/scripts/kconfig/lxdialog/menubox.c |
| @@ -272,7 +272,7 @@ int dialog_menu(const char *title, const char *prompt, |
| 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++) { |
| -- |
| 2.39.5 |
| |