Skip to content

Commit 574d63f

Browse files
Add qwertz layout (#554)
* Add qwertz layout * Add qwertz documentation
1 parent 61a67cb commit 574d63f

File tree

3 files changed

+256
-48
lines changed

3 files changed

+256
-48
lines changed

GET_STARTED.org

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ Meow has no default command layout.
3434
You can write your own setup function from scratch or pick one from below as your starting point.
3535

3636
- [[file:KEYBINDING_QWERTY.org][Qwerty layout]]
37+
- [[file:KEYBINDING_QWERTZ.org][Qwertz layout]]
3738
- [[file:KEYBINDING_DVORAK.org][Dvorak layout]]
3839
- [[file:KEYBINDING_DVP.org][Programmer Dvorak layout]]
3940
- [[file:KEYBINDING_COLEMAK.org][Colemak layout]]

KEYBINDING_QWERTZ.org

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
* KEYBINDINGS QWERTZ
2+
3+
This is the example ~meow-setup~ function for Qwertz layout.
4+
Add it to your configuration and call it before ~(meow-global-mode 1)~.
5+
6+
Meow Cheatsheet
7+
8+
┏━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━┯━━━━━━━━━━━━━┓
9+
┃ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ BKSP ┃
10+
┃ | | | | | | | | | | | | | ┃
11+
┠─┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┤ ┃
12+
┃ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ ┃
13+
┃ | ex →1| ex →2| ex →3| ex →4| ex →5| ex →6| ex →7| ex →8| ex →9| ex →0| | | ┃
14+
┠─────────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────┴───┬─────────┨
15+
┃ TAB │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ * │ ┃
16+
┃ | | | open ↑| open ↓| | | ←sym| ex ↑| sym→| pop-sel| | | ┃
17+
┃ ├┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┤ ┃
18+
┃ │ q │ w │ e │ r │ t │ z │ u │ i │ o │ p │ ü │ + │ RET ┃
19+
┃ | join| block| insert| append| del| search| ←word| ↑| word→| quit sel| ←indent| indent→| ┃
20+
┠─────────────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┬───────┴─┐ ┃
21+
┃ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ ' │ ┃
22+
┃ | ←sym→|goto-line| | | pop-grab|undo-tre…| ex ←| ex ↓| ex →| | │ │ ┃
23+
┃ ├┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┤ ┃
24+
┃ │ a │ s │ d │ f │ g │ h │ j │ k │ l │ ö │ ä │ # │ ┃
25+
┃ | ←word→| line| kill| chg| grab|undo-tre…| ←| ↓| →| +prefix | reverse | | ┃
26+
┠───────────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────┬───┴─────────┴───────┨
27+
┃ │ > │ Y │ X │ C │ V │ B │ N │ M │ ; │ : │ _ │ ┃
28+
┃ | | | | | yank-pop|split-li…| |sync-grab| ←thing→| [thing]| | ┃
29+
┃ ├┄┄┄┄┄┄┄┄┄├┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┼┄┄┄┄┄┄┄┄┄┤ ┃
30+
┃ │ < │ y │ x │ c │ v │ b │ n │ m │ , │ . │ - │ ┃
31+
┃ | | find| till| save| yank|open-line| |swap-grab| ←thing| thing→| visit| ┃
32+
┗━━━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━╅─────────┴─────────┴─────────┴─────────╆━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━┷━━━━━━━━━━━━━━━━━━━━━┛
33+
┃ SPC ┃
34+
┃ ┃
35+
┃ ┃
36+
┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
37+
38+
NOTE:
39+
ex means this command will expand current region.
40+
←thing→ (inner), [thing] (bounds), ←thing (begin) and thing→ (end) require a THING as input:
41+
round -> f square -> d curly -> s angle -> a string -> r
42+
paragraph -> v line -> c buffer -> x
43+
44+
#+begin_src emacs-lisp
45+
(defun meow-setup ()
46+
(setq meow-cheatsheet-physical-layout meow-cheatsheet-physical-layout-iso)
47+
(setq meow-cheatsheet-layout meow-cheatsheet-layout-qwertz)
48+
49+
(meow-thing-register 'angle
50+
'(pair (";") (":"))
51+
'(pair (";") (":")))
52+
53+
(setq meow-char-thing-table
54+
'((?f . round)
55+
(?d . square)
56+
(?s . curly)
57+
(?a . angle)
58+
(?r . string)
59+
(?v . paragraph)
60+
(?c . line)
61+
(?x . buffer)))
62+
63+
(meow-leader-define-key
64+
;; Use SPC (0-9) for digit arguments.
65+
'("1" . meow-digit-argument)
66+
'("2" . meow-digit-argument)
67+
'("3" . meow-digit-argument)
68+
'("4" . meow-digit-argument)
69+
'("5" . meow-digit-argument)
70+
'("6" . meow-digit-argument)
71+
'("7" . meow-digit-argument)
72+
'("8" . meow-digit-argument)
73+
'("9" . meow-digit-argument)
74+
'("0" . meow-digit-argument)
75+
'("-" . meow-keypad-describe-key)
76+
'("_" . meow-cheatsheet))
77+
78+
(meow-normal-define-key
79+
;; expansion
80+
'("0" . meow-expand-0)
81+
'("1" . meow-expand-1)
82+
'("2" . meow-expand-2)
83+
'("3" . meow-expand-3)
84+
'("4" . meow-expand-4)
85+
'("5" . meow-expand-5)
86+
'("6" . meow-expand-6)
87+
'("7" . meow-expand-7)
88+
'("8" . meow-expand-8)
89+
'("9" . meow-expand-9)
90+
'("ä" . meow-reverse)
91+
92+
;; movement
93+
'("i" . meow-prev)
94+
'("k" . meow-next)
95+
'("j" . meow-left)
96+
'("l" . meow-right)
97+
98+
'("z" . meow-search)
99+
'("-" . meow-visit)
100+
101+
;; expansion
102+
'("I" . meow-prev-expand)
103+
'("K" . meow-next-expand)
104+
'("J" . meow-left-expand)
105+
'("L" . meow-right-expand)
106+
107+
'("u" . meow-back-word)
108+
'("U" . meow-back-symbol)
109+
'("o" . meow-next-word)
110+
'("O" . meow-next-symbol)
111+
112+
'("a" . meow-mark-word)
113+
'("A" . meow-mark-symbol)
114+
'("s" . meow-line)
115+
'("S" . meow-goto-line)
116+
'("w" . meow-block)
117+
'("q" . meow-join)
118+
'("g" . meow-grab)
119+
'("G" . meow-pop-grab)
120+
'("m" . meow-swap-grab)
121+
'("M" . meow-sync-grab)
122+
'("p" . meow-cancel-selection)
123+
'("P" . meow-pop-selection)
124+
125+
'("x" . meow-till)
126+
'("y" . meow-find)
127+
128+
'("," . meow-beginning-of-thing)
129+
'("." . meow-end-of-thing)
130+
'(";" . meow-inner-of-thing)
131+
'(":" . meow-bounds-of-thing)
132+
133+
;; editing
134+
'("d" . meow-kill)
135+
'("f" . meow-change)
136+
'("t" . meow-delete)
137+
'("c" . meow-save)
138+
'("v" . meow-yank)
139+
'("V" . meow-yank-pop)
140+
141+
'("e" . meow-insert)
142+
'("E" . meow-open-above)
143+
'("r" . meow-append)
144+
'("R" . meow-open-below)
145+
146+
'("h" . undo-only)
147+
'("H" . undo-redo)
148+
149+
'("b" . open-line)
150+
'("B" . split-line)
151+
152+
'("ü" . indent-rigidly-left-to-tab-stop)
153+
'("+" . indent-rigidly-right-to-tab-stop)
154+
155+
;; ignore escape
156+
'("<escape>" . ignore)))
157+
#+end_src

meow-cheatsheet-layout.el

Lines changed: 98 additions & 48 deletions
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,56 @@
137137
(<AB10> "/" "?")
138138
(<BKSL> "\\" "|")))
139139

140+
(defconst meow-cheatsheet-layout-qwertz
141+
'((<TLDE> "^" "°")
142+
(<AE01> "1" "!")
143+
(<AE02> "2" "\"")
144+
(<AE03> "3" "§")
145+
(<AE04> "4" "$")
146+
(<AE05> "5" "%")
147+
(<AE06> "6" "&")
148+
(<AE07> "7" "/")
149+
(<AE08> "8" "(")
150+
(<AE09> "9" ")")
151+
(<AE10> "0" "=")
152+
(<AE11> "ß" "?")
153+
(<AE12> "´" "`")
154+
(<AD01> "q" "Q")
155+
(<AD02> "w" "W")
156+
(<AD03> "e" "E")
157+
(<AD04> "r" "R")
158+
(<AD05> "t" "T")
159+
(<AD06> "z" "Z")
160+
(<AD07> "u" "U")
161+
(<AD08> "i" "I")
162+
(<AD09> "o" "O")
163+
(<AD10> "p" "P")
164+
(<AD11> "ü" "Ü")
165+
(<AD12> "+" "*")
166+
(<AC01> "a" "A")
167+
(<AC02> "s" "S")
168+
(<AC03> "d" "D")
169+
(<AC04> "f" "F")
170+
(<AC05> "g" "G")
171+
(<AC06> "h" "H")
172+
(<AC07> "j" "J")
173+
(<AC08> "k" "K")
174+
(<AC09> "l" "L")
175+
(<AC10> "ö" "Ö")
176+
(<AC11> "ä" "Ä")
177+
(<BKSL> "#" "'")
178+
(<LSGT> "<" ">")
179+
(<AB01> "y" "Y")
180+
(<AB02> "x" "X")
181+
(<AB03> "c" "C")
182+
(<AB04> "v" "V")
183+
(<AB05> "b" "B")
184+
(<AB06> "n" "N")
185+
(<AB07> "m" "M")
186+
(<AB08> "," ";")
187+
(<AB09> "." ":")
188+
(<AB10> "-" "_")))
189+
140190
(defconst meow-cheatsheet-layout-dvorak
141191
'((<TLDE> "`" "~")
142192
(<AE01> "1" "!")
@@ -237,54 +287,54 @@
237287
(<LSGT> "-" "_")))
238288

