summaryrefslogtreecommitdiff
path: root/quantum/keymap_extras/keymap_contributions.h
blob: 2e505eb74da296845c4f79de20a8b0da658af03f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
/* If you’d like to contribute a locale, we've created a google sheet:
 * https://docs.google.com/spreadsheets/d/1gSB063BTHLTNLSGalzkhqz82RdBRVQytXKlabhX5Zcg/edit?usp=sharing
 * Get in touch with us over email <contact@zsa.io> and we can help you get started!
 */

//Polish programmer, contributed by Krzysztof Bogacz.
#define PL_01 ALGR(KC_Z) // ż
#define PL_02 ALGR(KC_X) // ź
#define PL_03 ALGR(KC_S) // ś
#define PL_04 ALGR(KC_O) // ó
#define PL_05 ALGR(KC_N) // ń
#define PL_06 ALGR(KC_L) // ł
#define PL_07 ALGR(KC_E) // ę
#define PL_08 ALGR(KC_C) // ć
#define PL_09 ALGR(KC_A) // ą

//Kazakh, contributed by Zhanibek Adilbekov
#define KK_01 KC_SLASH    // №
#define KK_02 KC_DOT      // ю
#define KK_03 KC_COMMA    // б
#define KK_04 KC_M        // ь
#define KK_05 KC_N        // т
#define KK_06 KC_B        // и
#define KK_07 KC_V        // м
#define KK_08 KC_X        // ч
#define KK_09 KC_Z        // я
#define KK_10 KC_QUOTE    // э
#define KK_11 KC_SCOLON   // ж
#define KK_12 KC_L        // д
#define KK_13 KC_K        // л
#define KK_14 KC_J        // о
#define KK_15 KC_H        // р
#define KK_16 KC_G        // п
#define KK_17 KC_F        // а
#define KK_18 KC_D        // в
#define KK_19 KC_S        // ы
#define KK_20 KC_A        // ф
#define KK_21 KC_RBRACKET // ъ
#define KK_22 KC_LBRACKET // х
#define KK_23 KC_P        // з
#define KK_24 KC_O        // щ
#define KK_25 KC_I        // ш
#define KK_26 KC_U        // г
#define KK_27 KC_Y        // н
#define KK_28 KC_T        // е
#define KK_29 KC_R        // к
#define KK_30 KC_E        // у
#define KK_31 KC_W        // ц
#define KK_32 KC_Q        // й
#define KK_33 KC_EQUAL    // һ
#define KK_34 KC_MINUS    // ө
#define KK_35 KC_0        // қ
#define KK_36 KC_9        // ұ
#define KK_37 KC_8        // ү
#define KK_38 KC_7        // .
#define KK_39 KC_6        // ,
#define KK_40 KC_5        // ғ
#define KK_41 KC_4        // ң
#define KK_42 KC_3        // і
#define KK_43 KC_2        // ә
#define KK_44 KC_1        // "

