On Wed, Jan 22, 2025 at 11:16:16AM +0300, Ivan Sorokin wrote:
> 
> To fix this bug, you should add
>  
>         /*
>          * For combinations of the Alt key with text-input keys,
>          * in the case of a non-English keyboard layout,
>          * we will send the Unicode character corresponding
>          * to the pressed key.
>          */
>         int codepoint = keysym2ucs(kd.keysym);

normally that's called from Xutf8LookupString().
Like alt/mod1, that probably should be configurable.
(perhaps the same feature)

...however, I do see the point that the current mapping in an 8-bit character
is not so good for non-ISO-8859-1 keyboards :-)

>         if ((input_char == -1) && (evt_state & Mod1Mask) && (codepoint > 
> 0x7E)) {

mod1 isn't guaranteed to be the alt key (changes in that area probably
need some configurability to avoid startling other users).

>             input_char = codepoint;
>         }
>  
> just after
>  
>       input_char = ((kd.keysym < 256)
>         ? (int) kd.keysym
>         : ((kd.nbytes == 1)
>            ? CharOf(kd.strbuf[0])
>            : -1));
>  
> in input.c
>  
>  

-- 
Thomas E. Dickey <dic...@invisible-island.net>
https://invisible-island.net

Attachment: signature.asc
Description: PGP signature

Reply via email to