> Since we had these two discussions goin on parallel, my guts told me
> to revert my patch to config.h today. Then I did something a bit
> different. It now works for both sandy and mc correctly, likewise for
> DEL, INS and HOME which were making trouble yesterday. Attached is the
> patch which works here. Please test and report back.

Your patch is changing the idea of the table, and making others keys don't
work. Taken from the comment in config.def.h:

 * keypad value:
 * * 0: no value
 * * > 0: keypad application mode enabled
 * *   = 2: term.numlock = 1
 * * < 0: keypad application mode disabled


So, the changes:

> diff --git a/st.c b/st.c
> index fc64a77..43ce496 100644
> --- a/st.c
> +++ b/st.c
> @@ -2737,12 +2737,12 @@ kmap(KeySym k, uint state) {
>               if(!match(mask, state))
>                       continue;
>
> -             if(kp->appkey > 0) {
> +             if(kp->appkey < 0) {
>                       if(!IS_SET(MODE_APPKEYPAD))
>                               continue;
>                       if(term.numlock && kp->appkey == 2)
>                               continue;
> -             } else if (kp->appkey < 0 && IS_SET(MODE_APPKEYPAD)) {
> +             } else if (kp->appkey > 0 && IS_SET(MODE_APPKEYPAD)) {
>                       continue;
>               }

are making the table act in the reverse mode, changing it to:

 * keypad value:
 * * 0: no value
 * * < 0: keypad application mode enabled
 * *   = 2: Does not matter because it is impossible enter in the first if...
 * * > 0: keypad application mode disabled,

Doing that  XK_KP_0 until XK_KP_9 are not working any more, and for example
XK_End change its behaviour.


Please, could you send the information (infocmp and cat >/dev/tty) I request
in the previous mail?. I suspect that maybe sandy is not writing the
sequence smkx, that is the sequence needed for putting the keypad in
application mode. I just have tested all the keys before these last patches
and it seems they were working fine.

Reply via email to