Subject: Re: bug#43830: keyboard layout handling incompatible with rest of the OS

From: Paul Pogonyshev <[email-masked]>
Date: Thu, 8 Oct 2020 15:58:30 +0200

> The issue is more general than just a single character with a
> modifier, because key sequences such as "C-x z" will still not
> work: the 'z' will become the corresponding non-ASCII character
> when a non-US keyboard layout is used.  Therefore, the only general
> solution is for Emacs to be aware of the keyboard layout in use,
> and map the characters internally to their ASCII equivalents using
> that layout.

Probably yes, I don't know how other applications do it internally.
As I mentioned, LibreOffice and IDEA (both are probably Java) do
it somehow, so there is a way. Maybe I'll try to dig through it later,
since I'm very familiar with Java.

By the way, what I forgot to mention, is that Emacs input modes
perform exactly like I want (i.e. bind to physical keys, so that C-.
in Russian works as C-/ in English; also e.g. C-ч й is translated to
C-x q, so even non-modified characters inside bindings work), but
they have the advantage of knowing the layout, of course. And,
as I mentioned, there are two problems with them: 1) I have to
use C-\ to switch and 2) configuration of `xkb' is bypassed.

Paul

On Thu, 8 Oct 2020 at 10:49, Eli Zaretskii <[email-masked]> wrote:

> > From: Juri Linkov <[email-masked]>
> > Cc: [email-masked],  [email-masked]
> > Date: Wed, 07 Oct 2020 22:01:47 +0300
> >
> > >> We already discussed this 10 years ago, and the conclusion was that
> > >> it would require too fundamental changes in how Emacs processes
> keystrokes.
> > >
> > > Can you point me to that discussion?
> >
> > https://lists.gnu.org/archive/html/emacs-devel/2005-11/msg01237.html
>
> Thanks.
>
> My take out of that discussion:
>
>  . There's a patch in
>    https://lists.gnu.org/archive/html/emacs-devel/2005-11/msg01384.html
>    which seems to allow what Paul wanted with single characters with
>    modifiers, such as C-z or M-s.  That patch has a disadvantage that
>    it disables AltGr, but if we install that patch as an optional
>    feature, perhaps the disadvantage is not so bad?
>
>  . The issue is more general than just a single character with a
>    modifier, because key sequences such as "C-x z" will still not
>    work: the 'z' will become the corresponding non-ASCII character
>    when a non-US keyboard layout is used.  Therefore, the only general
>    solution is for Emacs to be aware of the keyboard layout in use,
>    and map the characters internally to their ASCII equivalents using
>    that layout.
>
> (The discussions also included LEIM features, but I think that is a
> separate issue.)
>