Add neo keyboard layout option to keyboard-layout
This commit is contained in:
parent
ed90f2b4ff
commit
63ba00492c
|
@ -14,6 +14,7 @@
|
|||
- [[#dvorak][Dvorak]]
|
||||
- [[#colemak][Colemak]]
|
||||
- [[#workman][Workman]]
|
||||
- [[#neo][neo]]
|
||||
- [[#package-configurations][Package Configurations]]
|
||||
- [[#key-bindings][Key bindings]]
|
||||
- [[#image-sources][Image sources]]
|
||||
|
@ -228,6 +229,13 @@ substitutes the following keys with these mnemonics:
|
|||
- ~k → e~
|
||||
- ~l → o~
|
||||
|
||||
** neo
|
||||
=neo= is a ergonomic keyboard, which is optimized for German. More information can
|
||||
be found on the [[https://www.neo-layout.org/][website]].
|
||||
|
||||
The Neo layout has six layers, here is only the first:
|
||||
[[file:img/neo-layout.png]]
|
||||
|
||||
* Package Configurations
|
||||
The available configurations are:
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
(defvar kl-layout 'dvorak
|
||||
"The keyboard-layout to use. Possible values are `colemak',
|
||||
`dvorak', `bepo' and `workman'.")
|
||||
`dvorak', `bepo', `workman', and `neo'.")
|
||||
|
||||
(defvar kl-enabled-configurations nil
|
||||
"If non nil, `keyboard-layout' will enable configurations only
|
||||
|
@ -76,7 +76,16 @@ any case.")
|
|||
("h" . "y")
|
||||
("j" . "n")
|
||||
("k" . "e")
|
||||
("l" . "o"))))
|
||||
("l" . "o")))
|
||||
(neo . (("s" . "h")
|
||||
("n" . "j")
|
||||
("r" . "k")
|
||||
("t" . "l")
|
||||
;;
|
||||
("l" . "s")
|
||||
("j" . "n")
|
||||
("h" . "r")
|
||||
("k" . "t"))))
|
||||
"The base rebinding map. Dots should be read as `will behave
|
||||
as'. It should be a bidirectional mapping, i.e. all present
|
||||
keys should be once in each column.")
|
||||
|
|
BIN
layers/+intl/keyboard-layout/img/neo-layout.png
Normal file
BIN
layers/+intl/keyboard-layout/img/neo-layout.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 32 KiB |
|
@ -45,7 +45,9 @@
|
|||
:colemak
|
||||
(setq aw-keys '(?a ?r ?s ?t ?n ?e ?i ?o))
|
||||
:dvorak
|
||||
(setq aw-keys '(?a ?o ?e ?u ?h ?t ?n ?s))))
|
||||
(setq aw-keys '(?a ?o ?e ?u ?h ?t ?n ?s))
|
||||
:neo
|
||||
(setq aw-keys '(?u ?i ?a ?e ?n ?r ?t ?d))))
|
||||
|
||||
(defun keyboard-layout/pre-init-avy ()
|
||||
(kl|config avy
|
||||
|
@ -58,7 +60,9 @@
|
|||
: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))))
|
||||
(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))))
|
||||
|
||||
(defun keyboard-layout/pre-init-comint ()
|
||||
(kl|config comint-mode
|
||||
|
@ -263,7 +267,11 @@
|
|||
(kl/set-in-state helm-find-files-map "C-k" 'helm-ff-run-grep)
|
||||
(kl/set-in-state helm-find-files-map "C-r" 'helm-maybe-exit-minibuffer)
|
||||
(kl/set-in-state helm-read-file-map "C-s" 'helm-previous-line)
|
||||
(kl/set-in-state helm-read-file-map "C-K" 'helm-previous-line)))
|
||||
(kl/set-in-state helm-read-file-map "C-K" 'helm-previous-line))
|
||||
:neo
|
||||
(progn
|
||||
(kl/set-in-state helm-find-files-map "C-r" 'helm-previous-line)
|
||||
(kl/set-in-state helm-find-files-map "C-s" 'helm-next-line)))
|
||||
|
||||
(kl|config helm-locate
|
||||
:description
|
||||
|
@ -456,7 +464,50 @@
|
|||
"o" 'evil-forward-char
|
||||
"E" 'org-forward-element
|
||||
"I" 'org-backward-element
|
||||
"N" 'org-backward-heading-same-level))))))
|
||||
"N" 'org-backward-heading-same-level))))
|
||||
:neo
|
||||
(progn
|
||||
(spacemacs|use-package-add-hook evil-org
|
||||
:post-config
|
||||
(progn
|
||||
(evil-define-key 'normal evil-org-mode-map
|
||||
"t" 'evil-forward-char
|
||||
"l" 'org-todo
|
||||
"gn" 'org-forward-heading-same-level
|
||||
"gr" 'org-backward-heading-same-level
|
||||
"gj" nil
|
||||
"gk" nil)
|
||||
(dolist (m '(normal insert))
|
||||
(eval `(evil-define-key ',m evil-org-mode-map
|
||||
;; snrt
|
||||
(kbd "M-s") 'org-metaleft
|
||||
(kbd "M-n") 'org-metadown
|
||||
(kbd "M-r") 'org-metaup
|
||||
(kbd "M-t") 'org-metaright
|
||||
(kbd "M-S") 'org-shiftmetaleft
|
||||
(kbd "M-N") 'org-shiftmetadown
|
||||
(kbd "M-R") 'org-shiftmetaup
|
||||
(kbd "M-T") 'org-shiftmetaright
|
||||
;; hjkl
|
||||
(kbd "M-h") 'capitalize-word
|
||||
(kbd "M-j") 'transpose-chars
|
||||
(kbd "M-k") 'kill-sentence
|
||||
(kbd "M-l") 'move-to-window-line-top-bottom
|
||||
(kbd "M-H") 'capitalize-word
|
||||
(kbd "M-J") 'transpose-chars
|
||||
(kbd "M-K") 'kill-sentence
|
||||
(kbd "M-L") 'move-to-window-line-top-bottom)))
|
||||
(spacemacs/set-leader-keys-for-major-mode 'org-mode
|
||||
;; snrt
|
||||
"C-S-s" 'org-shiftcontrolleft
|
||||
"C-S-n" 'org-shiftcontroldown
|
||||
"C-S-r" 'org-shiftcontrolup
|
||||
"C-S-t" 'org-shiftcontrolright
|
||||
;; hjkl
|
||||
"C-S-h" nil
|
||||
"C-S-j" nil
|
||||
"C-S-k" nil
|
||||
"C-S-l" nil))))))
|
||||
|
||||
(defun keyboard-layout/pre-init-org-agenda ()
|
||||
(kl|config org-agenda
|
||||
|
|
Loading…
Reference in a new issue