X-Git-Url: https://git.subgeniuskitty.com/xmenu/.git/blobdiff_plain/006c94ce9c745acfb07758c0d71a008d6dd2abe6..2b0484b11ccb71b9bed2593706938928a32a4e11:/xmenu.c diff --git a/xmenu.c b/xmenu.c index 2a8de09..e74c3c7 100644 --- a/xmenu.c +++ b/xmenu.c @@ -1272,19 +1272,26 @@ selectitem: /* cycle through menu */ item = NULL; - if (ksym == XK_Home) { + if (ksym == XK_Home || ksym == KSYMFIRST) { item = itemcycle(currmenu, ITEMFIRST); - } else if (ksym == XK_End) { + } else if (ksym == XK_End || ksym == KSYMLAST) { item = itemcycle(currmenu, ITEMLAST); - } else if (ksym == XK_ISO_Left_Tab || ksym == XK_Up) { + } else if (ksym == XK_ISO_Left_Tab || ksym == XK_Up || ksym == KSYMUP) { item = itemcycle(currmenu, ITEMPREV); - } else if (ksym == XK_Tab || ksym == XK_Down) { + } else if (ksym == XK_Tab || ksym == XK_Down || ksym == KSYMDOWN) { item = itemcycle(currmenu, ITEMNEXT); - } else if ((ksym == XK_Return || ksym == XK_Right) && + } else if (ksym >= XK_1 && ksym <= XK_9){ + item = itemcycle(currmenu, ITEMFIRST); + currmenu->selected = item; + for(int i = ksym-XK_1; i > 0; i-=1){ + item = itemcycle(currmenu, ITEMNEXT); + currmenu->selected = item; + } + } else if ((ksym == XK_Return || ksym == XK_Right || ksym == KSYMRIGHT) && currmenu->selected != NULL) { item = currmenu->selected; goto selectitem; - } else if ((ksym == XK_Escape || ksym == XK_Left) && + } else if ((ksym == XK_Escape || ksym == XK_Left || ksym == KSYMLEFT) && currmenu->parent != NULL) { item = currmenu->parent->selected; currmenu = currmenu->parent;