//Portuguese OSX, contributed by André Cruz (@edevil)
#define PT_OSX_SECT KC_GRV  // §
#define PT_OSX_QUOT KC_MINS // '
#define PT_OSX_PLUS KC_EQL  // +
#define PT_OSX_MORD KC_LBRC // º
#define PT_OSX_ACUT KC_RBRC // ´ (dead)
#define PT_OSX_CCED KC_SCLN // Ç
#define PT_OSX_TILD KC_QUOT // ~ (dead)
#define PT_OSX_BSLS KC_NUHS // (backslash)
#define PT_OSX_LABK KC_NUBS // <
#define PT_OSX_MINS KC_SLSH // -
#define PT_OSX_PLMN S(PT_OSX_SECT) // ±
#define PT_OSX_EXLM S(KC_1)    // !
#define PT_OSX_DQUO S(KC_2)    // "
#define PT_OSX_HASH S(KC_3)    // #
#define PT_OSX_DLR  S(KC_4)    // $
#define PT_OSX_PERC S(KC_5)    // %
#define PT_OSX_AMPR S(KC_6)    // &
#define PT_OSX_SLSH S(KC_7)    // /
#define PT_OSX_LPRN S(KC_8)    // (
#define PT_OSX_RPRN S(KC_9)    // )
#define PT_OSX_EQL  S(KC_0)    // =
#define PT_OSX_QUES S(PT_OSX_QUOT) // ?
#define PT_OSX_ASTR S(PT_OSX_PLUS) // *
#define PT_OSX_FORD S(PT_OSX_MORD) // ª
#define PT_OSX_GRV  S(PT_OSX_ACUT) // ` (dead)
#define PT_OSX_CIRC S(PT_OSX_TILD) // ^ (dead)
#define PT_OSX_PIPE S(PT_OSX_BSLS) // |
#define PT_OSX_RABK S(PT_OSX_LABK) // >
#define PT_OSX_SCLN S(KC_COMM) // ;
#define PT_OSX_COLN S(KC_DOT)  // :
#define PT_OSX_UNDS S(PT_OSX_MINS) // _
#define PT_OSX_APPL A(KC_1)    //  (Apple logo)
#define PT_OSX_AT   A(KC_2)    // @
#define PT_OSX_EURO A(KC_3)    // €
#define PT_OSX_PND  A(KC_4)    // £
#define PT_OSX_PERM A(KC_5)    // ‰
#define PT_OSX_PILC A(KC_6)    // ¶
#define PT_OSX_DIV  A(KC_7)    // ÷
#define PT_OSX_LBRC A(KC_8)    // [
#define PT_OSX_RBRC A(KC_9)    // ]
#define PT_OSX_NEQL A(KC_0)    // ≠
#define PT_OSX_OE   A(KC_Q)    // Œ
#define PT_OSX_NARS A(KC_W)    // ∑
#define PT_OSX_AE   A(KC_E)    // Æ
#define PT_OSX_REGD A(KC_R)    // ®
#define PT_OSX_TM   A(KC_T)    // ™
#define PT_OSX_YEN  A(KC_Y)    // ¥
#define PT_OSX_DAGG A(KC_U)    // †
#define PT_OSX_DLSI A(KC_I)    // ı
#define PT_OSX_OSTR A(KC_O)    // Ø
#define PT_OSX_PI   A(KC_P)    // π
#define PT_OSX_DEG  A(PT_OSX_MORD) // °
#define PT_OSX_DIAE A(PT_OSX_ACUT) // ¨ (dead)
#define PT_OSX_ARNG A(KC_A)    // å
#define PT_OSX_SS   A(KC_S)    // ß
#define PT_OSX_PDIF A(KC_D)    // ∂
#define PT_OSX_FHK  A(KC_F)    // ƒ
#define PT_OSX_DOTA A(KC_G)    // ˙
#define PT_OSX_CARN A(KC_H)    // ˇ
#define PT_OSX_MACR A(KC_J)    // ¯
#define PT_OSX_DLQU A(KC_K)    // „
#define PT_OSX_LSQU A(KC_L)    // ‘
#define PT_OSX_CEDL A(PT_OSX_CCED) // ¸
#define PT_OSX_STIL A(PT_OSX_TILD) // ˜ (dead)
#define PT_OSX_LSAQ A(PT_OSX_BSLS) // ‹
#define PT_OSX_LTEQ A(PT_OSX_LABK) // ≤
#define PT_OSX_OMEG A(KC_Z)    // Ω
#define PT_OSX_LDAQ A(KC_X)    // «
#define PT_OSX_COPY A(KC_C)    // ©
#define PT_OSX_SQRT A(KC_V)    // √
#define PT_OSX_INTG A(KC_B)    // ∫
#define PT_OSX_NOT  A(KC_N)    // ¬
#define PT_OSX_MICR A(KC_M)    // µ
#define PT_OSX_LDQU A(KC_COMM) // “
#define PT_OSX_ELLP A(KC_DOT)  // …
#define PT_OSX_MDSH A(PT_OSX_MINS) // —
#define PT_OSX_IEXL S(A(KC_1))    // ¡
#define PT_OSX_FI   S(A(KC_2))    // fi
#define PT_OSX_FL   S(A(KC_3))    // fl
#define PT_OSX_CENT S(A(KC_4))    // ¢
#define PT_OSX_INFN S(A(KC_5))    // ∞
#define PT_OSX_BULT S(A(KC_6))    // •
#define PT_OSX_FRSL S(A(KC_7))    // ⁄
#define PT_OSX_LCBR S(A(KC_8))    // {
#define PT_OSX_RCBR S(A(KC_9))    // }
#define PT_OSX_AEQL S(A(KC_0))    // ≈
#define PT_OSX_IQUE S(A(PT_OSX_QUOT)) // ¿
#define PT_OSX_LOZN S(A(PT_OSX_PLUS)) // ◊
#define PT_OSX_DDAG S(A(KC_U))    // ‡
#define PT_OSX_RNGA S(A(KC_I))    // ˚
#define PT_OSX_NARP S(A(KC_P))    // ∏
#define PT_OSX_DACU S(A(PT_OSX_ACUT)) // ˝
#define PT_OSX_INCR S(A(KC_D))    // ∆
#define PT_OSX_SLQU S(A(KC_K))    // ‚
#define PT_OSX_RSQU S(A(KC_L))    // ’
#define PT_OSX_OGON S(A(PT_OSX_CCED)) // ˛
#define PT_OSX_DCIR S(A(PT_OSX_TILD)) // ˆ (dead)
#define PT_OSX_RSAQ S(A(PT_OSX_BSLS)) // ›
#define PT_OSX_GTEQ S(A(PT_OSX_LABK)) // ≥
#define PT_OSX_RDAQ S(A(KC_X))    // »
#define PT_OSX_RDQU S(A(KC_COMM)) // ”
#define PT_OSX_MDDT S(A(KC_DOT))  // ·
#define PT_OSX_NDSH S(A(PT_OSX_MINS)) // –

