diff options
author | Ryan <fauxpark@gmail.com> | 2020-04-19 06:57:05 +1000 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-04-19 06:57:05 +1000 |
commit | f43cb314767403b8289fc957bd1d3b8250874192 (patch) | |
tree | b1d04ab08011a7e10702db25eb253ad14c5be494 | |
parent | 89eb3a9e429de9bfc2bd3c0eefc3dc6e3dcfc57d (diff) | |
download | qmk_firmware-f43cb314767403b8289fc957bd1d3b8250874192.tar.gz qmk_firmware-f43cb314767403b8289fc957bd1d3b8250874192.zip |
Update French and German macOS keymaps and add sendstring LUTs (#8700)
-rw-r--r-- | quantum/keymap_extras/keymap_french_osx.h | 306 | ||||
-rw-r--r-- | quantum/keymap_extras/keymap_german_osx.h | 385 | ||||
-rw-r--r-- | quantum/keymap_extras/sendstring_french.h | 2 | ||||
-rw-r--r-- | quantum/keymap_extras/sendstring_french_osx.h | 100 | ||||
-rw-r--r-- | quantum/keymap_extras/sendstring_german_osx.h | 100 |
5 files changed, 736 insertions, 157 deletions
diff --git a/quantum/keymap_extras/keymap_french_osx.h b/quantum/keymap_extras/keymap_french_osx.h index 3a231874a..d0132a2d8 100644 --- a/quantum/keymap_extras/keymap_french_osx.h +++ b/quantum/keymap_extras/keymap_french_osx.h | |||
@@ -13,80 +13,248 @@ | |||
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_FRENCH_OSX_H | ||
17 | #define KEYMAP_FRENCH_OSX_H | ||
18 | 16 | ||
19 | #include "keymap.h" | 17 | #pragma once |
20 | |||
21 | // Normal characters | ||
22 | #define FR_AT KC_GRV | ||
23 | #define FR_AMP KC_1 | ||
24 | #define FR_EACU KC_2 | ||
25 | #define FR_QUOT KC_3 | ||
26 | #define FR_APOS KC_4 | ||
27 | #define FR_LPRN KC_5 | ||
28 | #define FR_SECT KC_6 | ||
29 | #define FR_EGRV KC_7 | ||
30 | #define FR_EXLM KC_8 | ||
31 | #define FR_CCED KC_9 | ||
32 | #define FR_AGRV KC_0 | ||
33 | #define FR_RPRN KC_MINS | ||
34 | #define FR_MINS KC_EQL | ||
35 | |||
36 | #define FR_A KC_Q | ||
37 | #define FR_Z KC_W | ||
38 | #define FR_CIRC KC_LBRC | ||
39 | #define FR_DLR KC_RBRC | ||
40 | |||
41 | #define FR_Q KC_A | ||
42 | #define FR_M KC_SCLN | ||
43 | #define FR_UGRV KC_QUOT | ||
44 | #define FR_GRV KC_NUHS | ||
45 | |||
46 | #define FR_LESS KC_NUBS | ||
47 | #define FR_W KC_Z | ||
48 | #define FR_COMM KC_M | ||
49 | #define FR_SCLN KC_COMM | ||
50 | #define FR_COLN KC_DOT | ||
51 | #define FR_EQL KC_SLSH | ||
52 | 18 | ||
53 | // Shifted characters | 19 | #include "keymap.h" |
54 | #define FR_HASH LSFT(KC_GRV) | ||
55 | #define FR_1 LSFT(KC_1) | ||
56 | #define FR_2 LSFT(KC_2) | ||
57 | #define FR_3 LSFT(KC_3) | ||
58 | #define FR_4 LSFT(KC_4) | ||
59 | #define FR_5 LSFT(KC_5) | ||
60 | #define FR_6 LSFT(KC_6) | ||
61 | #define FR_7 LSFT(KC_7) | ||
62 | #define FR_8 LSFT(KC_8) | ||
63 | #define FR_9 LSFT(KC_9) | ||
64 | #define FR_0 LSFT(KC_0) | ||
65 | #define FR_UNDS LSFT(FR_MINS) | ||
66 | 20 | ||
67 | #define FR_UMLT LSFT(FR_CIRC) | 21 | // clang-format off |
68 | #define FR_ASTR LSFT(FR_DLR) | ||
69 | 22 | ||
70 | #define FR_PERC LSFT(FR_UGRV) | 23 | /* |
71 | #define FR_PND LSFT(FR_GRV) | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
25 | * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │ | ||
26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ | ||
27 | * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │ | ||
28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
29 | * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │ | ||
30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
31 | * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │ | ||
32 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
33 | * │ │ │ │ │ │ │ │ | ||
34 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
35 | */ | ||
36 | // Row 1 | ||
37 | #define FR_AT KC_GRV // @ | ||
38 | #define FR_AMPR KC_1 // & | ||
39 | #define FR_LEAC KC_2 // é | ||
40 | #define FR_DQUO KC_3 // " | ||
41 | #define FR_QUOT KC_4 // ' | ||
42 | #define FR_LPRN KC_5 // ( | ||
43 | #define FR_SECT KC_6 // § | ||
44 | #define FR_LEGR KC_7 // è | ||
45 | #define FR_EXLM KC_8 // ! | ||
46 | #define FR_LCCE KC_9 // ç | ||
47 | #define FR_LAGR KC_0 // à | ||
48 | #define FR_RPRN KC_MINS // ) | ||
49 | #define FR_MINS KC_EQL // - | ||
50 | // Row 2 | ||
51 | #define FR_A KC_Q // A | ||
52 | #define FR_Z KC_W // Z | ||
53 | #define FR_E KC_E // E | ||
54 | #define FR_R KC_R // R | ||
55 | #define FR_T KC_T // T | ||
56 | #define FR_Y KC_Y // Y | ||
57 | #define FR_U KC_U // U | ||
58 | #define FR_I KC_I // I | ||
59 | #define FR_O KC_O // O | ||
60 | #define FR_P KC_P // P | ||
61 | #define FR_CIRC KC_LBRC // ^ | ||
62 | #define FR_DLR KC_RBRC // $ | ||
63 | // Row 3 | ||
64 | #define FR_Q KC_A // Q | ||
65 | #define FR_S KC_S // S | ||
66 | #define FR_D KC_D // D | ||
67 | #define FR_F KC_F // F | ||
68 | #define FR_G KC_G // G | ||
69 | #define FR_H KC_H // H | ||
70 | #define FR_J KC_J // J | ||
71 | #define FR_K KC_K // K | ||
72 | #define FR_L KC_L // L | ||
73 | #define FR_M KC_SCLN // M | ||
74 | #define FR_LUGR KC_QUOT // ù | ||
75 | #define FR_GRV KC_NUHS // ` | ||
76 | // Row 4 | ||
77 | #define FR_LABK KC_NUBS // < | ||
78 | #define FR_W KC_Z // W | ||
79 | #define FR_X KC_X // X | ||
80 | #define FR_C KC_C // C | ||
81 | #define FR_V KC_V // V | ||
82 | #define FR_B KC_B // B | ||
83 | #define FR_N KC_N // N | ||
84 | #define FR_COMM KC_M // , | ||
85 | #define FR_SCLN KC_COMM // ; | ||
86 | #define FR_COLN KC_DOT // : | ||
87 | #define FR_EQL KC_SLSH // = | ||
72 | 88 | ||
73 | #define FR_GRTR LSFT(FR_LESS) | 89 | /* Shifted symbols |
74 | #define FR_QUES LSFT(FR_COMM) | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
75 | #define FR_DOT LSFT(FR_SCLN) | 91 | * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │ |
76 | #define FR_SLSH LSFT(FR_COLN) | 92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
77 | #define FR_PLUS LSFT(FR_EQL) | 93 | * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │ |
94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
95 | * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │ | ||
96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
97 | * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │ | ||
98 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
99 | * │ │ │ │ │ │ │ │ | ||
100 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
101 | */ | ||
102 | // Row 1 | ||
103 | #define FR_HASH S(FR_AT) // # | ||
104 | #define FR_1 S(FR_AMPR) // 1 | ||
105 | #define FR_2 S(FR_LEAC) // 2 | ||
106 | #define FR_3 S(FR_DQUO) // 3 | ||
107 | #define FR_4 S(FR_QUOT) // 4 | ||
108 | #define FR_5 S(FR_LPRN) // 5 | ||
109 | #define FR_6 S(FR_SECT) // 6 | ||
110 | #define FR_7 S(FR_LEGR) // 7 | ||
111 | #define FR_8 S(FR_EXLM) // 8 | ||
112 | #define FR_9 S(FR_LCCE) // 9 | ||
113 | #define FR_0 S(FR_LAGR) // 0 | ||
114 | #define FR_DEG S(FR_RPRN) // ° | ||
115 | #define FR_UNDS S(FR_MINS) // _ | ||
116 | // Row 2 | ||
117 | #define FR_DIAE S(FR_CIRC) // ¨ (dead) | ||
118 | #define FR_ASTR S(FR_DLR) // * | ||
119 | // Row 3 | ||
120 | #define FR_PERC S(FR_LUGR) // % | ||
121 | #define FR_PND S(FR_GRV) // £ | ||
122 | // Row 4 | ||
123 | #define FR_RABK S(FR_LABK) // > | ||
124 | #define FR_QUES S(FR_COMM) // ? | ||
125 | #define FR_DOT S(FR_SCLN) // . | ||
126 | #define FR_SLSH S(FR_COLN) // / | ||
127 | #define FR_PLUS S(FR_EQL) // + | ||
78 | 128 | ||
79 | // Alted characters | 129 | /* Alted symbols |
80 | #define FR_LCBR LALT(KC_5) | 130 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
81 | #define FR_RCBR LALT(FR_RPRN) | 131 | * │ • │ │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │ |
82 | #define FR_EURO LALT(KC_E) | 132 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
83 | #define FR_BULT LALT(FR_DLR) | 133 | * │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │ |
84 | #define FR_TILD LALT(KC_N) | 134 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
135 | * │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │ | ||
136 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
137 | * │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │ | ||
138 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
139 | * │ │ │ │ │ │ │ │ | ||
140 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
141 | */ | ||
142 | // Row 1 | ||
143 | #define FR_BULT A(FR_AT) // • | ||
144 | #define FR_APPL A(FR_AMPR) // (Apple logo) | ||
145 | #define FR_LEDI A(FR_LEAC) // ë | ||
146 | #define FR_LDQU A(FR_DQUO) // “ | ||
147 | #define FR_LSQU A(FR_QUOT) // ‘ | ||
148 | #define FR_LCBR A(FR_LPRN) // { | ||
149 | #define FR_PILC A(FR_SECT) // ¶ | ||
150 | #define FR_LDAQ A(FR_LEGR) // « | ||
151 | #define FR_IEXL A(FR_EXLM) // ¡ | ||
152 | #define FR_CCCE A(FR_LCCE) // Ç | ||
153 | #define FR_OSTR A(FR_LAGR) // Ø | ||
154 | #define FR_RCBR A(FR_RPRN) // } | ||
155 | #define FR_MDSH A(FR_MINS) // — | ||
156 | // Row 2 | ||
157 | #define FR_AE A(FR_A) // Æ | ||
158 | #define FR_CACI A(FR_Z) // Â | ||
159 | #define FR_ECIR A(FR_E) // Ê | ||
160 | #define FR_REGD A(FR_R) // ® | ||
161 | #define FR_DAGG A(FR_T) // † | ||
162 | #define FR_CUAC A(FR_Y) // Ú | ||
163 | #define FR_MORD A(FR_U) // º | ||
164 | #define FR_LICI A(FR_I) // î | ||
165 | #define FR_OE A(FR_O) // Œ | ||
166 | #define FR_PI A(FR_P) // π | ||
167 | #define FR_OCIR A(FR_CIRC) // Ô | ||
168 | #define FR_EURO A(FR_DLR) // € | ||
169 | // Row 3 | ||
170 | #define FR_DDAG A(FR_Q) // ‡ | ||
171 | #define FR_COGR A(FR_S) // Ò | ||
172 | #define FR_PDIF A(FR_D) // ∂ | ||
173 | #define FR_FHK A(FR_F) // ƒ | ||
174 | #define FR_FI A(FR_G) // fi | ||
175 | #define FR_CIGR A(FR_H) // Ì | ||
176 | #define FR_CIDI A(FR_J) // Ï | ||
177 | #define FR_CEGR A(FR_K) // È | ||
178 | #define FR_NOT A(FR_L) // ¬ | ||
179 | #define FR_MICR A(FR_M) // µ | ||
180 | #define FR_CUGR A(FR_LUGR) // Ù | ||
181 | // Row 4 | ||
182 | #define FR_LTEQ A(FR_LABK) // ≤ | ||
183 | #define FR_LSAQ A(FR_W) // ‹ | ||
184 | #define FR_AEQL A(FR_X) // ≈ | ||
185 | #define FR_COPY A(FR_C) // © | ||
186 | #define FR_LOZN A(FR_V) // ◊ | ||
187 | #define FR_SS A(FR_B) // ß | ||
188 | #define FR_TILD A(FR_N) // ~ (dead) | ||
189 | #define FR_INFN A(FR_COMM) // ∞ | ||
190 | #define FR_ELLP A(FR_SCLN) // … | ||
191 | #define FR_DIV A(FR_COLN) // ÷ | ||
192 | #define FR_NEQL A(FR_EQL) // ≠ | ||
85 | 193 | ||
86 | // Shift+Alt-ed characters | 194 | /* Shift+Alted symbols |
87 | #define FR_LBRC LSFT(LALT(KC_5)) | 195 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
88 | #define FR_RBRC LSFT(LALT(FR_RPRN)) | 196 | * │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │ |
89 | #define FR_PIPE LSFT(LALT(KC_L)) | 197 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
90 | #define FR_BSLS LSFT(LALT(FR_COLN)) | 198 | * │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │ |
199 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
200 | * │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │ | ||
201 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
202 | * │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │ | ||
203 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
204 | * │ │ │ │ │ │ │ │ | ||
205 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
206 | */ | ||
207 | // Row 1 | ||
208 | #define FR_CYDI S(A(FR_AT)) // Ÿ | ||
209 | #define FR_ACUT S(A(FR_AMPR)) // ´ (dead) | ||
210 | #define FR_DLQU S(A(FR_LEAC)) // „ | ||
211 | #define FR_LBRC S(A(FR_LPRN)) // [ | ||
212 | #define FR_LARI S(A(FR_SECT)) // å | ||
213 | #define FR_RDAQ S(A(FR_LEGR)) // » | ||
214 | #define FR_CUCI S(A(FR_EXLM)) // Û | ||
215 | #define FR_CAAC S(A(FR_LCCE)) // Á | ||
216 | #define FR_RBRC S(A(FR_RPRN)) // ] | ||
217 | #define FR_NDSH S(A(FR_MINS)) // – | ||
218 | // Row 2 | ||
219 | #define FR_CARI S(A(FR_Z)) // Å | ||
220 | #define FR_SLQU S(A(FR_R)) // ‚ | ||
221 | #define FR_TM S(A(FR_T)) // ™ | ||
222 | #define FR_FORD S(A(FR_U)) // ª | ||
223 | #define FR_LIDI S(A(FR_I)) // ï | ||
224 | #define FR_NARP S(A(FR_P)) // ∏ | ||
225 | #define FR_YEN S(A(FR_DLR)) // ¥ | ||
226 | // Row 3 | ||
227 | #define FR_OMEG S(A(FR_Q)) // Ω | ||
228 | #define FR_NARS S(A(FR_S)) // ∑ | ||
229 | #define FR_INCR S(A(FR_D)) // ∆ | ||
230 | #define FR_MDDT S(A(FR_F)) // · | ||
231 | #define FR_FL S(A(FR_G)) // fl | ||
232 | #define FR_CICI S(A(FR_H)) // Î | ||
233 | #define FR_CIAC S(A(FR_J)) // Í | ||
234 | #define FR_CEDI S(A(FR_K)) // Ë | ||
235 | #define FR_PIPE S(A(FR_L)) // | | ||
236 | #define FR_COAC S(A(FR_M)) // Ó | ||
237 | #define FR_PERM S(A(FR_LUGR)) // ‰ | ||
238 | // Row 4 | ||
239 | #define FR_GTEQ S(A(FR_LABK)) // ≥ | ||
240 | #define FR_LSAQ S(A(FR_W)) // › | ||
241 | #define FR_FRSL S(A(FR_X)) // ⁄ | ||
242 | #define FR_CENT S(A(FR_C)) // ¢ | ||
243 | #define FR_SQRT S(A(FR_V)) // √ | ||
244 | #define FR_INTG S(A(FR_B)) // ∫ | ||
245 | #define FR_DLSI S(A(FR_N)) // ı | ||
246 | #define FR_IQUE S(A(FR_COMM)) // ¿ | ||
247 | #define FR_BSLS S(A(FR_COLN)) // (backslash) | ||
248 | #define FR_PLMN S(A(FR_EQL)) // ± | ||
91 | 249 | ||
92 | #endif | 250 | // DEPRECATED |
251 | #define FR_AMP FR_AMPR | ||
252 | #define FR_EACU FR_LEAC | ||
253 | #define FR_APOS FR_QUOT | ||
254 | #define FR_EGRV FR_LEGR | ||
255 | #define FR_CCED FR_LCCE | ||
256 | #define FR_AGRV FR_LAGR | ||
257 | #define FR_UGRV FR_LUGR | ||
258 | #define FR_LESS FR_LABK | ||
259 | #define FR_UMLT FR_DIAE | ||
260 | #define FR_GRTR FR_RABK | ||
diff --git a/quantum/keymap_extras/keymap_german_osx.h b/quantum/keymap_extras/keymap_german_osx.h index 29dee07ee..0d15532e4 100644 --- a/quantum/keymap_extras/keymap_german_osx.h +++ b/quantum/keymap_extras/keymap_german_osx.h | |||
@@ -13,100 +13,311 @@ | |||
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_GERMAN_OSX | ||
17 | #define KEYMAP_GERMAN_OSX | ||
18 | 16 | ||
19 | #include "keymap.h" | 17 | #pragma once |
20 | |||
21 | // Alt gr | ||
22 | 18 | ||
23 | // normal characters | 19 | #include "keymap.h" |
24 | #define DE_OSX_Z KC_Y | ||
25 | #define DE_OSX_Y KC_Z | ||
26 | 20 | ||
27 | #define DE_OSX_A KC_A | 21 | // clang-format off |
28 | #define DE_OSX_B KC_B | ||
29 | #define DE_OSX_C KC_C | ||
30 | #define DE_OSX_D KC_D | ||
31 | #define DE_OSX_E KC_E | ||
32 | #define DE_OSX_F KC_F | ||
33 | #define DE_OSX_G KC_G | ||
34 | #define DE_OSX_H KC_H | ||
35 | #define DE_OSX_I KC_I | ||
36 | #define DE_OSX_J KC_J | ||
37 | #define DE_OSX_K KC_K | ||
38 | #define DE_OSX_L KC_L | ||
39 | #define DE_OSX_M KC_M | ||
40 | #define DE_OSX_N KC_N | ||
41 | #define DE_OSX_O KC_O | ||
42 | #define DE_OSX_P KC_P | ||
43 | #define DE_OSX_Q KC_Q | ||
44 | #define DE_OSX_R KC_R | ||
45 | #define DE_OSX_S KC_S | ||
46 | #define DE_OSX_T KC_T | ||
47 | #define DE_OSX_U KC_U | ||
48 | #define DE_OSX_V KC_V | ||
49 | #define DE_OSX_W KC_W | ||
50 | #define DE_OSX_X KC_X | ||
51 | 22 | ||
52 | #define DE_OSX_0 KC_0 | 23 | /* |
53 | #define DE_OSX_1 KC_1 | 24 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
54 | #define DE_OSX_2 KC_2 | 25 | * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │ |
55 | #define DE_OSX_3 KC_3 | 26 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
56 | #define DE_OSX_4 KC_4 | 27 | * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │ |
57 | #define DE_OSX_5 KC_5 | 28 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
58 | #define DE_OSX_6 KC_6 | 29 | * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │ |
59 | #define DE_OSX_7 KC_7 | 30 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ |
60 | #define DE_OSX_8 KC_8 | 31 | * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ |
61 | #define DE_OSX_9 KC_9 | 32 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ |
33 | * │ │ │ │ │ │ │ │ | ||
34 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
35 | */ | ||
36 | // Row 1 | ||
37 | #define DE_CIRC KC_GRV // ^ (dead) | ||
38 | #define DE_1 KC_1 // 1 | ||
39 | #define DE_2 KC_2 // 2 | ||
40 | #define DE_3 KC_3 // 3 | ||
41 | #define DE_4 KC_4 // 4 | ||
42 | #define DE_5 KC_5 // 5 | ||
43 | #define DE_6 KC_6 // 6 | ||
44 | #define DE_7 KC_7 // 7 | ||
45 | #define DE_8 KC_8 // 8 | ||
46 | #define DE_9 KC_9 // 9 | ||
47 | #define DE_0 KC_0 // 0 | ||
48 | #define DE_SS KC_MINS // ß | ||
49 | #define DE_ACUT KC_EQL // ´ (dead) | ||
50 | // Row 2 | ||
51 | #define DE_Q KC_Q // Q | ||
52 | #define DE_W KC_W // W | ||
53 | #define DE_E KC_E // E | ||
54 | #define DE_R KC_R // R | ||
55 | #define DE_T KC_T // T | ||
56 | #define DE_Z KC_Y // Z | ||
57 | #define DE_U KC_U // U | ||
58 | #define DE_I KC_I // I | ||
59 | #define DE_O KC_O // O | ||
60 | #define DE_P KC_P // P | ||
61 | #define DE_UDIA KC_LBRC // Ü | ||
62 | #define DE_PLUS KC_RBRC // + | ||
63 | // Row 3 | ||
64 | #define DE_A KC_A // A | ||
65 | #define DE_S KC_S // S | ||
66 | #define DE_D KC_D // D | ||
67 | #define DE_F KC_F // F | ||
68 | #define DE_G KC_G // G | ||
69 | #define DE_H KC_H // H | ||
70 | #define DE_J KC_J // J | ||
71 | #define DE_K KC_K // K | ||
72 | #define DE_L KC_L // L | ||
73 | #define DE_ODIA KC_SCLN // Ö | ||
74 | #define DE_ADIA KC_QUOT // Ä | ||
75 | #define DE_HASH KC_NUHS // # | ||
76 | // Row 4 | ||
77 | #define DE_LABK KC_NUBS // < | ||
78 | #define DE_Y KC_Z // Y | ||
79 | #define DE_X KC_X // X | ||
80 | #define DE_C KC_C // C | ||
81 | #define DE_V KC_V // V | ||
82 | #define DE_B KC_B // B | ||
83 | #define DE_N KC_N // N | ||
84 | #define DE_M KC_M // M | ||
85 | #define DE_COMM KC_COMM // , | ||
86 | #define DE_DOT KC_DOT // . | ||
87 | #define DE_MINS KC_SLSH // - | ||
62 | 88 | ||
63 | #define DE_OSX_DOT KC_DOT | 89 | /* Shifted symbols |
64 | #define DE_OSX_COMM KC_COMM | 90 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
91 | * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │ | ||
92 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ | ||
93 | * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │ | ||
94 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
95 | * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │ | ||
96 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
97 | * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ | ||
98 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
99 | * │ │ │ │ │ │ │ │ | ||
100 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
101 | */ | ||
102 | // Row 1 | ||
103 | #define DE_DEG S(DE_CIRC) // ° | ||
104 | #define DE_EXLM S(DE_1) // ! | ||
105 | #define DE_DQUO S(DE_2) // " | ||
106 | #define DE_SECT S(DE_3) // § | ||
107 | #define DE_DLR S(DE_4) // $ | ||
108 | #define DE_PERC S(DE_5) // % | ||
109 | #define DE_AMPR S(DE_6) // & | ||
110 | #define DE_SLSH S(DE_7) // / | ||
111 | #define DE_LPRN S(DE_8) // ( | ||
112 | #define DE_RPRN S(DE_9) // ) | ||
113 | #define DE_EQL S(DE_0) // = | ||
114 | #define DE_QUES S(DE_SS) // ? | ||
115 | #define DE_GRV S(DE_ACUT) // ` (dead) | ||
116 | // Row 2 | ||
117 | #define DE_ASTR S(DE_PLUS) // * | ||
118 | // Row 3 | ||
119 | #define DE_QUOT S(DE_HASH) // ' | ||
120 | // Row 4 | ||
121 | #define DE_RABK S(DE_LABK) // > | ||
122 | #define DE_SCLN S(DE_COMM) // ; | ||
123 | #define DE_COLN S(DE_DOT) // : | ||
124 | #define DE_UNDS S(DE_MINS) // _ | ||
65 | 125 | ||
66 | #define DE_OSX_SS KC_MINS | 126 | /* Alted symbols |
67 | #define DE_OSX_AE KC_QUOT | 127 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
68 | #define DE_OSX_UE KC_LBRC | 128 | * │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │ |
69 | #define DE_OSX_OE KC_SCLN | 129 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
130 | * │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │ | ||
131 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ | ||
132 | * │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │ | ||
133 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
134 | * │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │ | ||
135 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
136 | * │ │ │ │ │ │ │ │ | ||
137 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
138 | */ | ||
139 | // Row 1 | ||
140 | #define DE_DLQU A(DE_CIRC) // „ | ||
141 | #define DE_IEXL A(DE_1) // ¡ | ||
142 | #define DE_LDQU A(DE_2) // “ | ||
143 | #define DE_PILC A(DE_3) // ¶ | ||
144 | #define DE_CENT A(DE_4) // ¢ | ||
145 | #define DE_LBRC A(DE_5) // [ | ||
146 | #define DE_RBRC A(DE_6) // ] | ||
147 | #define DE_PIPE A(DE_7) // | | ||
148 | #define DE_LCBR A(DE_8) // { | ||
149 | #define DE_RCBR A(DE_9) // } | ||
150 | #define DE_NEQL A(DE_0) // ≠ | ||
151 | #define DE_IQUE A(DE_SS) // ¿ | ||
152 | // Row 2 | ||
153 | #define DE_LDAQ A(DE_Q) // « | ||
154 | #define DE_NARS A(DE_W) // ∑ | ||
155 | #define DE_EURO A(DE_E) // € | ||
156 | #define DE_REGD A(DE_R) // ® | ||
157 | #define DE_DAGG A(DE_T) // † | ||
158 | #define DE_OMEG A(DE_Z) // Ω | ||
159 | #define DE_DIAE A(DE_U) // ¨ (dead) | ||
160 | #define DE_FRSL A(DE_I) // ⁄ | ||
161 | #define DE_OSTR A(DE_O) // Ø | ||
162 | #define DE_PI A(DE_P) // π | ||
163 | #define DE_BULT A(DE_UDIA) // • | ||
164 | #define DE_PLMN A(DE_PLUS) // ± | ||
165 | // Row 3 | ||
166 | #define DE_ARNG A(DE_A) // Å | ||
167 | #define DE_SLQU A(DE_S) // ‚ | ||
168 | #define DE_PDIF A(DE_D) // ∂ | ||
169 | #define DE_FHK A(DE_F) // ƒ | ||
170 | #define DE_COPY A(DE_G) // © | ||
171 | #define DE_FORD A(DE_H) // ª | ||
172 | #define DE_MORD A(DE_J) // º | ||
173 | #define DE_INCR A(DE_K) // ∆ | ||
174 | #define DE_AT A(DE_L) // @ | ||
175 | #define DE_OE A(DE_ODIA) // Œ | ||
176 | #define DE_AE A(DE_ADIA) // Æ | ||
177 | #define DE_LSQU A(DE_HASH) // ‘ | ||
178 | // Row 4 | ||
179 | #define DE_LTEQ A(DE_LABK) // ≤ | ||
180 | #define DE_YEN A(DE_Y) // ¥ | ||
181 | #define DE_AEQL A(DE_X) // ≈ | ||
182 | #define DE_CCCE A(DE_C) // Ç | ||
183 | #define DE_SQRT A(DE_V) // √ | ||
184 | #define DE_INTG A(DE_B) // ∫ | ||
185 | #define DE_TILD A(DE_N) // ~ (dead) | ||
186 | #define DE_MICR A(DE_M) // µ | ||
187 | #define DE_INFN A(DE_COMM) // ∞ | ||
188 | #define DE_ELLP A(DE_DOT) // … | ||
189 | #define DE_NDSH A(DE_MINS) // – | ||
70 | 190 | ||
71 | #define DE_OSX_CIRC KC_NUBS // accent circumflex ^ and ring ° | 191 | /* Shift+Alted symbols |
72 | #define DE_OSX_ACUT KC_EQL // accent acute ´ and grave ` | 192 | * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ |
73 | #define DE_OSX_PLUS KC_RBRC // + and * and ~ | 193 | * │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │ |
74 | #define DE_OSX_HASH KC_BSLS // # and ' | 194 | * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ |
75 | #define DE_OSX_LESS KC_GRV // < and > and | | 195 | * │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │ │ │ |
76 | #define DE_OSX_MINS KC_SLSH // - and _ | 196 | * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ |
197 | * │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │ | ||
198 | * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ | ||
199 | * │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │ | ||
200 | * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ | ||
201 | * │ │ │ │ │ │ │ │ | ||
202 | * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ | ||
203 | */ | ||
204 | // Row 1 | ||
205 | #define DE_NOT S(A(DE_1)) // ¬ | ||
206 | #define DE_RDQU S(A(DE_2)) // ” | ||
207 | #define DE_PND S(A(DE_4)) // £ | ||
208 | #define DE_FI S(A(DE_5)) // fi | ||
209 | #define DE_BSLS S(A(DE_7)) // (backslash) | ||
210 | #define DE_STIL S(A(DE_8)) // ˜ | ||
211 | #define DE_MDDT S(A(DE_9)) // · | ||
212 | #define DE_MACR S(A(DE_0)) // ¯ | ||
213 | #define DE_DOTA S(A(DE_SS)) // ˙ | ||
214 | #define DE_RNGA S(A(DE_ACUT)) // ˚ | ||
215 | // Row 2 | ||
216 | #define DE_RDAQ S(A(DE_Q)) // » | ||
217 | #define DE_PERM S(A(DE_E)) // ‰ | ||
218 | #define DE_CEDL S(A(DE_R)) // ¸ | ||
219 | #define DE_DACU S(A(DE_T)) // ˝ | ||
220 | #define DE_CARN S(A(DE_Z)) // ˇ | ||
221 | #define DE_AACU S(A(DE_U)) // Á | ||
222 | #define DE_UCIR S(A(DE_I)) // Û | ||
223 | #define DE_NARP S(A(DE_P)) // ∏ | ||
224 | #define DE_APPL S(A(DE_PLUS)) // (Apple logo) | ||
225 | // Row 3 | ||
226 | #define DE_IACU S(A(DE_S)) // Í | ||
227 | #define DE_TM S(A(DE_D)) // ™ | ||
228 | #define DE_IDIA S(A(DE_F)) // Ï | ||
229 | #define DE_IGRV S(A(DE_G)) // Ì | ||
230 | #define DE_OACU S(A(DE_H)) // Ó | ||
231 | #define DE_DLSI S(A(DE_J)) // ı | ||
232 | #define DE_FL S(A(DE_L)) // fl | ||
233 | // Row 4 | ||
234 | #define DE_GTEQ S(A(DE_LABK)) // ≥ | ||
235 | #define DE_DDAG S(A(DE_Y)) // ‡ | ||
236 | #define DE_UGRV S(A(DE_X)) // Ù | ||
237 | #define DE_LOZN S(A(DE_V)) // ◊ | ||
238 | #define DE_LSAQ S(A(DE_B)) // ‹ | ||
239 | #define DE_RSAQ S(A(DE_N)) // › | ||
240 | #define DE_BREV S(A(DE_M)) // ˘ | ||
241 | #define DE_OGON S(A(DE_COMM)) // ˛ | ||
242 | #define DE_DIV S(A(DE_DOT)) // ÷ | ||
243 | #define DE_MDSH S(A(DE_MINS)) // — | ||
77 | 244 | ||
78 | // shifted characters | 245 | // DEPRECATED |
79 | #define DE_OSX_RING LSFT(DE_OSX_CIRC) // ° | 246 | #define DE_OSX_CIRC DE_CIRC |
80 | #define DE_OSX_EXLM LSFT(KC_1) // ! | 247 | #define DE_OSX_1 DE_1 |
81 | #define DE_OSX_DQOT LSFT(KC_2) // " | 248 | #define DE_OSX_2 DE_2 |
82 | #define DE_OSX_PARA LSFT(KC_3) // § | 249 | #define DE_OSX_3 DE_3 |
83 | #define DE_OSX_DLR LSFT(KC_4) // $ | 250 | #define DE_OSX_4 DE_4 |
84 | #define DE_OSX_PERC LSFT(KC_5) // % | 251 | #define DE_OSX_5 DE_5 |
85 | #define DE_OSX_AMPR LSFT(KC_6) // & | 252 | #define DE_OSX_6 DE_6 |
86 | #define DE_OSX_SLSH LSFT(KC_7) // / | 253 | #define DE_OSX_7 DE_7 |
87 | #define DE_OSX_LPRN LSFT(KC_8) // ( | 254 | #define DE_OSX_8 DE_8 |
88 | #define DE_OSX_RPRN LSFT(KC_9) // ) | 255 | #define DE_OSX_9 DE_9 |
89 | #define DE_OSX_EQL LSFT(KC_0) // = | 256 | #define DE_OSX_0 DE_0 |
90 | #define DE_OSX_QST LSFT(DE_OSX_SS) // ? | 257 | #define DE_OSX_SS DE_SS |
91 | #define DE_OSX_GRV LSFT(DE_OSX_ACUT) // ` | 258 | #define DE_OSX_ACUT DE_ACUT |
92 | #define DE_OSX_ASTR LSFT(DE_OSX_PLUS) // * | 259 | #define DE_OSX_Q DE_Q |
93 | #define DE_OSX_QUOT LSFT(DE_OSX_HASH) // ' | 260 | #define DE_OSX_W DE_W |
94 | #define DE_OSX_MORE LSFT(DE_OSX_LESS) // > | 261 | #define DE_OSX_E DE_E |
95 | #define DE_OSX_COLN LSFT(KC_DOT) // : | 262 | #define DE_OSX_R DE_R |
96 | #define DE_OSX_SCLN LSFT(KC_COMM) // ; | 263 | #define DE_OSX_T DE_T |
97 | #define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _ | 264 | #define DE_OSX_Z DE_Z |
265 | #define DE_OSX_U DE_U | ||
266 | #define DE_OSX_I DE_I | ||
267 | #define DE_OSX_O DE_O | ||
268 | #define DE_OSX_P DE_P | ||
269 | #define DE_OSX_UE DE_UDIA | ||
270 | #define DE_OSX_PLUS DE_PLUS | ||
271 | #define DE_OSX_A DE_A | ||
272 | #define DE_OSX_S DE_S | ||
273 | #define DE_OSX_D DE_D | ||
274 | #define DE_OSX_F DE_F | ||
275 | #define DE_OSX_G DE_G | ||
276 | #define DE_OSX_H DE_H | ||
277 | #define DE_OSX_J DE_J | ||
278 | #define DE_OSX_K DE_K | ||
279 | #define DE_OSX_L DE_L | ||
280 | #define DE_OSX_OE DE_ODIA | ||
281 | #define DE_OSX_AE DE_ADIA | ||
282 | #define DE_OSX_HASH DE_HASH | ||
283 | #define DE_OSX_LESS DE_LABK | ||
284 | #define DE_OSX_Y DE_Y | ||
285 | #define DE_OSX_X DE_X | ||
286 | #define DE_OSX_C DE_C | ||
287 | #define DE_OSX_V DE_V | ||
288 | #define DE_OSX_B DE_B | ||
289 | #define DE_OSX_N DE_N | ||
290 | #define DE_OSX_M DE_M | ||
291 | #define DE_OSX_COMM DE_COMM | ||
292 | #define DE_OSX_DOT DE_DOT | ||
293 | #define DE_OSX_MINS DE_MINS | ||
98 | 294 | ||
99 | // Alt-ed characters | 295 | #define DE_OSX_RING DE_DEG |
100 | //#define DE_OSX_SQ2 LALT(KC_2) // ² | 296 | #define DE_OSX_EXLM DE_EXLM |
101 | //#define DE_OSX_SQ3 LALT(KC_3) // ³ | 297 | #define DE_OSX_DQOT DE_DQUO |
102 | #define DE_OSX_LCBR LALT(KC_8) // { | 298 | #define DE_OSX_PARA DE_SECT |
103 | #define DE_OSX_LBRC LALT(KC_5) // [ | 299 | #define DE_OSX_DLR DE_DLR |
104 | #define DE_OSX_RBRC LALT(KC_6) // ] | 300 | #define DE_OSX_PERC DE_PERC |
105 | #define DE_OSX_RCBR LALT(KC_9) // } | 301 | #define DE_OSX_AMPR DE_AMPR |
106 | #define DE_OSX_BSLS LALT(LSFT(KC_7)) // backslash | 302 | #define DE_OSX_SLSH DE_SLSH |
107 | #define DE_OSX_AT LALT(DE_OSX_L) // @ | 303 | #define DE_OSX_LPRN DE_LPRN |
108 | #define DE_OSX_EURO LALT(KC_E) // € | 304 | #define DE_OSX_RPRN DE_RPRN |
109 | #define DE_OSX_TILD LALT(DE_OSX_N) // ~ | 305 | #define DE_OSX_EQL DE_EQL |
110 | #define DE_OSX_PIPE LALT(DE_OSX_7) // | | 306 | #define DE_OSX_QST DE_QUES |
307 | #define DE_OSX_GRV DE_GRV | ||
308 | #define DE_OSX_ASTR DE_ASTR | ||
309 | #define DE_OSX_QUOT DE_QUOT | ||
310 | #define DE_OSX_MORE DE_RABK | ||
311 | #define DE_OSX_COLN DE_COLN | ||
312 | #define DE_OSX_SCLN DE_SCLN | ||
313 | #define DE_OSX_UNDS DE_UNDS | ||
111 | 314 | ||
112 | #endif | 315 | #define DE_OSX_LBRC DE_LBRC |
316 | #define DE_OSX_RBRC DE_RBRC | ||
317 | #define DE_OSX_PIPE DE_PIPE | ||
318 | #define DE_OSX_LCBR DE_LCBR | ||
319 | #define DE_OSX_RCBR DE_RCBR | ||
320 | #define DE_OSX_AT DE_AT | ||
321 | #define DE_OSX_EURO DE_EURO | ||
322 | #define DE_OSX_TILD DE_TILD | ||
323 | #define DE_OSX_BSLS DE_BSLS | ||
diff --git a/quantum/keymap_extras/sendstring_french.h b/quantum/keymap_extras/sendstring_french.h index a02f114b4..17ea3ed45 100644 --- a/quantum/keymap_extras/sendstring_french.h +++ b/quantum/keymap_extras/sendstring_french.h | |||
@@ -74,7 +74,7 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | |||
74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | 74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, |
75 | 75 | ||
76 | // ! " # $ % & ' | 76 | // ! " # $ % & ' |
77 | KC_SPC, FR_EXLM, FR_QUOT, FR_DQUO, FR_DLR, FR_UGRV, FR_AMP, FR_QUOT, | 77 | KC_SPC, FR_EXLM, FR_QUOT, FR_DQUO, FR_DLR, FR_UGRV, FR_AMPR, FR_QUOT, |
78 | // ( ) * + , - . / | 78 | // ( ) * + , - . / |
79 | FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, | 79 | FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, |
80 | // 0 1 2 3 4 5 6 7 | 80 | // 0 1 2 3 4 5 6 7 |
diff --git a/quantum/keymap_extras/sendstring_french_osx.h b/quantum/keymap_extras/sendstring_french_osx.h new file mode 100644 index 000000000..6cadbac15 --- /dev/null +++ b/quantum/keymap_extras/sendstring_french_osx.h | |||
@@ -0,0 +1,100 @@ | |||
1 | /* Copyright 2020 | ||
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 | |||
17 | // Sendstring lookup tables for macOS French (AZERTY) layouts | ||
18 | |||
19 | #pragma once | ||
20 | |||
21 | #include "keymap_french_osx.h" | ||
22 | #include "quantum.h" | ||
23 | |||
24 | // clang-format off | ||
25 | |||
26 | const uint8_t ascii_to_shift_lut[16] PROGMEM = { | ||
27 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
28 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
29 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
30 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
31 | |||
32 | KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0), | ||
33 | KCLUT_ENTRY(0, 0, 1, 1, 0, 0, 1, 1), | ||
34 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
35 | KCLUT_ENTRY(1, 1, 0, 0, 0, 0, 1, 1), | ||
36 | KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), | ||
37 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
38 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
39 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 0, 1), | ||
40 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
41 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
42 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
43 | KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 0, 0) | ||
44 | }; | ||
45 | |||
46 | const uint8_t ascii_to_altgr_lut[16] PROGMEM = { | ||
47 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
48 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
49 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
50 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
51 | |||
52 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
53 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
54 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
55 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
56 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
57 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
58 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
59 | KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0), | ||
60 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
61 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
62 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
63 | KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) | ||
64 | }; | ||
65 | |||
66 | const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | ||
67 | // NUL SOH STX ETX EOT ENQ ACK BEL | ||
68 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
69 | // BS TAB LF VT FF CR SO SI | ||
70 | KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
71 | // DLE DC1 DC2 DC3 DC4 NAK SYN ETB | ||
72 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
73 | // CAN EM SUB ESC FS GS RS US | ||
74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
75 | |||
76 | // ! " # $ % & ' | ||
77 | KC_SPC, FR_EXLM, FR_DQUO, FR_AT, FR_DLR, FR_LUGR, FR_AMPR, FR_QUOT, | ||
78 | // ( ) * + , - . / | ||
79 | FR_LPRN, FR_RPRN, FR_DLR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, | ||
80 | // 0 1 2 3 4 5 6 7 | ||
81 | FR_LAGR, FR_AMPR, FR_LEAC, FR_DQUO, FR_QUOT, FR_LPRN, FR_SECT, FR_LEGR, | ||
82 | // 8 9 : ; < = > ? | ||
83 | FR_EXLM, FR_LCCE, FR_COLN, FR_SCLN, FR_LABK, FR_EQL, FR_LABK, FR_COMM, | ||
84 | // @ A B C D E F G | ||
85 | FR_AT, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G, | ||
86 | // H I J K L M N O | ||
87 | FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O, | ||
88 | // P Q R S T U V W | ||
89 | FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W, | ||
90 | // X Y Z [ \ ] ^ _ | ||
91 | FR_X, FR_Y, FR_Z, FR_LPRN, FR_COLN, FR_RPRN, FR_CIRC, FR_MINS, | ||
92 | // ` a b c d e f g | ||
93 | FR_GRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G, | ||
94 | // h i j k l m n o | ||
95 | FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O, | ||
96 | // p q r s t u v w | ||
97 | FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W, | ||
98 | // x y z { | } ~ DEL | ||
99 | FR_X, FR_Y, FR_Z, FR_LPRN, FR_L, FR_RPRN, FR_N, KC_DEL | ||
100 | }; | ||
diff --git a/quantum/keymap_extras/sendstring_german_osx.h b/quantum/keymap_extras/sendstring_german_osx.h new file mode 100644 index 000000000..03f54da2a --- /dev/null +++ b/quantum/keymap_extras/sendstring_german_osx.h | |||
@@ -0,0 +1,100 @@ | |||
1 | /* Copyright 2020 | ||
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 | |||
17 | // Sendstring lookup tables for macOS German layouts | ||
18 | |||
19 | #pragma once | ||
20 | |||
21 | #include "keymap_german_osx.h" | ||
22 | #include "quantum.h" | ||
23 | |||
24 | // clang-format off | ||
25 | |||
26 | const uint8_t ascii_to_shift_lut[16] PROGMEM = { | ||
27 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
28 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
29 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
30 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
31 | |||
32 | KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 1), | ||
33 | KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), | ||
34 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
35 | KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), | ||
36 | KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), | ||
37 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
38 | KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), | ||
39 | KCLUT_ENTRY(1, 1, 1, 0, 1, 0, 0, 1), | ||
40 | KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), | ||
41 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
42 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
43 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) | ||
44 | }; | ||
45 | |||
46 | const uint8_t ascii_to_altgr_lut[16] PROGMEM = { | ||
47 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
48 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
49 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
50 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
51 | |||
52 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
53 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
54 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
55 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
56 | KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), | ||
57 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
58 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
59 | KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0), | ||
60 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
61 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
62 | KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), | ||
63 | KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) | ||
64 | }; | ||
65 | |||
66 | const uint8_t ascii_to_keycode_lut[128] PROGMEM = { | ||
67 | // NUL SOH STX ETX EOT ENQ ACK BEL | ||
68 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
69 | // BS TAB LF VT FF CR SO SI | ||
70 | KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
71 | // DLE DC1 DC2 DC3 DC4 NAK SYN ETB | ||
72 | XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
73 | // CAN EM SUB ESC FS GS RS US | ||
74 | XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, | ||
75 | |||
76 | // ! " # $ % & ' | ||
77 | KC_SPC, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH, | ||
78 | // ( ) * + , - . / | ||
79 | DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7, | ||
80 | // 0 1 2 3 4 5 6 7 | ||
81 | DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, | ||
82 | // 8 9 : ; < = > ? | ||
83 | DE_8, DE_9, DE_DOT, DE_COMM, DE_LABK, DE_0, DE_LABK, DE_SS, | ||
84 | // @ A B C D E F G | ||
85 | DE_L, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, | ||
86 | // H I J K L M N O | ||
87 | DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, | ||
88 | // P Q R S T U V W | ||
89 | DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, | ||
90 | // X Y Z [ \ ] ^ _ | ||
91 | DE_X, DE_Y, DE_Z, DE_5, DE_7, DE_6, DE_CIRC, DE_MINS, | ||
92 | // ` a b c d e f g | ||
93 | DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, | ||
94 | // h i j k l m n o | ||
95 | DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, | ||
96 | // p q r s t u v w | ||
97 | DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, | ||
98 | // x y z { | } ~ DEL | ||
99 | DE_X, DE_Y, DE_Z, DE_8, DE_7, DE_9, DE_N, KC_DEL | ||
100 | }; | ||