Subject: Re: bug#16645: 24.3; in xterm, keypad = is translated to M-o x

From: Stefan Kangas <[email-masked]>
Date: Sat, 28 Mar 2020 01:55:40 +0100

Vincent Lefevre <[email-masked]> writes:

> On 2014-02-05 01:15:48 +0100, Vincent Lefevre wrote:
>> On 2014-02-05 00:58:14 +0100, Vincent Lefevre wrote:
>> > With "emacs -Q -nw" in xterm, the keypad = key (keysym 0xffbd, KP_Equal)
>> > is translated to M-o x instead of the = character.
>> 
>> According to "tack", the keypad "=" gives:
>> 
>> ^[OX       Unknown
>> 
>> instead of
>> 
>> =          Unknown
>> 
>> Then, I don't know yet whether this is intentional or this is a bug
>> in xterm.
>
> It was due to my XKB settings (only the "=" keypad key gave a
> KP_something keysym due to missing configuration for this key,
> contrary to the other keypad ones).

So it seems like this was not a bug in Emacs?  Could this bug
therefore be closed?

>                                     So, now that the "=" keypad
> key gives a normal "=" keysym, the problem is no longer visible
> in Emacs on my machine. However I'm still wondering about the
> remarks below:

I'm assuming you are here referring the difference between "^[OX" and
"\eOx"?  It seems to me that it's just a difference in how this keysym
is displayed by Emacs and tack.

>> And why the different case for "o" and "x" (uppercase in
>> tack, lowercase in Emacs)?
>> 
>> In any case, I can see nothing about kp-equal in the xterm.el file.
>> About the keypad, just:
>> 
>>     (define-key map "\eOj" [kp-multiply])
>>     (define-key map "\eOk" [kp-add])
>>     (define-key map "\eOl" [kp-separator])
>>     (define-key map "\eOm" [kp-subtract])
>>     (define-key map "\eOo" [kp-divide])
>>     (define-key map "\eOp" [kp-0])
>>     (define-key map "\eOq" [kp-1])
>>     (define-key map "\eOr" [kp-2])
>>     (define-key map "\eOs" [kp-3])
>>     (define-key map "\eOt" [kp-4])
>>     (define-key map "\eOu" [kp-5])
>>     (define-key map "\eOv" [kp-6])
>>     (define-key map "\eOw" [kp-7])
>>     (define-key map "\eOx" [kp-8])
>>     (define-key map "\eOy" [kp-9])

Best regards,
Stefan Kangas