Hello,

I made a little patch, may be it will be useful to somebody. 
The keys on my keypad generates 
KP_{Home, Up,Prior,Left,Begin,Right,End,Down,Next} when
Numlock is swiched off. So the keypad can't be used to navigate
through menus. The patch adds bindings to KP_xxx mentioned above.

-- 
wbr, Anton Kazennikov


*** fvwm/menus.orig     Mon Dec 29 00:47:18 2003
--- fvwm/menus.c        Mon Dec 29 00:51:38 2003
***************
*** 919,924 ****
--- 919,925 ----
                break;
  
        case XK_Insert:
+       case XK_KP_Insert:
        case XK_KP_0:
                /* move to last entry of menu ('More...' if this exists) and
                 * try to enter the menu.  Otherwise try to enter the current
***************
*** 929,934 ****
--- 930,936 ----
  
        case XK_Left:
+       case XK_KP_Left:
        case XK_KP_4:
        case XK_h: /* vi left */
                /* leave or enter a submenu */
                saction = (MST_USE_LEFT_SUBMENUS(mr)) ? SA_ENTER : SA_LEAVE;
***************
*** 936,941 ****
--- 938,944 ----
  
        case XK_Right:
+       case XK_KP_Right:
        case XK_KP_6:
        case XK_l: /* vi right */
                /* enter or leave a submenu */
                saction = (MST_USE_LEFT_SUBMENUS(mr)) ? SA_LEAVE : SA_ENTER;
***************
*** 952,963 ****
--- 955,968 ----
                break;
  
        case XK_Page_Up:
+       case XK_KP_Prior:
        case XK_KP_9:
                items_to_move = -5;
                saction = SA_MOVE_ITEMS;
                break;
  
        case XK_Page_Down:
+       case XK_KP_Next:
        case XK_KP_3:
                items_to_move = 5;
                saction = SA_MOVE_ITEMS;
***************
*** 965,970 ****
--- 970,976 ----
  
        case XK_Up:
+       case XK_KP_Up:
        case XK_KP_8:
        case XK_k: /* vi up */
        case XK_p: /* prior */
                if (fShiftedKey && !fControlKey && !fMetaKey)
***************
*** 986,991 ****
--- 992,998 ----
  
        case XK_Down:
+       case XK_KP_Down:
        case XK_KP_2:
        case XK_j: /* vi down */
        case XK_n: /* next */
                if (fShiftedKey && !fControlKey && !fMetaKey)
***************
*** 1037,1047 ****
--- 1044,1056 ----
                break;
  
        case XK_Home:
+       case XK_KP_Home:
        case XK_KP_7:
                saction = SA_FIRST;
                break;
  
        case XK_End:
+       case XK_KP_End:
        case XK_KP_1:
                saction = SA_LAST;
                break;

Reply via email to