summaryrefslogtreecommitdiff
path: root/quantum/keymap_extras/keymap_contributions.h
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/keymap_extras/keymap_contributions.h')
-rw-r--r--quantum/keymap_extras/keymap_contributions.h375
1 files changed, 375 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_contributions.h b/quantum/keymap_extras/keymap_contributions.h
new file mode 100644
index 0000000000..5fff00b0bc
--- /dev/null
+++ b/quantum/keymap_extras/keymap_contributions.h
@@ -0,0 +1,375 @@
+/* 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_L
+#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 KC_GRAVE
+#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_Q
+#define UA_45 S(KC_SLASH)
+
+// 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 //|
+#define ES_LA_41 ALGR(KC_COMMA) //< for macOS
+#define ES_LA_42 ALGR(KC_DOT) //> for macOS
+
+// Extra CMS codes
+#define CSA_MOMEG RCTL(RSFT(KC_Q)) //Ω