This is a bit of an esoteric request so I will try to phrase it clearly.

I am currently beginning to learn colemak and doing so through a series of transitional layouts that go by the group name of tarmak. On top of that, I use evil-mode so the spacial relationship between different keybindings is important. Since these tarmak layouts are only temporary, It would be nice to not have to rebind everything repeatedly as I get gradually closer and closer to full colemak.

Is there a emacs package or snippet of code that can remap keys depending on the current keyboard layout of the computer such that the spacial position of keybindings does not change?

  • You can have a look at package ergoemacs, that provides bindings to the same physical keys for various layouts. It does need you to tell which layout is currently in use. – JeanPierre May 7 '16 at 20:04
  • 1
    Related: Detect keyboard layout? – Dan May 7 '16 at 23:44
  • ergoemacs.org/misc/ergoemacs_vi_mode.html is another modal keymap that has layouts for azerty, azerty-be, colemak, colemak-mod-dh, dvorak, programer-dvorak, qwerty, qwerty-abnt, qwertz and might be a good example of what you're looking for? ;; "workman" – shoshin Jan 3 '20 at 16:48

This is not exactly a complete answer to your question, but it may help you as a starting point. My evil-colemak-basics provides Qwerty/Colemak best-of-both-worlds key bindings:


You can use it as a starting point in case you have a different layout.

That said, this is 6 months after you asked your question, so maybe you are using proper Colemak now, in which case this package may be exactly what you are looking for.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.