unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
* How to keep key bindings working after switching keyboard layout
@ 2016-01-24 12:41 Andrew Gaydenko
  2016-01-24 14:23 ` Yuri Khan
  0 siblings, 1 reply; 4+ messages in thread
From: Andrew Gaydenko @ 2016-01-24 12:41 UTC (permalink / raw)
  To: help-gnu-emacs

Hi!

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.

I have tried to find decision, but all I have found is very old and or
not working.

Emacs from the 25.x git branch is in use at the moment, but I'm ready to
switch to the last 24.x stable one.


Andrew




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to keep key bindings working after switching keyboard layout
  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
  2016-01-24 23:41   ` Emanuel Berg
  0 siblings, 2 replies; 4+ messages in thread
From: Yuri Khan @ 2016-01-24 14:23 UTC (permalink / raw)
  To: Andrew Gaydenko; +Cc: help-gnu-emacs@gnu.org

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.)



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to keep key bindings working after switching keyboard layout
  2016-01-24 14:23 ` Yuri Khan
@ 2016-01-24 14:33   ` Andrew Gaydenko
  2016-01-24 23:41   ` Emanuel Berg
  1 sibling, 0 replies; 4+ messages in thread
From: Andrew Gaydenko @ 2016-01-24 14:33 UTC (permalink / raw)
  To: help-gnu-emacs

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




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: How to keep key bindings working after switching keyboard layout
  2016-01-24 14:23 ` Yuri Khan
  2016-01-24 14:33   ` Andrew Gaydenko
@ 2016-01-24 23:41   ` Emanuel Berg
  1 sibling, 0 replies; 4+ messages in thread
From: Emanuel Berg @ 2016-01-24 23:41 UTC (permalink / raw)
  To: help-gnu-emacs

Yuri Khan <yuri.v.khan@gmail.com> writes:

> 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.

This can be remedied as well by bringing everything
into Emacs - which has many other advantages as well!

Some of the most rewarding/obvious examples are:

    Thunderbird -> Emacs Gnus
    Firefox     -> Emacs w3m
    Irssi       -> ERC
    man pages   -> M-x man

-- 
underground experts united
http://user.it.uu.se/~embe8573




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2016-01-24 23:41 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
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
2016-01-24 23:41   ` Emanuel Berg

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).