unofficial mirror of help-gnu-emacs@gnu.org
 help / color / mirror / Atom feed
From: max.brieiev@gmail.com
To: help-gnu-emacs@gnu.org
Subject: Setting input method automatically whenever text is to be entered.
Date: Tue, 20 Apr 2021 18:10:05 +0300	[thread overview]
Message-ID: <87pmypuh4i.fsf@gmail.com> (raw)

Hi

I am quite new Emacs user. I prefer to type text using Dvorak
layout. Each time I visit new buffer or interact with minibuffer I have
to press C-\, which is rather inconvenient. So I added the following to
my .emacs file:

(defun set-dvp-input-method (mode-hook)
  (add-hook mode-hook
            (lambda ()
              (if (not (string= current-input-method "programmer-dvorak"))
                  (set-input-method "programmer-dvorak")))))

(mapc #'set-dvp-input-method
      '(text-mode-hook
        prog-mode-hook
        special-mode-hook
        minibuffer-setup-hook
        comint-mode-hook
        dired-mode
        info-mode-hook
        term-mode-hook
        Custom-mode-hook))


This works in most cases, however occasionally I still need to manually
switch to Dvorak input method with C-\ or add the major mode to the list
above, because too many major modes do not inherit from basic ones.

I wonder, is there a better way to automatically set input method
whenever my point is inside some editable area?

Basically what I want is to always enter text with Dvorak, however I am
too used to qwerty keybindings, so I don't want to change layout on OS
level.

There are also some more annoyances. In some minibuffer yes-no prompts I
have to press keys as they are located on qwerty layout, however in the
other seemingly same prompts the key needs to be pressed as on
Dvorak. Is there some way to fix this?

Thanks



             reply	other threads:[~2021-04-20 15:10 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-20 15:10 max.brieiev [this message]
2021-04-20 15:24 ` Setting input method automatically whenever text is to be entered Emanuel Berg via Users list for the GNU Emacs text editor
2021-04-20 15:39   ` max.brieiev
2021-04-23 15:21 ` Alex Kost
2021-04-27 14:22   ` max.brieiev
2021-05-07 14:20     ` Alex Kost

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=87pmypuh4i.fsf@gmail.com \
    --to=max.brieiev@gmail.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).