Disambiguate the colemak-hnei and colemak-neio layouts
This commit is contained in:
parent
a8c813a815
commit
6255081645
|
@ -194,33 +194,17 @@ the [[https://colemak.com/][Colemak website]].
|
|||
|
||||
[[file:img/colemak-layout.png]]
|
||||
|
||||
- The =colemak= layout: matches Vims movement keys:
|
||||
- ~h~ doesn't need to be remapped, it's to the left of the index finger.
|
||||
- ~n → j~
|
||||
- ~e → k~
|
||||
- ~i → l~
|
||||
This layer offers three flavors of Colemak bindings:
|
||||
|
||||
- The lost keys are remapped as follows:
|
||||
- ~j → n~
|
||||
- ~k → e~
|
||||
- ~l → i~
|
||||
- =colemak-hnei= remaps ~HJKL~ to ~HNEI~, keeping the same key location; useful
|
||||
for people used to the ~HJKL~ scheme on a Qwerty keyboard.
|
||||
- =colemak-neio= remaps ~HJKL~ to ~NEIO~, shifted one key to the right for
|
||||
easier access.
|
||||
- =colemak-jkhl= remaps ~HJKL~ to ~JKHL~, permuting the direction of the keys
|
||||
without disturbing any other binding.
|
||||
|
||||
The configuration =colemak-jkhl= reuses HJKL as movement keys, but permuted as
|
||||
JKHL:
|
||||
- ~j~ is now left
|
||||
- ~k~ is now down
|
||||
- ~h~ is now up
|
||||
- ~l~ is right, unchanged
|
||||
|
||||
While not on the home row, the keys are still easily accessible and do not
|
||||
conflict with any other Evil binding.
|
||||
|
||||
Additionally, in normal and motion states, ~L~ is bound to =evil-lookup= while
|
||||
~H~ and ~K~ are respectively bound to =evil-window-top= and
|
||||
=evil-window-bottom=.
|
||||
|
||||
*Note*: for technical reasons (see [[https://github.com/syl20bnr/spacemacs/pull/7178#issuecomment-249360301][GH-7178]]), the =kl/pre-config-evil= and
|
||||
=kl/post-config-evil= hooks will be run /twice/.
|
||||
*Note*: for technical reasons (see [[https://github.com/syl20bnr/spacemacs/pull/7178#issuecomment-249360301][GH-7178]]), when using =colemak-jkhl=, the
|
||||
~kl/pre-config-evil~ and ~kl/post-config-evil~ hooks will be run /twice/.
|
||||
|
||||
** Workman
|
||||
=Workman= is an English-optimized keyboard layout that's designed to, among
|
||||
|
|
|
@ -13,7 +13,10 @@
|
|||
;; PUBLIC VARIABLES
|
||||
;;------------------------------------------------------------------------------
|
||||
|
||||
(defvar kl-layout 'dvorak)
|
||||
(defvar kl-layout 'dvorak
|
||||
"The keyboard-layout to use. Possible values are `bepo', `dvp',
|
||||
`dvorak', `workman', `neo', `colemak-neio', `colemak-hnei' and
|
||||
`colemak-jkhl'.")
|
||||
|
||||
(defvar kl-enabled-configurations nil
|
||||
"If non nil, `keyboard-layout' will enable configurations only
|
||||
|
@ -57,15 +60,6 @@ case.")
|
|||
("j" . "t")
|
||||
("k" . "n")
|
||||
("l" . "s")))
|
||||
(colemak . (("h" . "h")
|
||||
("n" . "j")
|
||||
("e" . "k")
|
||||
("i" . "l")
|
||||
;;
|
||||
("h" . "h")
|
||||
("j" . "n")
|
||||
("k" . "e")
|
||||
("l" . "i")))
|
||||
(workman . (("y" . "h")
|
||||
("n" . "j")
|
||||
("e" . "k")
|
||||
|
@ -84,6 +78,24 @@ case.")
|
|||
("j" . "n")
|
||||
("h" . "r")
|
||||
("k" . "t")))
|
||||
(colemak-neio . (("n" . "h")
|
||||
("e" . "j")
|
||||
("i" . "k")
|
||||
("o" . "l")
|
||||
;;
|
||||
("h" . "n")
|
||||
("j" . "e")
|
||||
("k" . "i")
|
||||
("l" . "o")))
|
||||
(colemak-hnei . (("h" . "h")
|
||||
("n" . "j")
|
||||
("e" . "k")
|
||||
("i" . "l")
|
||||
;;
|
||||
("h" . "h")
|
||||
("j" . "n")
|
||||
("k" . "e")
|
||||
("l" . "i")))
|
||||
(colemak-jkhl . (("j" . "h")
|
||||
("k" . "j")
|
||||
("h" . "k")
|
||||
|
|
|
@ -42,12 +42,14 @@
|
|||
(spacemacs|use-package-add-hook ace-window :post-init BODY)
|
||||
:bepo
|
||||
(setq aw-keys '(?a ?u ?i ?e ?t ?s ?r ?n))
|
||||
:colemak
|
||||
(setq aw-keys '(?a ?r ?s ?t ?n ?e ?i ?o))
|
||||
:dvorak
|
||||
(setq aw-keys '(?a ?o ?e ?u ?h ?t ?n ?s))
|
||||
:neo
|
||||
(setq aw-keys '(?u ?i ?a ?e ?n ?r ?t ?d))
|
||||
:colemak-neio
|
||||
(setq aw-keys '(?a ?r ?s ?t ?n ?e ?i ?o))
|
||||
:colemak-hnei
|
||||
(setq aw-keys '(?a ?r ?s ?t ?n ?e ?i ?o))
|
||||
:colemak-jkhl
|
||||
(setq aw-keys '(?a ?r ?s ?t ?n ?e ?i ?o))))
|
||||
|
||||
|
@ -59,12 +61,14 @@
|
|||
(spacemacs|use-package-add-hook avy :post-init BODY)
|
||||
:bepo
|
||||
(setq-default avy-keys '(?a ?u ?i ?e ?t ?s ?r ?n))
|
||||
:colemak
|
||||
(setq-default avy-keys '(?a ?r ?s ?t ?n ?e ?i ?o))
|
||||
:dvorak
|
||||
(setq-default avy-keys '(?a ?o ?e ?u ?h ?t ?n ?s))
|
||||
:neo
|
||||
(setq-default avy-keys '(?u ?i ?a ?e ?n ?r ?t ?d))
|
||||
:colemak-neio
|
||||
(setq-default avy-keys '(?a ?r ?s ?t ?n ?e ?i ?o))
|
||||
:colemak-hnei
|
||||
(setq-default avy-keys '(?a ?r ?s ?t ?n ?e ?i ?o))
|
||||
:colemak-jkhl
|
||||
(setq-default avy-keys '(?a ?r ?s ?t ?n ?e ?i ?o))))
|
||||
|
||||
|
@ -203,7 +207,7 @@
|
|||
(spacemacs|use-package-add-hook evil-escape :post-init BODY)
|
||||
:bepo
|
||||
(setq-default evil-escape-key-sequence "gq")
|
||||
:colemak
|
||||
:colemak-neio
|
||||
(setq-default evil-escape-key-sequence "tn")))
|
||||
|
||||
(defun keyboard-layout/pre-init-evil-evilified-state ()
|
||||
|
@ -487,7 +491,7 @@
|
|||
;; additional
|
||||
(kbd "«") 'org-metaleft
|
||||
(kbd "»") 'org-metaright))
|
||||
:colemak
|
||||
:colemak-neio
|
||||
(progn
|
||||
(spacemacs|use-package-add-hook evil-org
|
||||
:post-config
|
||||
|
|
Loading…
Reference in New Issue