.. | ||
autoload | ||
+bepo.el | ||
config.el | ||
README.org |
input/layout
Description
This module provides barebones support for using Doom with evil-mode with non-qwerty layouts.
Maintainers
- @gagbo (Author)
Module Flags
+bepo
Enables modifications for the BÉPO layout (customized with version 1.1 in mind)
Plugins
None
Prerequisites
This module should only be active if evil is enabled. It uses a general.el utility function, and the hooks provided by evil-collection to make the necessary changes.
Features
Bépo
Support for the bépo layout includes:
- Setting Avy keys to the correct home row keys
-
Changing navigation keys to
ctsr
- old
t
is mapped toj
- old
s
is mapped tok
(i.e. staging in the magit status buffer is done withk
) - See Configuration to see where old
c
andr
functions are remapped
- old
- Bind
<>
functions to«»
keys when possible - Bind
[]
functions to()
keys when possible - Bind
é
key tow
functions when possible - Bind
è
key to useful functions when possible - Bind
`~
functions to$#
keys when possible
Leaving mnemonics alone when possible
Exchanging hjkl
to ctsr
has the effect of destroying a few mnemonics: the
change operator becomes l
for example, or the window split becomes SPC é k
.
The module tries to limit those changes to the minimum, especially in special buffers. A concrete example is magit.
As the magit: project
buffer (obtained with magit-status
) does not need
left-right navigation, keys c
, r
, h
, and l
keep their "expected" bindings,
while t
, s
, j
, and k
are flipped:
- checking the log from a magit buffer is still on
l
- staging a file/region has been moved to
k
Possible contributions
A nice addition in the future might be to have all the normal mode bindings that
start with g
start with ,
instead to avoid the curl on these common
bindings. This is not implemented for the time being.
Configuration
Bépo
doom-bepo-cr-rotation-style
controls whether:
qwerty-c
functions are mapped onbépo-l
key, andqwerty-r
functions onbépo-h
key ('ergodis
), orqwerty-c
functions are mapped onbépo-h
key, andqwerty-r
functions onbépo-l
key ('strict
)
'strict
would be the logical choice but the c
functions are used more often
than the r
ones so Ergodis advises to
actually put all the c
functions on the key that does not need a curl.
Troubleshooting
How to deactivate the new bindings and go back to the old ones ?
If you are learning a new layout you might want to go back to tho old one to
"get work done". Sadly the only way is to comment out the module, run doom
sync
and restart emacs.
Restoring the session SPC q l
by default helps to lower the impact of the
restart.