aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_extras
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/keymap_extras')
-rw-r--r--quantum/keymap_extras/keymap_belgian.h108
-rw-r--r--quantum/keymap_extras/keymap_bepo.h153
-rw-r--r--quantum/keymap_extras/keymap_canadian_multilingual.h49
-rw-r--r--quantum/keymap_extras/keymap_fr_ch.h4
-rw-r--r--quantum/keymap_extras/keymap_french.h6
-rw-r--r--quantum/keymap_extras/keymap_german.h4
-rw-r--r--quantum/keymap_extras/keymap_german_ch.h4
-rw-r--r--quantum/keymap_extras/keymap_hungarian.h4
-rw-r--r--quantum/keymap_extras/keymap_italian.h7
-rw-r--r--quantum/keymap_extras/keymap_jp.h3
-rw-r--r--quantum/keymap_extras/keymap_neo2.h2
-rw-r--r--quantum/keymap_extras/keymap_nordic.h4
-rw-r--r--quantum/keymap_extras/keymap_plover_dvorak.h47
-rw-r--r--quantum/keymap_extras/keymap_slovenian.h107
-rw-r--r--quantum/keymap_extras/keymap_spanish.h4
-rw-r--r--quantum/keymap_extras/keymap_swedish.h4
-rw-r--r--quantum/keymap_extras/keymap_uk.h4
-rw-r--r--quantum/keymap_extras/sendstring_german.h81
18 files changed, 440 insertions, 155 deletions
diff --git a/quantum/keymap_extras/keymap_belgian.h b/quantum/keymap_extras/keymap_belgian.h
new file mode 100644
index 000000000..ab89fbabf
--- /dev/null
+++ b/quantum/keymap_extras/keymap_belgian.h
@@ -0,0 +1,108 @@
1/* Copyright 2015-2016 Jack Humbert
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#ifndef KEYMAP_BELGIAN_H
17#define KEYMAP_BELGIAN_H
18
19#include "keymap.h"
20
21// Normal characters
22// Line 1
23#define BE_SUP2 KC_GRV
24#define BE_AMP KC_1
25#define BE_EACU KC_2
26#define BE_QUOT KC_3
27#define BE_APOS KC_4
28#define BE_LPRN KC_5
29#define BE_PARA KC_6
30#define BE_EGRV KC_7
31#define BE_EXLM KC_8
32#define BE_CCED KC_9
33#define BE_AGRV KC_0
34#define BE_RPRN KC_MINS
35#define BE_MINS KC_EQL
36
37// Line 2
38#define BE_A KC_Q
39#define BE_Z KC_W
40#define BE_CIRC KC_LBRC
41#define BE_DLR KC_RBRC
42
43// Line 3
44#define BE_Q KC_A
45#define BE_M KC_SCLN
46#define BE_UGRV KC_QUOT
47#define BE_MU KC_NUHS
48
49// Line 4
50#define BE_LESS KC_NUBS
51#define BE_W KC_Z
52#define BE_COMM KC_M
53#define BE_SCLN KC_COMM
54#define BE_COLN KC_DOT
55#define BE_EQL KC_SLSH
56
57// Shifted characters
58// Line 1
59#define BE_SUP3 KC_TILD
60#define BE_1 LSFT(KC_1)
61#define BE_2 LSFT(KC_2)
62#define BE_3 LSFT(KC_3)
63#define BE_4 LSFT(KC_4)
64#define BE_5 LSFT(KC_5)
65#define BE_6 LSFT(KC_6)
66#define BE_7 LSFT(KC_7)
67#define BE_8 LSFT(KC_8)
68#define BE_9 LSFT(KC_9)
69#define BE_0 LSFT(KC_0)
70#define BE_OVRR KC_UNDS
71#define BE_UNDS KC_PLUS
72
73// Line 2
74#define BE_UMLT LSFT(BE_CIRC)
75#define BE_PND LSFT(BE_DLR)
76
77// Line 3
78#define BE_PERC LSFT(BE_UGRV)
79
80// Line 4
81#define BE_GRTR LSFT(BE_LESS)
82#define BE_QUES LSFT(BE_COMM)
83#define BE_DOT LSFT(BE_SCLN)
84#define BE_SLSH LSFT(BE_COLN)
85#define BE_PLUS LSFT(BE_EQL)
86
87// Alt Gr-ed characters
88// Line 1
89#define BE_PIPE ALGR(KC_1)
90#define BE_AT ALGR(KC_2)
91#define BE_HASH ALGR(KC_3)
92#define BE_LCBR ALGR(KC_9)
93#define BE_RCBR ALGR(KC_0)
94
95// Line 2
96#define BE_EURO ALGR(KC_E)
97#define BE_LSBR ALGR(BE_CIRC)
98#define BE_RSBR ALGR(BE_DLR)
99
100// Line 3
101#define BE_ACUT ALGR(BE_UGRV)
102#define BE_GRV ALGR(BE_MU)
103
104// Line 4
105#define BE_BSLS ALGR(BE_LESS)
106#define BE_TILT ALGR(BE_EQL)
107
108#endif
diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h
index 05fd2b002..8d7b36ca3 100644
--- a/quantum/keymap_extras/keymap_bepo.h
+++ b/quantum/keymap_extras/keymap_bepo.h
@@ -19,15 +19,6 @@
19 19
20#include "keymap.h" 20#include "keymap.h"
21 21
22// Alt gr
23#ifndef ALTGR
24#define ALTGR(kc) RALT(kc)
25#endif
26#ifndef ALGR
27#define ALGR(kc) ALTGR(kc)
28#endif
29#define BP_ALGR KC_RALT
30
31// Normal characters 22// Normal characters
32// First row (on usual keyboards) 23// First row (on usual keyboards)
33#define BP_DOLLAR KC_GRAVE // $ 24#define BP_DOLLAR KC_GRAVE // $
@@ -142,138 +133,138 @@
142 133
143// AltGr-ed characters 134// AltGr-ed characters
144// First row 135// First row
145#define BP_EN_DASH ALTGR(BP_DOLLAR) // – 136#define BP_EN_DASH ALGR(BP_DOLLAR) // –
146#define BP_NDSH BP_EN_DASH 137#define BP_NDSH BP_EN_DASH
147#define BP_EM_DASH ALTGR(KC_1) // — 138#define BP_EM_DASH ALGR(KC_1) // —
148#define BP_MDSH BP_EM_DASH 139#define BP_MDSH BP_EM_DASH
149#define BP_LESS ALTGR(KC_2) // < 140#define BP_LESS ALGR(KC_2) // <
150#define BP_GREATER ALTGR(KC_3) // > 141#define BP_GREATER ALGR(KC_3) // >
151#define BP_GRTR BP_GREATER 142#define BP_GRTR BP_GREATER
152#define BP_LBRACKET ALTGR(KC_4) // [ 143#define BP_LBRACKET ALGR(KC_4) // [
153#define BP_LBRC BP_LBRACKET 144#define BP_LBRC BP_LBRACKET
154#define BP_RBRACKET ALTGR(KC_5) // ] 145#define BP_RBRACKET ALGR(KC_5) // ]
155#define BP_RBRC BP_RBRACKET 146#define BP_RBRC BP_RBRACKET
156#define BP_CIRCUMFLEX ALTGR(KC_6) // ^ 147#define BP_CIRCUMFLEX ALGR(KC_6) // ^
157#define BP_CIRC BP_CIRCUMFLEX 148#define BP_CIRC BP_CIRCUMFLEX
158#define BP_PLUS_MINUS ALTGR(KC_7) // ± 149#define BP_PLUS_MINUS ALGR(KC_7) // ±
159#define BP_PSMS BP_PLUS_MINUS 150#define BP_PSMS BP_PLUS_MINUS
160#define BP_MATH_MINUS ALTGR(KC_8) // − 151#define BP_MATH_MINUS ALGR(KC_8) // −
161#define BP_MMNS BP_MATH_MINUS 152#define BP_MMNS BP_MATH_MINUS
162#define BP_OBELUS ALTGR(KC_9) // ÷ 153#define BP_OBELUS ALGR(KC_9) // ÷
163#define BP_OBEL BP_OBELUS 154#define BP_OBEL BP_OBELUS
164// more conventional name of the symbol 155// more conventional name of the symbol
165#define BP_DIVISION_SIGN BP_OBELUS 156#define BP_DIVISION_SIGN BP_OBELUS
166#define BP_DVSN BP_DIVISION_SIGN 157#define BP_DVSN BP_DIVISION_SIGN
167#define BP_TIMES ALTGR(KC_0) // × 158#define BP_TIMES ALGR(KC_0) // ×
168#define BP_TIMS BP_TIMES 159#define BP_TIMS BP_TIMES
169#define BP_DIFFERENT ALTGR(BP_EQUAL) // ≠ 160#define BP_DIFFERENT ALGR(BP_EQUAL) // ≠
170#define BP_DIFF BP_DIFFERENT 161#define BP_DIFF BP_DIFFERENT
171#define BP_PERMILLE ALTGR(BP_PERCENT) // ‰ 162#define BP_PERMILLE ALGR(BP_PERCENT) // ‰
172#define BP_PMIL BP_PERMILLE 163#define BP_PMIL BP_PERMILLE
173 164
174// Second row 165// Second row
175#define BP_PIPE ALTGR(BP_B) // | 166#define BP_PIPE ALGR(BP_B) // |
176#define BP_DEAD_ACUTE ALTGR(BP_E_ACUTE) // dead ´ 167#define BP_DEAD_ACUTE ALGR(BP_E_ACUTE) // dead ´
177#define BP_DACT BP_DEAD_ACUTE 168#define BP_DACT BP_DEAD_ACUTE
178#define BP_AMPERSAND ALTGR(BP_P) // & 169#define BP_AMPERSAND ALGR(BP_P) // &
179#define BP_AMPR BP_AMPERSAND 170#define BP_AMPR BP_AMPERSAND
180#define BP_OE_LIGATURE ALTGR(BP_O) // œ 171#define BP_OE_LIGATURE ALGR(BP_O) // œ
181#define BP_OE BP_OE_LIGATURE 172#define BP_OE BP_OE_LIGATURE
182#define BP_DEAD_GRAVE ALTGR(BP_E_GRAVE) // ` 173#define BP_DEAD_GRAVE ALGR(BP_E_GRAVE) // `
183#define BP_DGRV BP_DEAD_GRAVE 174#define BP_DGRV BP_DEAD_GRAVE
184#define BP_INVERTED_EXCLAIM ALTGR(BP_DEAD_CIRCUMFLEX) // ¡ 175#define BP_INVERTED_EXCLAIM ALGR(BP_DEAD_CIRCUMFLEX) // ¡
185#define BP_IXLM BP_INVERTED_EXCLAIM 176#define BP_IXLM BP_INVERTED_EXCLAIM
186#define BP_DEAD_CARON ALTGR(BP_V) // dead ˇ 177#define BP_DEAD_CARON ALGR(BP_V) // dead ˇ
187#define BP_DCAR BP_DEAD_CARON 178#define BP_DCAR BP_DEAD_CARON
188#define BP_ETH ALTGR(BP_D) // ð 179#define BP_ETH ALGR(BP_D) // ð
189#define BP_DEAD_SLASH ALTGR(BP_L) // dead / 180#define BP_DEAD_SLASH ALGR(BP_L) // dead /
190#define BP_DSLH BP_DEAD_SLASH 181#define BP_DSLH BP_DEAD_SLASH
191#define BP_IJ_LIGATURE ALTGR(BP_J) // ij 182#define BP_IJ_LIGATURE ALGR(BP_J) // ij
192#define BP_IJ BP_IJ_LIGATURE 183#define BP_IJ BP_IJ_LIGATURE
193#define BP_SCHWA ALTGR(BP_Z) // ə 184#define BP_SCHWA ALGR(BP_Z) // ə
194#define BP_SCWA BP_SCHWA 185#define BP_SCWA BP_SCHWA
195#define BP_DEAD_BREVE ALTGR(BP_W) // dead ˘ 186#define BP_DEAD_BREVE ALGR(BP_W) // dead ˘
196#define BP_DBRV BP_DEAD_BREVE 187#define BP_DBRV BP_DEAD_BREVE
197 188
198// Third row 189// Third row
199#define BP_AE_LIGATURE ALTGR(BP_A) // æ 190#define BP_AE_LIGATURE ALGR(BP_A) // æ
200#define BP_AE BP_AE_LIGATURE 191#define BP_AE BP_AE_LIGATURE
201#define BP_U_GRAVE ALTGR(BP_U) // ù 192#define BP_U_GRAVE ALGR(BP_U) // ù
202#define BP_UGRV BP_U_GRAVE 193#define BP_UGRV BP_U_GRAVE
203#define BP_DEAD_TREMA ALTGR(BP_I) // dead ¨ (trema/umlaut/diaresis) 194#define BP_DEAD_TREMA ALGR(BP_I) // dead ¨ (trema/umlaut/diaresis)
204#define BP_DTRM BP_DEAD_TREMA 195#define BP_DTRM BP_DEAD_TREMA
205#define BP_EURO ALTGR(BP_E) // € 196#define BP_EURO ALGR(BP_E) // €
206#define BP_TYPOGRAPHICAL_APOSTROPHE ALTGR(BP_COMMA) // ’ 197#define BP_TYPOGRAPHICAL_APOSTROPHE ALGR(BP_COMMA) // ’
207#define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE 198#define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE
208#define BP_COPYRIGHT ALTGR(BP_C) // © 199#define BP_COPYRIGHT ALGR(BP_C) // ©
209#define BP_CPRT BP_COPYRIGHT 200#define BP_CPRT BP_COPYRIGHT
210#define BP_THORN ALTGR(BP_T) // þ 201#define BP_THORN ALGR(BP_T) // þ
211#define BP_THRN BP_THORN 202#define BP_THRN BP_THORN
212#define BP_SHARP_S ALTGR(BP_S) // ß 203#define BP_SHARP_S ALGR(BP_S) // ß
213#define BP_SRPS BP_SHARP_S 204#define BP_SRPS BP_SHARP_S
214#define BP_REGISTERED_TRADEMARK ALTGR(BP_R) // ® 205#define BP_REGISTERED_TRADEMARK ALGR(BP_R) // ®
215#define BP_RTM BP_REGISTERED_TRADEMARK 206#define BP_RTM BP_REGISTERED_TRADEMARK
216#define BP_DEAD_TILDE ALTGR(BP_N) // dead ~ 207#define BP_DEAD_TILDE ALGR(BP_N) // dead ~
217#define BP_DTLD BP_DEAD_TILDE 208#define BP_DTLD BP_DEAD_TILDE
218#define BP_DEAD_MACRON ALTGR(BP_M) // dead ¯ 209#define BP_DEAD_MACRON ALGR(BP_M) // dead ¯
219#define BP_DMCR BP_DEAD_MACRON 210#define BP_DMCR BP_DEAD_MACRON
220#define BP_DEAD_CEDILLA ALTGR(BP_C_CEDILLA) // dead ¸ 211#define BP_DEAD_CEDILLA ALGR(BP_C_CEDILLA) // dead ¸
221#define BP_DCED BP_DEAD_CEDILLA 212#define BP_DCED BP_DEAD_CEDILLA
222 213
223// Fourth row 214// Fourth row
224#define BP_NONUS_SLASH ALTGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo) 215#define BP_NONUS_SLASH ALGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo)
225#define BP_NUSL BP_NONUS_SLASH 216#define BP_NUSL BP_NONUS_SLASH
226#define BP_BACKSLASH ALTGR(BP_A_GRAVE) /* \ */ 217#define BP_BACKSLASH ALGR(BP_A_GRAVE) /* \ */
227#define BP_BSLS BP_BACKSLASH 218#define BP_BSLS BP_BACKSLASH
228#define BP_LEFT_CURLY_BRACE ALTGR(BP_Y) // { 219#define BP_LEFT_CURLY_BRACE ALGR(BP_Y) // {
229#define BP_LCBR BP_LEFT_CURLY_BRACE 220#define BP_LCBR BP_LEFT_CURLY_BRACE
230#define BP_RIGHT_CURLY_BRACE ALTGR(BP_X) // } 221#define BP_RIGHT_CURLY_BRACE ALGR(BP_X) // }
231#define BP_RCBR BP_RIGHT_CURLY_BRACE 222#define BP_RCBR BP_RIGHT_CURLY_BRACE
232#define BP_ELLIPSIS ALTGR(BP_DOT) // … 223#define BP_ELLIPSIS ALGR(BP_DOT) // …
233#define BP_ELPS BP_ELLIPSIS 224#define BP_ELPS BP_ELLIPSIS
234#define BP_TILDE ALTGR(BP_K) // ~ 225#define BP_TILDE ALGR(BP_K) // ~
235#define BP_TILD BP_TILDE 226#define BP_TILD BP_TILDE
236#define BP_INVERTED_QUESTION ALTGR(BP_QUESTION) // ¿ 227#define BP_INVERTED_QUESTION ALGR(BP_QUESTION) // ¿
237#define BP_IQST BP_INVERTED_QUESTION 228#define BP_IQST BP_INVERTED_QUESTION
238#define BP_DEAD_RING ALTGR(BP_Q) // dead ° 229#define BP_DEAD_RING ALGR(BP_Q) // dead °
239#define BP_DRNG BP_DEAD_RING 230#define BP_DRNG BP_DEAD_RING
240#define BP_DEAD_GREEK ALTGR(BP_G) // dead Greek key (following key will make a Greek letter) 231#define BP_DEAD_GREEK ALGR(BP_G) // dead Greek key (following key will make a Greek letter)
241#define BP_DGRK BP_DEAD_GREEK 232#define BP_DGRK BP_DEAD_GREEK
242#define BP_DAGGER ALTGR(BP_H) // † 233#define BP_DAGGER ALGR(BP_H) // †
243#define BP_DAGR BP_DAGGER 234#define BP_DAGR BP_DAGGER
244#define BP_DEAD_OGONEK ALTGR(BP_F) // dead ˛ 235#define BP_DEAD_OGONEK ALGR(BP_F) // dead ˛
245#define BP_DOGO BP_DEAD_OGONEK 236#define BP_DOGO BP_DEAD_OGONEK
246 237
247// Space bar 238// Space bar
248#define BP_UNDERSCORE ALTGR(KC_SPACE) // _ 239#define BP_UNDERSCORE ALGR(KC_SPACE) // _
249#define BP_UNDS BP_UNDERSCORE 240#define BP_UNDS BP_UNDERSCORE
250 241
251// AltGr-Shifted characters (different from capitalised AltGr-ed characters) 242// AltGr-Shifted characters (different from capitalised AltGr-ed characters)
252// First row 243// First row
253#define BP_PARAGRAPH ALTGR(BP_HASH) // ¶ 244#define BP_PARAGRAPH ALGR(BP_HASH) // ¶
254#define BP_PARG BP_PARAGRAPH 245#define BP_PARG BP_PARAGRAPH
255#define BP_LOW_DOUBLE_QUOTE ALTGR(BP_1) // „ 246#define BP_LOW_DOUBLE_QUOTE ALGR(BP_1) // „
256#define BP_LWQT BP_LOW_DOUBLE_QUOTE 247#define BP_LWQT BP_LOW_DOUBLE_QUOTE
257#define BP_LEFT_DOUBLE_QUOTE ALTGR(BP_2) // “ 248#define BP_LEFT_DOUBLE_QUOTE ALGR(BP_2) // “
258#define BP_LDQT BP_LEFT_DOUBLE_QUOTE 249#define BP_LDQT BP_LEFT_DOUBLE_QUOTE
259#define BP_RIGHT_DOUBLE_QUOTE ALTGR(BP_3) // ” 250#define BP_RIGHT_DOUBLE_QUOTE ALGR(BP_3) // ”
260#define BP_RDQT BP_RIGHT_DOUBLE_QUOTE 251#define BP_RDQT BP_RIGHT_DOUBLE_QUOTE
261#define BP_LESS_OR_EQUAL ALTGR(BP_4) // ≤ 252#define BP_LESS_OR_EQUAL ALGR(BP_4) // ≤
262#define BP_LEQL BP_LESS_OR_EQUAL 253#define BP_LEQL BP_LESS_OR_EQUAL
263#define BP_GREATER_OR_EQUAL ALTGR(BP_5) // ≥ 254#define BP_GREATER_OR_EQUAL ALGR(BP_5) // ≥
264#define BP_GEQL BP_GREATER_OR_EQUAL 255#define BP_GEQL BP_GREATER_OR_EQUAL
265// nothing on ALTGR(BP_6) 256// nothing on ALGR(BP_6)
266#define BP_NEGATION ALTGR(BP_7) // ¬ 257#define BP_NEGATION ALGR(BP_7) // ¬
267#define BP_NEGT BP_NEGATION 258#define BP_NEGT BP_NEGATION
268#define BP_ONE_QUARTER ALTGR(BP_8) // ¼ 259#define BP_ONE_QUARTER ALGR(BP_8) // ¼
269#define BP_1QRT BP_ONE_QUARTER 260#define BP_1QRT BP_ONE_QUARTER
270#define BP_ONE_HALF ALTGR(BP_9) // ½ 261#define BP_ONE_HALF ALGR(BP_9) // ½
271#define BP_1HLF BP_ONE_HALF 262#define BP_1HLF BP_ONE_HALF
272#define BP_THREE_QUARTERS ALTGR(BP_0) // ¾ 263#define BP_THREE_QUARTERS ALGR(BP_0) // ¾
273#define BP_3QRT BP_THREE_QUARTERS 264#define BP_3QRT BP_THREE_QUARTERS
274#define BP_MINUTES ALTGR(BP_DEGREE) // ′ 265#define BP_MINUTES ALGR(BP_DEGREE) // ′
275#define BP_MNUT BP_MINUTES 266#define BP_MNUT BP_MINUTES
276#define BP_SECONDS ALTGR(BP_GRAVE) // ″ 267#define BP_SECONDS ALGR(BP_GRAVE) // ″
277#define BP_SCND BP_SECONDS 268#define BP_SCND BP_SECONDS
278 269
279// Second row 270// Second row
@@ -281,7 +272,7 @@
281#define BP_BPIP BP_BROKEN_PIPE 272#define BP_BPIP BP_BROKEN_PIPE
282#define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝ 273#define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝
283#define BP_DDCT BP_DEAD_DOUBLE_ACUTE 274#define BP_DDCT BP_DEAD_DOUBLE_ACUTE
284#define BP_SECTION ALTGR(LSFT(BP_P)) // § 275#define BP_SECTION ALGR(LSFT(BP_P)) // §
285#define BP_SECT BP_SECTION 276#define BP_SECT BP_SECTION
286// LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT) 277// LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT)
287#define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // ` 278#define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // `
@@ -292,35 +283,35 @@
292#define BP_DDTA BP_DEAD_DOT_ABOVE 283#define BP_DDTA BP_DEAD_DOT_ABOVE
293#define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £) 284#define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £)
294#define BP_DCUR BP_DEAD_CURRENCY 285#define BP_DCUR BP_DEAD_CURRENCY
295#define BP_DEAD_HORN LSFT(ALTGR(BP_COMMA)) // dead ̛ 286#define BP_DEAD_HORN LSFT(ALGR(BP_COMMA)) // dead ̛
296#define BP_DHRN BP_DEAD_HORN 287#define BP_DHRN BP_DEAD_HORN
297#define BP_LONG_S LSFT(ALTGR(BP_C)) // ſ 288#define BP_LONG_S LSFT(ALGR(BP_C)) // ſ
298#define BP_LNGS BP_LONG_S 289#define BP_LNGS BP_LONG_S
299#define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™ 290#define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™
300#define BP_TM BP_TRADEMARK 291#define BP_TM BP_TRADEMARK
301#define BP_ORDINAL_INDICATOR_O LSFT(ALTGR(BP_M)) // º 292#define BP_ORDINAL_INDICATOR_O LSFT(ALGR(BP_M)) // º
302#define BP_ORDO BP_ORDINAL_INDICATOR_O 293#define BP_ORDO BP_ORDINAL_INDICATOR_O
303#define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛ 294#define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛
304#define BP_DCOM BP_DEAD_COMMA 295#define BP_DCOM BP_DEAD_COMMA
305 296
306// Fourth row 297// Fourth row
307#define BP_LEFT_QUOTE LSFT(ALTGR(BP_Y)) // ‘ 298#define BP_LEFT_QUOTE LSFT(ALGR(BP_Y)) // ‘
308#define BP_LQOT BP_LEFT_QUOTE 299#define BP_LQOT BP_LEFT_QUOTE
309#define BP_RIGHT_QUOTE LSFT(ALTGR(BP_X)) // ’ 300#define BP_RIGHT_QUOTE LSFT(ALGR(BP_X)) // ’
310#define BP_RQOT BP_RIGHT_QUOTE 301#define BP_RQOT BP_RIGHT_QUOTE
311#define BP_INTERPUNCT LSFT(ALTGR(BP_DOT)) // · 302#define BP_INTERPUNCT LSFT(ALGR(BP_DOT)) // ·
312#define BP_IPCT BP_INTERPUNCT 303#define BP_IPCT BP_INTERPUNCT
313#define BP_DEAD_HOOK_ABOVE LSFT(ALTGR(BP_QUESTION)) // dead ̉ 304#define BP_DEAD_HOOK_ABOVE LSFT(ALGR(BP_QUESTION)) // dead ̉
314#define BP_DHKA BP_DEAD_HOOK_ABOVE 305#define BP_DHKA BP_DEAD_HOOK_ABOVE
315#define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣ 306#define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣
316#define BP_DUDT BP_DEAD_UNDERDOT 307#define BP_DUDT BP_DEAD_UNDERDOT
317#define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡ 308#define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡
318#define BP_DDGR BP_DOUBLE_DAGGER 309#define BP_DDGR BP_DOUBLE_DAGGER
319#define BP_ORDINAL_INDICATOR_A LSFT(ALTGR(BP_F)) // ª 310#define BP_ORDINAL_INDICATOR_A LSFT(ALGR(BP_F)) // ª
320#define BP_ORDA BP_ORDINAL_INDICATOR_A 311#define BP_ORDA BP_ORDINAL_INDICATOR_A
321 312
322// Space bar 313// Space bar
323#define BP_NARROW_NON_BREAKING_SPACE ALTGR(BP_NON_BREAKING_SPACE) 314#define BP_NARROW_NON_BREAKING_SPACE ALGR(BP_NON_BREAKING_SPACE)
324#define BP_NNBS BP_NARROW_NON_BREAKING_SPACE 315#define BP_NNBS BP_NARROW_NON_BREAKING_SPACE
325 316
326#endif 317#endif
diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h
index 1d45bee32..2b5b95d6f 100644
--- a/quantum/keymap_extras/keymap_canadian_multilingual.h
+++ b/quantum/keymap_extras/keymap_canadian_multilingual.h
@@ -13,22 +13,11 @@
13 * You should have received a copy of the GNU General Public License 13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef KEYMAP_CANADIAN_MULTILINGUAG_H 16#ifndef KEYMAP_CANADIAN_MULTILINGUAL_H
17#define KEYMAP_CANADIAN_MULTILINGUAG_H 17#define KEYMAP_CANADIAN_MULTILINGUAL_H
18 18
19#include "keymap.h" 19#include "keymap.h"
20 20
21// Alt gr
22#ifndef ALTGR
23#define ALTGR(kc) RALT(kc)
24#endif
25#ifndef ALGR
26#define ALGR(kc) ALTGR(kc)
27#endif
28
29#define CSA_ALTGR KC_RALT
30#define CSA_ALGR CSA_ALTGR
31
32#ifndef GR2A 21#ifndef GR2A
33#define GR2A(kc) RCTL(kc) 22#define GR2A(kc) RCTL(kc)
34#endif 23#endif
@@ -78,43 +67,43 @@
78 67
79// Alt Gr-ed characters 68// Alt Gr-ed characters
80// First row 69// First row
81#define CSA_PIPE ALTGR(CSA_SLASH) // | 70#define CSA_PIPE ALGR(CSA_SLASH) // |
82#define CSA_CURRENCY ALTGR(KC_4) // ¤ 71#define CSA_CURRENCY ALGR(KC_4) // ¤
83#define CSA_CURR CSA_CURRENCY 72#define CSA_CURR CSA_CURRENCY
84#define CSA_LEFT_CURLY_BRACE ALTGR(KC_7) // { 73#define CSA_LEFT_CURLY_BRACE ALGR(KC_7) // {
85#define CSA_LCBR CSA_LEFT_CURLY_BRACE 74#define CSA_LCBR CSA_LEFT_CURLY_BRACE
86#define CSA_RIGHT_CURLY_BRACE ALTGR(KC_8) // } 75#define CSA_RIGHT_CURLY_BRACE ALGR(KC_8) // }
87#define CSA_RCBR CSA_RIGHT_CURLY_BRACE 76#define CSA_RCBR CSA_RIGHT_CURLY_BRACE
88#define CSA_LBRACKET ALTGR(KC_9) // [ 77#define CSA_LBRACKET ALGR(KC_9) // [
89#define CSA_LBRC CSA_LBRACKET 78#define CSA_LBRC CSA_LBRACKET
90#define CSA_RBRACKET ALTGR(KC_0) // ] 79#define CSA_RBRACKET ALGR(KC_0) // ]
91#define CSA_RBRC CSA_RBRACKET 80#define CSA_RBRC CSA_RBRACKET
92#define CSA_NEGATION ALTGR(KC_EQUAL) // ¬ 81#define CSA_NEGATION ALGR(KC_EQUAL) // ¬
93#define CSA_NEGT CSA_NEGATION 82#define CSA_NEGT CSA_NEGATION
94 83
95// Second row 84// Second row
96// euro symbol not available on Linux? (X.org) 85// euro symbol not available on Linux? (X.org)
97#define CSA_EURO ALTGR(KC_E) // € 86#define CSA_EURO ALGR(KC_E) // €
98#define CSA_DEAD_GRAVE ALTGR(CSA_DEAD_CIRCUMFLEX) 87#define CSA_DEAD_GRAVE ALGR(CSA_DEAD_CIRCUMFLEX)
99#define CSA_DGRV CSA_DEAD_GRAVE // dead ` 88#define CSA_DGRV CSA_DEAD_GRAVE // dead `
100#define CSA_DEAD_TILDE ALTGR(CSA_C_CEDILLA) // ~ 89#define CSA_DEAD_TILDE ALGR(CSA_C_CEDILLA) // ~
101#define CSA_DTLD CSA_DEAD_TILDE 90#define CSA_DTLD CSA_DEAD_TILDE
102 91
103// Third row 92// Third row
104#define CSA_DEGREE ALTGR(KC_SCOLON) // ° 93#define CSA_DEGREE ALGR(KC_SCOLON) // °
105#define CSA_DEGR CSA_DEGREE 94#define CSA_DEGR CSA_DEGREE
106 95
107// Fourth row 96// Fourth row
108#define CSA_LEFT_GUILLEMET ALTGR(KC_Z) // « 97#define CSA_LEFT_GUILLEMET ALGR(KC_Z) // «
109#define CSA_LGIL CSA_LEFT_GUILLEMET 98#define CSA_LGIL CSA_LEFT_GUILLEMET
110#define CSA_RIGHT_GUILLEMET ALTGR(KC_X) // » 99#define CSA_RIGHT_GUILLEMET ALGR(KC_X) // »
111#define CSA_RGIL CSA_RIGHT_GUILLEMET 100#define CSA_RGIL CSA_RIGHT_GUILLEMET
112#define CSA_LESS ALTGR(KC_COMMA) // < 101#define CSA_LESS ALGR(KC_COMMA) // <
113#define CSA_GREATER ALTGR(KC_DOT) // > 102#define CSA_GREATER ALGR(KC_DOT) // >
114#define CSA_GRTR CSA_GREATER 103#define CSA_GRTR CSA_GREATER
115 104
116// Space bar 105// Space bar
117#define CSA_NON_BREAKING_SPACE ALTGR(KC_SPACE) 106#define CSA_NON_BREAKING_SPACE ALGR(KC_SPACE)
118#define CSA_NBSP CSA_NON_BREAKING_SPACE 107#define CSA_NBSP CSA_NON_BREAKING_SPACE
119 108
120// GR2A-ed characters 109// GR2A-ed characters
@@ -201,7 +190,7 @@
201// nothing on 2 190// nothing on 2
202#define CSA_POUND GR2A(LSFT(KC_3)) // £ 191#define CSA_POUND GR2A(LSFT(KC_3)) // £
203#define CSA_GBP CSA_POUND_SIGN 192#define CSA_GBP CSA_POUND_SIGN
204// already on ALTGR(KC_E) 193// already on ALGR(KC_E)
205#define CSA_EURO_BIS GR2A(LSFT(KC_4)) // € 194#define CSA_EURO_BIS GR2A(LSFT(KC_4)) // €
206#define CSA_EURB CSA_EURO_BIS 195#define CSA_EURB CSA_EURO_BIS
207#define CSA_THREE_EIGHTHS GR2A(LSFT(KC_5)) // ⅜ 196#define CSA_THREE_EIGHTHS GR2A(LSFT(KC_5)) // ⅜
diff --git a/quantum/keymap_extras/keymap_fr_ch.h b/quantum/keymap_extras/keymap_fr_ch.h
index c0ca832a6..69f9547bb 100644
--- a/quantum/keymap_extras/keymap_fr_ch.h
+++ b/quantum/keymap_extras/keymap_fr_ch.h
@@ -18,10 +18,6 @@
18 18
19#include "keymap.h" 19#include "keymap.h"
20 20
21// Alt gr
22#define ALGR(kc) RALT(kc)
23#define FR_CH_ALGR KC_RALT
24
25// normal characters 21// normal characters
26#define FR_CH_Z KC_Y 22#define FR_CH_Z KC_Y
27#define FR_CH_Y KC_Z 23#define FR_CH_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h
index 3308dc5f7..bef775470 100644
--- a/quantum/keymap_extras/keymap_french.h
+++ b/quantum/keymap_extras/keymap_french.h
@@ -18,12 +18,6 @@
18 18
19#include "keymap.h" 19#include "keymap.h"
20 20
21// Alt gr
22#ifndef ALGR
23#define ALGR(kc) RALT(kc)
24#endif
25#define NO_ALGR KC_RALT
26
27// Normal characters 21// Normal characters
28#define FR_SUP2 KC_GRV 22#define FR_SUP2 KC_GRV
29#define FR_AMP KC_1 23#define FR_AMP KC_1
diff --git a/quantum/keymap_extras/keymap_german.h b/quantum/keymap_extras/keymap_german.h
index e007c26ef..0ba3570df 100644
--- a/quantum/keymap_extras/keymap_german.h
+++ b/quantum/keymap_extras/keymap_german.h
@@ -19,10 +19,6 @@
19 19
20#include "keymap.h" 20#include "keymap.h"
21 21
22// Alt gr
23#define ALGR(kc) RALT(kc)
24#define DE_ALGR KC_RALT
25
26// normal characters 22// normal characters
27#define DE_Z KC_Y 23#define DE_Z KC_Y
28#define DE_Y KC_Z 24#define DE_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_german_ch.h
index 67350d660..bd1ef89a1 100644
--- a/quantum/keymap_extras/keymap_german_ch.h
+++ b/quantum/keymap_extras/keymap_german_ch.h
@@ -18,10 +18,6 @@
18 18
19#include "keymap.h" 19#include "keymap.h"
20 20
21// Alt gr
22#define ALGR(kc) RALT(kc)
23#define CH_ALGR KC_RALT
24
25// normal characters 21// normal characters
26#define CH_Z KC_Y 22#define CH_Z KC_Y
27#define CH_Y KC_Z 23#define CH_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_hungarian.h b/quantum/keymap_extras/keymap_hungarian.h
index b37244092..ff43535f3 100644
--- a/quantum/keymap_extras/keymap_hungarian.h
+++ b/quantum/keymap_extras/keymap_hungarian.h
@@ -19,10 +19,6 @@
19 19
20#include "keymap.h" 20#include "keymap.h"
21 21
22// Alt gr
23#define ALGR(kc) RALT(kc)
24#define HU_ALGR KC_RALT
25
26// basic letters 22// basic letters
27#define HU_Z KC_Y 23#define HU_Z KC_Y
28#define HU_Y KC_Z 24#define HU_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_italian.h b/quantum/keymap_extras/keymap_italian.h
index 0ff6ce876..fe0f5eb84 100644
--- a/quantum/keymap_extras/keymap_italian.h
+++ b/quantum/keymap_extras/keymap_italian.h
@@ -19,14 +19,7 @@
19 19
20#include "keymap.h" 20#include "keymap.h"
21 21
22// Alt gr
23#define ALGR(kc) RALT(kc)
24#define IT_ALGR KC_RALT
25
26// normal characters 22// normal characters
27
28
29
30#define IT_A KC_A 23#define IT_A KC_A
31#define IT_B KC_B 24#define IT_B KC_B
32#define IT_C KC_C 25#define IT_C KC_C
diff --git a/quantum/keymap_extras/keymap_jp.h b/quantum/keymap_extras/keymap_jp.h
index fb74bce8d..b0235f112 100644
--- a/quantum/keymap_extras/keymap_jp.h
+++ b/quantum/keymap_extras/keymap_jp.h
@@ -40,6 +40,9 @@
40#define JP_HENK KC_INT4 // henkan 40#define JP_HENK KC_INT4 // henkan
41#define JP_KANA KC_INT2 // katakana/hiragana|ro-mazi 41#define JP_KANA KC_INT2 // katakana/hiragana|ro-mazi
42 42
43#define JP_MKANA KC_LANG1 //kana on MacOSX
44#define JP_MEISU KC_LANG2 //eisu on MacOSX
45
43 46
44//Aliases for shifted symbols 47//Aliases for shifted symbols
45#define JP_DQT LSFT(KC_2) // " 48#define JP_DQT LSFT(KC_2) // "
diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h
index 174f4a6ee..818a739c7 100644
--- a/quantum/keymap_extras/keymap_neo2.h
+++ b/quantum/keymap_extras/keymap_neo2.h
@@ -73,6 +73,6 @@
73#define NEO_L1_R DE_HASH 73#define NEO_L1_R DE_HASH
74 74
75#define NEO_L2_L DE_LESS 75#define NEO_L2_L DE_LESS
76#define NEO_L2_R DE_ALGR 76#define NEO_L2_R KC_ALGR
77 77
78#endif 78#endif
diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h
index 6b34db558..551a4212b 100644
--- a/quantum/keymap_extras/keymap_nordic.h
+++ b/quantum/keymap_extras/keymap_nordic.h
@@ -18,10 +18,6 @@
18 18
19#include "keymap.h" 19#include "keymap.h"
20 20
21// Alt gr
22#define ALGR(kc) RALT(kc)
23#define NO_ALGR KC_RALT
24
25// Normal characters 21// Normal characters
26#define NO_HALF KC_GRV 22#define NO_HALF KC_GRV
27#define NO_PLUS KC_MINS 23#define NO_PLUS KC_MINS
diff --git a/quantum/keymap_extras/keymap_plover_dvorak.h b/quantum/keymap_extras/keymap_plover_dvorak.h
new file mode 100644
index 000000000..83bb1e8b8
--- /dev/null
+++ b/quantum/keymap_extras/keymap_plover_dvorak.h
@@ -0,0 +1,47 @@
1/* Copyright 2016 James Kay
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16#ifndef KEYMAP_PLOVER_DVORAK_H
17#define KEYMAP_PLOVER_DVORAK_H
18
19#include "keymap_dvorak.h"
20
21#define PD_NUM DV_1
22#define PD_LS DV_Q
23#define PD_LT DV_W
24#define PD_LP DV_E
25#define PD_LH DV_R
26#define PD_LK DV_S
27#define PD_LW DV_D
28#define PD_LR DV_F
29
30#define PD_STAR DV_Y
31#define PD_RF DV_U
32#define PD_RP DV_I
33#define PD_RL DV_O
34#define PD_RT DV_P
35#define PD_RD DV_LBRC
36#define PD_RR DV_J
37#define PD_RB DV_K
38#define PD_RG DV_L
39#define PD_RS DV_SCLN
40#define PD_RZ DV_QUOT
41
42#define PD_A DV_C
43#define PD_O DV_V
44#define PD_E DV_N
45#define PD_U DV_M
46
47#endif
diff --git a/quantum/keymap_extras/keymap_slovenian.h b/quantum/keymap_extras/keymap_slovenian.h
new file mode 100644
index 000000000..892283e70
--- /dev/null
+++ b/quantum/keymap_extras/keymap_slovenian.h
@@ -0,0 +1,107 @@
1/* Copyright 2018 Žan Pevec
2
3 *
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 2 of the License, or
7 * (at your option) any later version.
8 *
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU General Public License for more details.
13 *
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */
17
18#ifndef KEYMAP_SLOVENIAN
19#define KEYMAP_SLOVENIAN
20
21#include "keymap.h"
22
23//Swapped Z and Y
24#define SI_Z KC_Y
25#define SI_Y KC_Z
26
27//Special characters
28#define SI_CV KC_SCLN
29#define SI_SV KC_LBRC
30#define SI_ZV KC_BSLS
31
32#define SI_A KC_A
33#define SI_B KC_B
34#define SI_C KC_C
35#define SI_D KC_D
36#define SI_E KC_E
37#define SI_F KC_F
38#define SI_G KC_G
39#define SI_H KC_H
40#define SI_I KC_I
41#define SI_J KC_J
42#define SI_K KC_K
43#define SI_L KC_L
44#define SI_M KC_M
45#define SI_N KC_N
46#define SI_O KC_O
47#define SI_P KC_P
48#define SI_Q KC_Q
49#define SI_R KC_R
50#define SI_S KC_S
51#define SI_T KC_T
52#define SI_U KC_U
53#define SI_V KC_V
54#define SI_W KC_W
55#define SI_X KC_X
56
57#define SI_0 KC_0
58#define SI_1 KC_1
59#define SI_2 KC_2
60#define SI_3 KC_3
61#define SI_4 KC_4
62#define SI_5 KC_5
63#define SI_6 KC_6
64#define SI_7 KC_7
65#define SI_8 KC_8
66#define SI_9 KC_9
67
68#define SI_DOT KC_DOT
69#define SI_COMM KC_COMM
70
71#define SI_PLUS KC_EQL // + and * and ~
72#define SI_QOT KC_MINS // Single quote
73#define SI_MINS KC_SLSH // - and _
74
75// shifted characters
76#define SI_EXLM LSFT(KC_1) // !
77#define SI_DQOT LSFT(KC_2) // "
78#define SI_HASH LSFT(KC_3) // #
79#define SI_DLR LSFT(KC_4) // $
80#define SI_PERC LSFT(KC_5) // %
81#define SI_AMPR LSFT(KC_6) // &
82#define SI_SLSH LSFT(KC_7) // /
83#define SI_LPRN LSFT(KC_8) // (
84#define SI_RPRN LSFT(KC_9) // )
85#define SI_EQL LSFT(KC_0) // =
86#define SI_QST LSFT(SI_QOT) // ?
87#define SI_ASTR LSFT(SI_PLUS) // *
88#define SI_COLN LSFT(KC_DOT) // :
89#define SI_SCLN LSFT(KC_COMM) // ;
90#define SI_UNDS LSFT(SI_MINS) // _
91
92// Alt Gr-ed characters
93#define SI_CIRC ALGR(KC_3) // ^
94#define SI_DEG ALGR(KC_5) // °
95#define SI_GRV ALGR(KC_7) // `
96#define SI_ACCU ALGR(KC_9) // ´
97#define SI_LCBR ALGR(KC_B) // {
98#define SI_RCBR ALGR(KC_N) // }
99#define SI_LBRC ALGR(KC_F) // [
100#define SI_RBRC ALGR(KC_G) // ]
101#define SI_BSLS ALGR(KC_Q) // backslash
102#define SI_AT ALGR(KC_V) // @
103#define SI_EURO ALGR(KC_E) // €
104#define SI_TILD ALGR(KC_1) // ~
105#define SI_PIPE ALGR(KC_W) // |
106
107#endif
diff --git a/quantum/keymap_extras/keymap_spanish.h b/quantum/keymap_extras/keymap_spanish.h
index 224db7be1..1f183327f 100644
--- a/quantum/keymap_extras/keymap_spanish.h
+++ b/quantum/keymap_extras/keymap_spanish.h
@@ -18,10 +18,6 @@
18 18
19#include "keymap.h" 19#include "keymap.h"
20 20
21// Alt gr
22#define ALGR(kc) RALT(kc)
23#define NO_ALGR KC_RALT
24
25// Normal characters 21// Normal characters
26#define ES_OVRR KC_GRV 22#define ES_OVRR KC_GRV
27#define ES_APOS KC_MINS 23#define ES_APOS KC_MINS
diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h
index 9044bb74e..d1a0f4f22 100644
--- a/quantum/keymap_extras/keymap_swedish.h
+++ b/quantum/keymap_extras/keymap_swedish.h
@@ -41,8 +41,8 @@
41#define NO_DLR_MAC LSFT(KC_4) // $ 41#define NO_DLR_MAC LSFT(KC_4) // $
42#define NO_GRV_MAC ALGR(NO_BSLS) // ` 42#define NO_GRV_MAC ALGR(NO_BSLS) // `
43#define NO_GRTR_MAC LSFT(KC_GRV) // > 43#define NO_GRTR_MAC LSFT(KC_GRV) // >
44#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // } 44#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // {
45#define NO_LESS_MAC KC_GRV // > 45#define NO_LESS_MAC KC_GRV // <
46#define NO_PIPE_MAC ALGR(KC_7) // | 46#define NO_PIPE_MAC ALGR(KC_7) // |
47#define NO_RCBR_MAC ALGR(LSFT(KC_9)) // } 47#define NO_RCBR_MAC ALGR(LSFT(KC_9)) // }
48 48
diff --git a/quantum/keymap_extras/keymap_uk.h b/quantum/keymap_extras/keymap_uk.h
index de47103cb..cc3d0039e 100644
--- a/quantum/keymap_extras/keymap_uk.h
+++ b/quantum/keymap_extras/keymap_uk.h
@@ -18,10 +18,6 @@
18 18
19#include "keymap.h" 19#include "keymap.h"
20 20
21// Alt gr
22#define ALGR(kc) RALT(kc)
23#define NO_ALGR KC_RALT
24
25// Normal characters 21// Normal characters
26#define UK_HASH KC_NUHS 22#define UK_HASH KC_NUHS
27#define UK_BSLS KC_NUBS 23#define UK_BSLS KC_NUBS
diff --git a/quantum/keymap_extras/sendstring_german.h b/quantum/keymap_extras/sendstring_german.h
new file mode 100644
index 000000000..1eaafee31
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_german.h
@@ -0,0 +1,81 @@
1/* Copyright 2018 Patrick Hener
2 *
3 * This program is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 2 of the License, or
6 * (at your option) any later version.
7 *
8 * This program is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
12 *
13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */
16/* Sendstring definitions for the German layout */
17#ifndef SENDSTRING_GERMAN
18#define SENDSTRING_GERMAN
19
20#include "keymap_german.h"
21
22const bool ascii_to_shift_lut[0x80] PROGMEM = {
23 0, 0, 0, 0, 0, 0, 0, 0,
24 0, 0, 0, 0, 0, 0, 0, 0,
25 0, 0, 0, 0, 0, 0, 0, 0,
26 0, 0, 0, 0, 0, 0, 0, 0,
27
28 0, 1, 1, 0, 1, 1, 1, 1,
29 1, 1, 1, 0, 0, 0, 0, 1,
30 0, 0, 0, 0, 0, 0, 0, 0,
31 0, 0, 1, 1, 0, 1, 1, 1,
32 1, 1, 1, 1, 1, 1, 1, 1,
33 1, 1, 1, 1, 1, 1, 1, 1,
34 1, 1, 1, 1, 1, 1, 1, 1,
35 1, 1, 1, 0, 0, 0, 0, 1,
36 1, 0, 0, 0, 0, 0, 0, 0,
37 0, 0, 0, 0, 0, 0, 0, 0,
38 0, 0, 0, 0, 0, 0, 0, 0,
39 0, 0, 0, 1, 1, 1, 1, 0
40};
41
42/* Until an ALT table/functionality is added, the following symbols will not work:
43* § @ [ ] { } \ ~ äA öÖ ß ´
44* Following characters can be printed using other characters like so:
45* [ in makro will be ü
46* { in makro will be Ü
47* ~ in makro will be °
48*/
49const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
50 0, 0, 0, 0, 0, 0, 0, 0,
51 KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
52 0, 0, 0, 0, 0, 0, 0, 0,
53 0, 0, 0, KC_ESC, 0, 0, 0, 0,
54
55 /* SPACE ! " # $ % & ' */
56 KC_SPC, KC_1, KC_2, DE_HASH, KC_4, KC_5, KC_6, DE_HASH,
57 /* ( ) * + , - . / */
58 KC_8, KC_9, DE_PLUS, DE_PLUS, KC_COMM, DE_MINS, KC_DOT, KC_7,
59 /* 0 1 2 3 4 5 6 7 */
60 KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
61 /* 8 9 : ; < = > ? */
62 KC_8, KC_9, KC_DOT, KC_COMM, DE_LESS, KC_0, DE_LESS, KC_MINS,
63 /* @ A B C D E F G */
64 KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
65 /* H I J K L M N O */
66 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
67 /* P Q R S T U V W */
68 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
69 /* X Y Z [ \ ] ^ _ */
70 KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, DE_CIRC, DE_MINS,
71 /* ` a b c d e f g */
72 DE_ACUT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
73 /* h i j k l m n o */
74 KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
75 /* p q r s t u v w */
76 KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
77 /* x y z { | } ~ DELETE */
78 KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
79};
80
81#endif