unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: Andrew Gaydenko <a@gaydenko.com>
To: help-gnu-emacs@gnu.org
Subject: Re: How to keep key bindings working after switching keyboard layout
Date: Sun, 24 Jan 2016 17:33:52 +0300	[thread overview]
Message-ID: <56A4E0D0.80500@gaydenko.com> (raw)
In-Reply-To: <CAP_d_8WVdGPRduhhkyV2onaKkEbuoXrMQXHZcJjXmNMk3DHfNQ@mail.gmail.com>

On 24.01.2016 17:23, Yuri Khan wrote:
> On Sun, Jan 24, 2016 at 6:41 PM, Andrew Gaydenko <a@gaydenko.com> wrote:
> 
>> How to keep key bindings working after switching keyboard layout?
>> Saying "layout" I mean Linux workstation running X11 and having also got
>> an alternative-to-Latin keyboard layout configured in X11 conf files.
> 
> This is an unsolved problem, and, to my knowledge, it cannot be solved
> without a thorough rethinking of the Emacs input system. Workarounds
> exist but are cumbersome, unreliable, inconvenient, or any combination
> of the above.
> 
> Some people here will suggest that you use Emacs’ input method
> mechanism, activated by command “toggle-input-method”. This has the
> advantage that key bindings “just work”, but now you have a different
> layout switching key and a different set of layouts in Emacs than the
> rest of your desktop. Additionally, if your Latin layout is anything
> other than US QWERTY, then your Cyrillic layout is pretty much hosed.
> 
> Another workaround is to add to “key-translation-map” mappings from
> C-й to C-q, C-ц to C-w, C-у to C-e, …, and similarly for M-й, C-M-й,
> and so on:
> 
>     (define-key key-translation-map (kbd "C-й") (kbd "C-q"))
>     (define-key key-translation-map (kbd "C-ц") (kbd "C-w"))
>     …
> 
> This way, you get to use your familiar X11 keyboard layout switching,
> but only some of the bindings work. Notably, bindings that involve the
> period and comma won’t be translated; also, single-letter bindings
> (e.g. “g” to refresh a Dired buffer) cannot be translated this way.
> 
> Lastly, you can accept the status quo and condition yourself to always
> switch back to Latin every time you need to invoke any command other
> than self-insert-command or basic navigation. (For commands invoked
> through M-x, you will have to do that anyway.)


Yuri,

Thanks for the detailed and opened answer. I more tend to select the
last way, that is to form a brain to switch back to Latin. The brain in
hands isn't too young and, as a result, isn't too liquid.

But I'll try :)


Regards,
Andrew




  reply	other threads:[~2016-01-24 14:33 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-01-24 12:41 How to keep key bindings working after switching keyboard layout Andrew Gaydenko
2016-01-24 14:23 ` Yuri Khan
2016-01-24 14:33   ` Andrew Gaydenko [this message]
2016-01-24 23:41   ` Emanuel Berg

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=56A4E0D0.80500@gaydenko.com \
    --to=a@gaydenko.com \
    --cc=help-gnu-emacs@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).