// Swiss French aliases to avoid collisions with Swiss german ones
#define FRCH_Y KC_Z
#define FRCH_Z KC_Y
#define FRCH_SECT KC_GRV
#define FRCH_QUOT KC_MINS
#define FRCH_CIRC KC_EQL
#define FRCH_EGRV KC_LBRC
#define FRCH_DIAE KC_RBRC
#define FRCH_EACU KC_SCLN
#define FRCH_AGRV KC_QUOT
#define FRCH_DLR KC_NUHS
#define FRCH_LABK KC_NUBS
#define FRCH_MINS KC_SLSH
#define FRCH_DEG S(FRCH_SECT)
#define FRCH_PLUS S(KC_1)
#define FRCH_DQUO S(KC_2)
#define FRCH_ASTR S(KC_3)
#define FRCH_CCED S(KC_4)
#define FRCH_PERC S(KC_5)
#define FRCH_AMPR S(KC_6)
#define FRCH_SLSH S(KC_7)
#define FRCH_LPRN S(KC_8)
#define FRCH_RPRN S(KC_9)
#define FRCH_EQL S(KC_0)
#define FRCH_QUES S(FRCH_QUOT)
#define FRCH_GRV S(FRCH_CIRC)
#define FRCH_UDIA S(FRCH_EGRV)
#define FRCH_EXLM S(FRCH_DIAE)
#define FRCH_ODIA S(FRCH_EACU)
#define FRCH_ADIA S(FRCH_AGRV)
#define FRCH_PND S(FRCH_DLR)
#define FRCH_RABK S(FRCH_LABK)
#define FRCH_SCLN S(KC_COMM)
#define FRCH_COLN S(KC_DOT)
#define FRCH_UNDS S(KC_MINS)
#define FRCH_BRKP ALGR(CH_1)
#define FRCH_AT ALGR(KC_2)
#define FRCH_HASH ALGR(KC_3)
#define FRCH_NOT ALGR(KC_6)
#define FRCH_PIPE ALGR(KC_7)
#define FRCH_CENT ALGR(KC_8)
#define FRCH_ACUT ALGR(FRCH_QUOT)
#define FRCH_TILD ALGR(FRCH_CIRC)
#define FRCH_EURO ALGR(KC_E)
#define FRCH_LBRC ALGR(FRCH_EGRV)
#define FRCH_RBRC ALGR(FRCH_DIAE)
#define FRCH_LCBR ALGR(FRCH_AGRV)
#define FRCH_RCBR ALGR(FRCH_DLR)
#define FRCH_BSLS ALGR(FRCH_LABK)