239289
(defconst meow-cheatsheet-layout-colemak-dh
240-
'((<TLDE> "`" "~")
241-
(<AE01> "1" "!")
242-
(<AE02> "2" "@")
243-
(<AE03> "3" "#")
244-
(<AE04> "4" "$")
245-
(<AE05> "5" "%")
246-
(<AE06> "6" "^")
247-
(<AE07> "7" "&")
248-
(<AE08> "8" "*")
249-
(<AE09> "9" "(")
250-
(<AE10> "0" ")")
251-
(<AE11> "-" "_")
252-
(<AE12> "=" "+")
253-
(<AD01> "q" "Q")
254-
(<AD02> "w" "W")
255-
(<AD03> "f" "F")
256-
(<AD04> "p" "P")
257-
(<AD05> "b" "B")
258-
(<AD06> "j" "J")
259-
(<AD07> "l" "L")
260-
(<AD08> "u" "U")
261-
(<AD09> "y" "Y")
262-
(<AD10> ";" ":")
263-
(<AD11> "[" "{")
264-
(<AD12> "]" "}")
265-
(<BKSL> "\\" "|")
266-
(<AC01> "a" "A")
267-
(<AC02> "r" "R")
268-
(<AC03> "s" "S")
269-
(<AC04> "t" "T")
270-
(<AC05> "g" "G")
271-
(<AC06> "m" "M")
272-
(<AC07> "n" "N")
273-
(<AC08> "e" "E")
274-
(<AC09> "i" "I")
275-
(<AC10> "o" "O")
276-
(<AC11> "'" "\"")
277-
(<AB01> "z" "Z")
278-
(<AB02> "x" "X")
279-
(<AB03> "c" "C")
280-
(<AB04> "d" "D")
281-
(<AB05> "v" "V")
282-
(<AB06> "k" "K")
283-
(<AB07> "h" "H")
284-
(<AB08> "," "<")
285-
(<AB09> "." ">")
286-
(<AB10> "/" "?")
287-
(<LSGT> "-" "_")))
290+
'((<TLDE> "`" "~")
291+
(<AE01> "1" "!")
292+
(<AE02> "2" "@")
293+
(<AE03> "3" "#")
294+
(<AE04> "4" "$")
295+
(<AE05> "5" "%")
296+
(<AE06> "6" "^")
297+
(<AE07> "7" "&")
298+
(<AE08> "8" "*")
299+
(<AE09> "9" "(")
300+
(<AE10> "0" ")")
301+
(<AE11> "-" "_")
302+
(<AE12> "=" "+")
303+
(<AD01> "q" "Q")
304+
(<AD02> "w" "W")
305+
(<AD03> "f" "F")
306+
(<AD04> "p" "P")
307+
(<AD05> "b" "B")
308+
(<AD06> "j" "J")
309+
(<AD07> "l" "L")
310+
(<AD08> "u" "U")
311+
(<AD09> "y" "Y")
312+
(<AD10> ";" ":")
313+
(<AD11> "[" "{")
314+
(<AD12> "]" "}")
315+
(<BKSL> "\\" "|")
316+
(<AC01> "a" "A")
317+
(<AC02> "r" "R")
318+
(<AC03> "s" "S")
319+
(<AC04> "t" "T")
320+
(<AC05> "g" "G")
321+
(<AC06> "m" "M")
322+
(<AC07> "n" "N")
323+
(<AC08> "e" "E")
324+
(<AC09> "i" "I")
325+
(<AC10> "o" "O")
326+
(<AC11> "'" "\"")
327+
(<AB01> "z" "Z")
328+
(<AB02> "x" "X")
329+
(<AB03> "c" "C")
330+
(<AB04> "d" "D")
331+
(<AB05> "v" "V")
332+
(<AB06> "k" "K")
333+
(<AB07> "h" "H")
334+
(<AB08> "," "<")
335+
(<AB09> "." ">")
336+
(<AB10> "/" "?")
337+
(<LSGT> "-" "_")))
288338

289339
(defconst meow-cheatsheet-layout-dvp
290340
'((<TLDE> "$" "~")

0 commit comments

Comments
 (0)