From: Juri Linkov <juri@linkov.net>
To: Dov Grobgeld <dov.grobgeld@gmail.com>
Cc: Eli Zaretskii <eliz@gnu.org>, Yuri Khan <yuri.v.khan@gmail.com>,
manikulin@gmail.com, emacs-devel@gnu.org
Subject: Re: Physical keyboard events
Date: Wed, 30 Oct 2024 21:36:18 +0200 [thread overview]
Message-ID: <86frodqt71.fsf@mail.linkov.net> (raw)
In-Reply-To: <CA++fsGEJ4-mX=0FmhwmHBzVmjOORrNaHp9NvoJy7OTdNFatEYg@mail.gmail.com> (Dov Grobgeld's message of "Wed, 30 Oct 2024 21:26:21 +0200")
> Switching to a different keyboard language causes all navigation
> keyboard shortcuts to fail by default. This is why I found myself
> adding the following to my .emacs file. I agree it would be nice if
> there was some automatic way of creating this mapping, but using
> keycodes, does not seem to be a correct way to do it.
>
> ;; some motion bindings in Hebrew mode that reflect key
> ;; positions for Dvorak.
> (global-set-key [(control ?ש)] 'move-beginning-of-line)
> (global-set-key [(control ?ג)] 'move-end-of-line)
> (global-set-key [(control ?ר)] 'previous-line)
> (global-set-key [(control ?ך)] 'next-line)
> (global-set-key [(control ?ה)] 'kill-line)
> (global-set-key [(control ?ף)] 'isearch-forward)
> (global-set-key [(control ?ם)] 'isearch-backward)
> (global-set-key [(control ?ץ)] 'scroll-up-command)
> (global-set-key [(meta ?ץ)] 'scroll-down-command)
> (global-set-key [(meta ?ט)] 'forward-word)
> (global-set-key [(control ?ט)] 'forward-char)
> (global-set-key [(meta ?מ)] 'backward-word)
> (global-set-key [(control ?מ)] 'backward-char)
> (define-key isearch-mode-map [(control ?ף)] 'isearch-repeat-forward)
> (define-key isearch-mode-map [(control ?ם)] 'isearch-repeat-backward)
> (global-set-key [(control ?נ) (control ?ף)] 'save-buffer)
There is the automatic way of creating such mapping
by using the package
https://github.com/a13/reverse-im.el
Then you can customize it to any input method, e.g.:
(reverse-im-input-methods '("hebrew"))
next prev parent reply other threads:[~2024-10-30 19:36 UTC|newest]
Thread overview: 31+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-10-28 23:15 Physical keyboard events Cecilio Pardo
2024-10-29 13:40 ` Eli Zaretskii
2024-10-29 15:07 ` Cecilio Pardo
2024-10-29 15:38 ` Peter Feigl
2024-10-29 17:54 ` Cecilio Pardo
2024-10-29 23:41 ` James Thomas
2024-10-29 16:44 ` Eli Zaretskii
2024-10-29 16:55 ` Yuri Khan
2024-10-29 17:46 ` Eli Zaretskii
2024-10-30 2:56 ` Max Nikulin
2024-10-30 6:28 ` Yuri Khan
2024-10-30 6:39 ` Peter Feigl
2024-10-30 15:27 ` Eli Zaretskii
2024-10-30 17:13 ` Yuri Khan
2024-10-30 17:37 ` Eli Zaretskii
2024-10-30 19:26 ` Dov Grobgeld
2024-10-30 19:36 ` Juri Linkov [this message]
2024-10-30 19:55 ` Eli Zaretskii
2024-10-30 15:21 ` Eli Zaretskii
2024-10-30 16:59 ` Max Nikulin
2024-10-29 17:56 ` Cecilio Pardo
2024-10-29 17:52 ` Cecilio Pardo
2024-10-29 17:13 ` Alan Mackenzie
2024-10-29 18:20 ` Cecilio Pardo
2024-10-29 19:31 ` Alan Mackenzie
2024-10-29 21:45 ` Cecilio Pardo
2024-10-30 6:02 ` Yuri Khan
2024-10-30 15:23 ` Eli Zaretskii
2024-10-30 16:51 ` Yuri Khan
2024-10-30 17:25 ` Eli Zaretskii
2024-10-30 3:27 ` Eli Zaretskii
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=86frodqt71.fsf@mail.linkov.net \
--to=juri@linkov.net \
--cc=dov.grobgeld@gmail.com \
--cc=eliz@gnu.org \
--cc=emacs-devel@gnu.org \
--cc=manikulin@gmail.com \
--cc=yuri.v.khan@gmail.com \
/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.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/emacs.git
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).