// Ukrainian
#define UA_01 S(A(KC_EQUAL))
#define UA_02 A(KC_EQUAL)
#define UA_03 S(KC_7)
#define UA_04 S(KC_6)
#define UA_05 S(KC_4)
#define UA_06 S(KC_3)
#define UA_07 S(KC_2)
#define UA_08 A(S(KC_GRAVE))
#define UA_09 A(KC_GRAVE)
#define UA_10 KC_GRAVE
#define UA_11 KC_SLASH
#define UA_12 KC_DOT
#define UA_13 KC_COMMA
#define UA_14 KC_M
#define UA_15 KC_N
#define UA_16 KC_B
#define UA_17 KC_V
#define UA_18 KC_C
#define UA_19 KC_X
#define UA_20 KC_Z
#define UA_21 KC_QUOTE
#define UA_22 KC_SCOLON
#define UA_23 KC_J
#define UA_24 KC_K
#define UA_25 KC_J
#define UA_26 KC_H
#define UA_27 KC_G
#define UA_28 KC_F
#define UA_29 KC_D
#define UA_30 KC_S
#define UA_31 KC_A
#define UA_32 KC_RBRACKET
#define UA_33 KC_LBRACKET
#define UA_34 KC_P
#define UA_35 KC_O
#define UA_36 KC_I
#define UA_37 A(KC_U)
#define UA_38 KC_U
#define UA_39 KC_Y
#define UA_40 KC_T
#define UA_41 KC_R
#define UA_42 KC_E
#define UA_43 KC_W
#define UA_44 KC_W

// French Canadian
#define FRCA_01 ALGR(KC_COMMA)
#define FRCA_02 ALGR(KC_M)
#define FRCA_03 ALGR(KC_RBRACKET)
#define FRCA_04 ALGR(KC_LBRACKET)
#define FRCA_05 ALGR(KC_QUOTE)
#define FRCA_06 ALGR(KC_BSLASH)
#define FRCA_07 KC_GRAVE
#define FRCA_08 A(KC_GRAVE)
#define FRCA_09 S(KC_GRAVE)
#define FRCA_10 S(KC_BSLASH)
#define FRCA_11 KC_BSLASH
#define FRCA_12 KC_RBRACKET
#define FRCA_13 KC_QUOTE
#define FRCA_14 S(KC_RBRACKET)
#define FRCA_15 KC_LBRACKET
#define FRCA_16 KC_SLASH
#define FRCA_17 ALGR(KC_SCOLON)
#define FRCA_18 ALGR(KC_P)
#define FRCA_19 ALGR(KC_O)
#define FRCA_20 ALGR(KC_MINUS)
#define FRCA_21 ALGR(KC_0)
#define FRCA_22 ALGR(KC_9)
#define FRCA_23 ALGR(KC_8)
#define FRCA_24 ALGR(KC_7)
#define FRCA_25 ALGR(KC_6)
#define FRCA_26 ALGR(KC_5)
#define FRCA_27 ALGR(KC_4)
#define FRCA_28 ALGR(KC_3)
#define FRCA_29 ALGR(KC_2)
#define FRCA_30 ALGR(KC_1)
#define FRCA_31 S(KC_6)
#define FRCA_32 S(KC_3)
#define FRCA_33 S(KC_2)

