[PATCH] kconfig: nconf: Use TAB to cycle thru dialog buttons

Thorsten Blum posted 1 patch 1 month, 1 week ago
scripts/kconfig/nconf.gui.c | 9 +++++++++
1 file changed, 9 insertions(+)
[PATCH] kconfig: nconf: Use TAB to cycle thru dialog buttons
Posted by Thorsten Blum 1 month, 1 week ago
Add the ability to cycle through dialog buttons with the TAB key.

Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
---
 scripts/kconfig/nconf.gui.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/scripts/kconfig/nconf.gui.c b/scripts/kconfig/nconf.gui.c
index 72b605efe549..aeac9e5b06ee 100644
--- a/scripts/kconfig/nconf.gui.c
+++ b/scripts/kconfig/nconf.gui.c
@@ -277,6 +277,15 @@ int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...)
 		case KEY_RIGHT:
 			menu_driver(menu, REQ_RIGHT_ITEM);
 			break;
+		case 9: /* TAB */
+			if (btn_num > 1) {
+				/* cycle through buttons */
+				if (item_index(current_item(menu)) == btn_num-1)
+					menu_driver(menu, REQ_FIRST_ITEM);
+				else
+					menu_driver(menu, REQ_NEXT_ITEM);
+			}
+			break;
 		case 10: /* ENTER */
 		case 27: /* ESCAPE */
 		case ' ':
-- 
2.47.0
Re: [PATCH] kconfig: nconf: Use TAB to cycle thru dialog buttons
Posted by Masahiro Yamada 1 month, 1 week ago
On Mon, Oct 14, 2024 at 6:19 PM Thorsten Blum <thorsten.blum@linux.dev> wrote:
>
> Add the ability to cycle through dialog buttons with the TAB key.
>
> Signed-off-by: Thorsten Blum <thorsten.blum@linux.dev>
> ---

Applied to linux-kbuild.
Thanks.


>  scripts/kconfig/nconf.gui.c | 9 +++++++++
>  1 file changed, 9 insertions(+)
>
> diff --git a/scripts/kconfig/nconf.gui.c b/scripts/kconfig/nconf.gui.c
> index 72b605efe549..aeac9e5b06ee 100644
> --- a/scripts/kconfig/nconf.gui.c
> +++ b/scripts/kconfig/nconf.gui.c
> @@ -277,6 +277,15 @@ int btn_dialog(WINDOW *main_window, const char *msg, int btn_num, ...)
>                 case KEY_RIGHT:
>                         menu_driver(menu, REQ_RIGHT_ITEM);
>                         break;
> +               case 9: /* TAB */
> +                       if (btn_num > 1) {
> +                               /* cycle through buttons */
> +                               if (item_index(current_item(menu)) == btn_num-1)
> +                                       menu_driver(menu, REQ_FIRST_ITEM);
> +                               else
> +                                       menu_driver(menu, REQ_NEXT_ITEM);
> +                       }
> +                       break;
>                 case 10: /* ENTER */
>                 case 27: /* ESCAPE */
>                 case ' ':
> --
> 2.47.0
>


-- 
Best Regards
Masahiro Yamada