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 <dickey@invisible-island.net>
https://invisible-island.net
Attachment:
signature.asc
Description: PGP signature