// Icelandic
#define IS_01 S(KC_DOT) //:
#define IS_02 S(KC_COMMA) //;
#define IS_03 ALGR(KC_NONUS_BSLASH) //|
#define IS_04 S(KC_NONUS_BSLASH) //>
#define IS_05 KC_NONUS_BSLASH //<
#define IS_06 S(KC_BSLASH)// *
#define IS_07 S(KC_QUOTE) //´
#define IS_08 S(KC_RBRACKET) //?
#define IS_09 S(KC_EQUAL) //_
#define IS_10 S(KC_GRAVE) //¨
#define IS_11 S(KC_0) //=
#define IS_12 S(KC_8) //(
#define IS_13 S(KC_7) //°
#define IS_14 S(KC_6) //&
#define IS_15 KC_BSLASH //+
#define IS_16 KC_QUOTE //´
#define IS_17 KC_RBRACKET //'
#define IS_18 KC_EQUAL //-
#define IS_19 KC_GRAVE //°
#define IS_20 KC_MINUS //ö
#define IS_21 KC_SCOLON //æ
#define IS_22 KC_LBRACKET //ð
#define IS_23 S(KC_9) //)
#define IS_24 S(KC_2) //"
#define IS_25 S(KC_MINUS) //Ö
#define IS_26 S(KC_SLASH) //Þ
#define IS_27 S(KC_SCOLON) //Æ
#define IS_28 S(KC_LBRACKET) //Ð

// Spanish LATAM
#define ES_LA_01 ALGR(KC_MINUS)
#define ES_LA_02 ALGR(KC_GRAVE) //¬
#define ES_LA_03 ALGR(KC_Q) //@
#define ES_LA_04 ALGR(KC_BSLASH) //`
#define ES_LA_05 ALGR(KC_QUOTE) //^
#define ES_LA_06 ALGR(KC_RBRACKET) //~
#define ES_LA_07 S(KC_SCOLON) //Ñ
#define ES_LA_08 KC_SCOLON //ñ
#define ES_LA_09 S(KC_SLASH) //_
#define ES_LA_10 KC_SLASH //-
#define ES_LA_11 S(KC_DOT) //:
#define ES_LA_12 KC_DOT //.
#define ES_LA_13 S(KC_COMMA) //;
#define ES_LA_14 KC_COMMA //,
#define ES_LA_15 S(KC_NONUS_BSLASH) //>
#define ES_LA_16 KC_NONUS_BSLASH //<
#define ES_LA_17 S(KC_BSLASH) //]
#define ES_LA_18 KC_BSLASH //}
#define ES_LA_19 S(KC_QUOTE) //[
#define ES_LA_20 KC_QUOTE //{
#define ES_LA_21 S(KC_RBRACKET) //*
#define ES_LA_22 KC_RBRACKET //+
#define ES_LA_23 S(KC_LBRACKET) //¨
#define ES_LA_24 KC_LBRACKET //´
#define ES_LA_25 S(KC_EQUAL) //¡
#define ES_LA_26 KC_EQUAL //¿
#define ES_LA_27 S(KC_MINUS) //?
#define ES_LA_28 KC_MINUS //'
#define ES_LA_29 S(KC_0) //=
#define ES_LA_30 S(KC_9) //(
#define ES_LA_31 S(KC_8) //(
#define ES_LA_32 S(KC_7) ///
#define ES_LA_33 S(KC_6) //&
#define ES_LA_34 S(KC_5) //%
#define ES_LA_35 S(KC_4) //$
#define ES_LA_36 S(KC_3) //#
#define ES_LA_37 S(KC_2) //"
#define ES_LA_38 S(KC_1) //!
#define ES_LA_39 S(KC_GRAVE) //°
#define ES_LA_40 KC_GRAVE //|

// Extra CMS codes
#define CSA_MOMEG RCTL(RSFT(KC_Q)) //Ω