[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Setting input method automatically whenever text is to be entered.
From: |
max . brieiev |
Subject: |
Setting input method automatically whenever text is to be entered. |
Date: |
Tue, 20 Apr 2021 18:10:05 +0300 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
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
- Setting input method automatically whenever text is to be entered.,
max . brieiev <=