diff options
Diffstat (limited to 'quantum')
28 files changed, 2936 insertions, 822 deletions
diff --git a/quantum/keymap_extras/keymap_belgian.h b/quantum/keymap_extras/keymap_belgian.h index a6912afef..c6363a437 100644 --- a/quantum/keymap_extras/keymap_belgian.h +++ b/quantum/keymap_extras/keymap_belgian.h @@ -111,7 +111,7 @@ #define BE_8 S(BE_EXLM) // 8 #define BE_9 S(BE_CCED) // 9 #define BE_0 S(BE_AGRV) // 0 -#define BE_RNGA S(BE_RPRN) // ° +#define BE_DEG S(BE_RPRN) // ° #define BE_UNDS S(BE_MINS) // _ // Row 2 #define BE_DIAE S(BE_DCIR) // ¨ (dead) @@ -163,7 +163,7 @@ #define BE_PARA BE_SECT #define BE_MU BE_MICR #define BE_LESS BE_LABK -#define BE_OVRR BE_RNGA +#define BE_OVRR BE_DEG #define BE_UMLT BE_DIAE #define BE_GRTR BE_RABK #define BE_LSBR BE_LBRC diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h index 718baaa68..ea04aed3c 100644 --- a/quantum/keymap_extras/keymap_bepo.h +++ b/quantum/keymap_extras/keymap_bepo.h @@ -1,4 +1,4 @@ -/* Copyright 2016 Didier Loiseau +/* Copyright 2020 * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -13,305 +13,393 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -/* Keymap macros for the French BÉPO layout - http://bepo.fr */ -#ifndef KEYMAP_BEPO_H -#define KEYMAP_BEPO_H -#include "keymap.h" - -// Normal characters -// First row (on usual keyboards) -#define BP_DOLLAR KC_GRAVE // $ -#define BP_DLR BP_DOLLAR -#define BP_DOUBLE_QUOTE KC_1 // " -#define BP_DQOT BP_DOUBLE_QUOTE -#define BP_LEFT_GUILLEMET KC_2 // « -#define BP_LGIL BP_LEFT_GUILLEMET -#define BP_RIGHT_GUILLEMET KC_3 // » -#define BP_RGIL BP_RIGHT_GUILLEMET -#define BP_LEFT_PAREN KC_4 // ( -#define BP_LPRN BP_LEFT_PAREN -#define BP_RIGHT_PAREN KC_5 // ) -#define BP_RPRN BP_RIGHT_PAREN -#define BP_AT KC_6 // @ -#define BP_PLUS KC_7 // + -#define BP_MINUS KC_8 // - -#define BP_MINS BP_MINUS -#define BP_SLASH KC_9 // / -#define BP_SLSH BP_SLASH -#define BP_ASTERISK KC_0 // * -#define BP_ASTR BP_ASTERISK -#define BP_EQUAL KC_MINUS // = -#define BP_EQL BP_EQUAL -#define BP_PERCENT KC_EQUAL // % -#define BP_PERC BP_PERCENT - -// Second row -#define BP_B KC_Q -#define BP_E_ACUTE KC_W // é -#define BP_ECUT BP_E_ACUTE -#define BP_P KC_E -#define BP_O KC_R -#define BP_E_GRAVE KC_T // è -#define BP_EGRV BP_E_GRAVE -#define BP_DEAD_CIRCUMFLEX KC_Y // dead ^ -#define BP_DCRC BP_DEAD_CIRCUMFLEX -#define BP_V KC_U -#define BP_D KC_I -#define BP_L KC_O -#define BP_J KC_P -#define BP_Z KC_LBRACKET -#define BP_W KC_RBRACKET - -// Third row -#define BP_A KC_A -#define BP_U KC_S -#define BP_I KC_D -#define BP_E KC_F -#define BP_COMMA KC_G // , -#define BP_COMM BP_COMMA -#define BP_C KC_H -#define BP_T KC_J -#define BP_S KC_K -#define BP_R KC_L -#define BP_N KC_SCOLON -#define BP_M KC_QUOTE -#define BP_C_CEDILLA KC_BSLASH // ç -#define BP_CCED BP_C_CEDILLA - -// Fourth row -#define BP_E_CIRCUMFLEX KC_NONUS_BSLASH // ê -#define BP_ECRC BP_E_CIRCUMFLEX -#define BP_A_GRAVE KC_Z // à -#define BP_AGRV BP_A_GRAVE -#define BP_Y KC_X -#define BP_X KC_C -#define BP_DOT KC_V // . -#define BP_K KC_B -#define BP_APOSTROPHE KC_N -#define BP_APOS BP_APOSTROPHE // ' -#define BP_Q KC_M -#define BP_G KC_COMMA -#define BP_H KC_DOT -#define BP_F KC_SLASH - -// Shifted characters -// First row -#define BP_HASH LSFT(BP_DOLLAR) // # -#define BP_1 LSFT(KC_1) -#define BP_2 LSFT(KC_2) -#define BP_3 LSFT(KC_3) -#define BP_4 LSFT(KC_4) -#define BP_5 LSFT(KC_5) -#define BP_6 LSFT(KC_6) -#define BP_7 LSFT(KC_7) -#define BP_8 LSFT(KC_8) -#define BP_9 LSFT(KC_9) -#define BP_0 LSFT(KC_0) -#define BP_DEGREE LSFT(BP_EQUAL) // ° -#define BP_DEGR BP_DEGREE -#define BP_GRAVE LSFT(BP_PERCENT) // ` -#define BP_GRV BP_GRAVE - -// Second row -#define BP_EXCLAIM LSFT(BP_DEAD_CIRCUMFLEX) // ! -#define BP_EXLM BP_EXCLAIM - -// Third row -#define BP_SCOLON LSFT(BP_COMMA) // ; -#define BP_SCLN BP_SCOLON - -// Fourth row -#define BP_COLON LSFT(BP_DOT) // : -#define BP_COLN BP_COLON -#define BP_QUESTION LSFT(BP_APOS) // ? -#define BP_QEST BP_QUESTION - -// Space bar -#define BP_NON_BREAKING_SPACE LSFT(KC_SPACE) -#define BP_NBSP BP_NON_BREAKING_SPACE +#pragma once -// AltGr-ed characters -// First row -#define BP_EN_DASH ALGR(BP_DOLLAR) // – -#define BP_NDSH BP_EN_DASH -#define BP_EM_DASH ALGR(KC_1) // — -#define BP_MDSH BP_EM_DASH -#define BP_LESS ALGR(KC_2) // < -#define BP_GREATER ALGR(KC_3) // > -#define BP_GRTR BP_GREATER -#define BP_LBRACKET ALGR(KC_4) // [ -#define BP_LBRC BP_LBRACKET -#define BP_RBRACKET ALGR(KC_5) // ] -#define BP_RBRC BP_RBRACKET -#define BP_CIRCUMFLEX ALGR(KC_6) // ^ -#define BP_CIRC BP_CIRCUMFLEX -#define BP_PLUS_MINUS ALGR(KC_7) // ± -#define BP_PSMS BP_PLUS_MINUS -#define BP_MATH_MINUS ALGR(KC_8) // − -#define BP_MMNS BP_MATH_MINUS -#define BP_OBELUS ALGR(KC_9) // ÷ -#define BP_OBEL BP_OBELUS -// more conventional name of the symbol -#define BP_DIVISION_SIGN BP_OBELUS -#define BP_DVSN BP_DIVISION_SIGN -#define BP_TIMES ALGR(KC_0) // × -#define BP_TIMS BP_TIMES -#define BP_DIFFERENT ALGR(BP_EQUAL) // ≠ -#define BP_DIFF BP_DIFFERENT -#define BP_PERMILLE ALGR(BP_PERCENT) // ‰ -#define BP_PMIL BP_PERMILLE - -// Second row -#define BP_PIPE ALGR(BP_B) // | -#define BP_DEAD_ACUTE ALGR(BP_E_ACUTE) // dead ´ -#define BP_DACT BP_DEAD_ACUTE -#define BP_AMPERSAND ALGR(BP_P) // & -#define BP_AMPR BP_AMPERSAND -#define BP_OE_LIGATURE ALGR(BP_O) // œ -#define BP_OE BP_OE_LIGATURE -#define BP_DEAD_GRAVE ALGR(BP_E_GRAVE) // ` -#define BP_DGRV BP_DEAD_GRAVE -#define BP_INVERTED_EXCLAIM ALGR(BP_DEAD_CIRCUMFLEX) // ¡ -#define BP_IXLM BP_INVERTED_EXCLAIM -#define BP_DEAD_CARON ALGR(BP_V) // dead ˇ -#define BP_DCAR BP_DEAD_CARON -#define BP_ETH ALGR(BP_D) // ð -#define BP_DEAD_SLASH ALGR(BP_L) // dead / -#define BP_DSLH BP_DEAD_SLASH -#define BP_IJ_LIGATURE ALGR(BP_J) // ij -#define BP_IJ BP_IJ_LIGATURE -#define BP_SCHWA ALGR(BP_Z) // ə -#define BP_SCWA BP_SCHWA -#define BP_DEAD_BREVE ALGR(BP_W) // dead ˘ -#define BP_DBRV BP_DEAD_BREVE - -// Third row -#define BP_AE_LIGATURE ALGR(BP_A) // æ -#define BP_AE BP_AE_LIGATURE -#define BP_U_GRAVE ALGR(BP_U) // ù -#define BP_UGRV BP_U_GRAVE -#define BP_DEAD_TREMA ALGR(BP_I) // dead ¨ (trema/umlaut/diaresis) -#define BP_DTRM BP_DEAD_TREMA -#define BP_EURO ALGR(BP_E) // € -#define BP_TYPOGRAPHICAL_APOSTROPHE ALGR(BP_COMMA) // ’ -#define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE -#define BP_COPYRIGHT ALGR(BP_C) // © -#define BP_CPRT BP_COPYRIGHT -#define BP_THORN ALGR(BP_T) // þ -#define BP_THRN BP_THORN -#define BP_SHARP_S ALGR(BP_S) // ß -#define BP_SRPS BP_SHARP_S -#define BP_REGISTERED_TRADEMARK ALGR(BP_R) // ® -#define BP_RTM BP_REGISTERED_TRADEMARK -#define BP_DEAD_TILDE ALGR(BP_N) // dead ~ -#define BP_DTLD BP_DEAD_TILDE -#define BP_DEAD_MACRON ALGR(BP_M) // dead ¯ -#define BP_DMCR BP_DEAD_MACRON -#define BP_DEAD_CEDILLA ALGR(BP_C_CEDILLA) // dead ¸ -#define BP_DCED BP_DEAD_CEDILLA - -// Fourth row -#define BP_NONUS_SLASH ALGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo) -#define BP_NUSL BP_NONUS_SLASH -#define BP_BACKSLASH ALGR(BP_A_GRAVE) /* \ */ -#define BP_BSLS BP_BACKSLASH -#define BP_LEFT_CURLY_BRACE ALGR(BP_Y) // { -#define BP_LCBR BP_LEFT_CURLY_BRACE -#define BP_RIGHT_CURLY_BRACE ALGR(BP_X) // } -#define BP_RCBR BP_RIGHT_CURLY_BRACE -#define BP_ELLIPSIS ALGR(BP_DOT) // … -#define BP_ELPS BP_ELLIPSIS -#define BP_TILDE ALGR(BP_K) // ~ -#define BP_TILD BP_TILDE -#define BP_INVERTED_QUESTION ALGR(BP_QUESTION) // ¿ -#define BP_IQST BP_INVERTED_QUESTION -#define BP_DEAD_RING ALGR(BP_Q) // dead ° -#define BP_DRNG BP_DEAD_RING -#define BP_DEAD_GREEK ALGR(BP_G) // dead Greek key (following key will make a Greek letter) -#define BP_DGRK BP_DEAD_GREEK -#define BP_DAGGER ALGR(BP_H) // † -#define BP_DAGR BP_DAGGER -#define BP_DEAD_OGONEK ALGR(BP_F) // dead ˛ -#define BP_DOGO BP_DEAD_OGONEK - -// Space bar -#define BP_UNDERSCORE ALGR(KC_SPACE) // _ -#define BP_UNDS BP_UNDERSCORE +#include "keymap.h" -// AltGr-Shifted characters (different from capitalised AltGr-ed characters) -// First row -#define BP_PARAGRAPH ALGR(BP_HASH) // ¶ -#define BP_PARG BP_PARAGRAPH -#define BP_LOW_DOUBLE_QUOTE ALGR(BP_1) // „ -#define BP_LWQT BP_LOW_DOUBLE_QUOTE -#define BP_LEFT_DOUBLE_QUOTE ALGR(BP_2) // “ -#define BP_LDQT BP_LEFT_DOUBLE_QUOTE -#define BP_RIGHT_DOUBLE_QUOTE ALGR(BP_3) // ” -#define BP_RDQT BP_RIGHT_DOUBLE_QUOTE -#define BP_LESS_OR_EQUAL ALGR(BP_4) // ≤ -#define BP_LEQL BP_LESS_OR_EQUAL -#define BP_GREATER_OR_EQUAL ALGR(BP_5) // ≥ -#define BP_GEQL BP_GREATER_OR_EQUAL -// nothing on ALGR(BP_6) -#define BP_NEGATION ALGR(BP_7) // ¬ -#define BP_NEGT BP_NEGATION -#define BP_ONE_QUARTER ALGR(BP_8) // ¼ -#define BP_1QRT BP_ONE_QUARTER -#define BP_ONE_HALF ALGR(BP_9) // ½ -#define BP_1HLF BP_ONE_HALF -#define BP_THREE_QUARTERS ALGR(BP_0) // ¾ -#define BP_3QRT BP_THREE_QUARTERS -#define BP_MINUTES ALGR(BP_DEGREE) // ′ -#define BP_MNUT BP_MINUTES -#define BP_SECONDS ALGR(BP_GRAVE) // ″ -#define BP_SCND BP_SECONDS +// clang-format off -// Second row -#define BP_BROKEN_PIPE LSFT(BP_PIPE) // ¦ -#define BP_BPIP BP_BROKEN_PIPE -#define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝ -#define BP_DDCT BP_DEAD_DOUBLE_ACUTE -#define BP_SECTION ALGR(LSFT(BP_P)) // § -#define BP_SECT BP_SECTION -// LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT) -#define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // ` -#define BP_GRVB BP_GRAVE_BIS +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ $ │ " │ « │ » │ ( │ ) │ @ │ + │ - │ / │ * │ = │ % │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ B │ É │ P │ O │ È │ ^ │ V │ D │ L │ J │ Z │ W │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ U │ I │ E │ , │ C │ T │ S │ R │ N │ M │ Ç │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ Ê │ À │ Y │ X │ . │ K │ ' │ Q │ G │ H │ F │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define BP_DLR KC_GRV // $ +#define BP_DQUO KC_1 // " +#define BP_LDAQ KC_2 // « +#define BP_RDAQ KC_3 // » +#define BP_LPRN KC_4 // ( +#define BP_RPRN KC_5 // ) +#define BP_AT KC_6 // @ +#define BP_PLUS KC_7 // + +#define BP_MINS KC_8 // - +#define BP_SLSH KC_9 // / +#define BP_ASTR KC_0 // * +#define BP_EQL KC_MINS // = +#define BP_PERC KC_EQL // % +// Row 2 +#define BP_B KC_Q // B +#define BP_EACU KC_W // É +#define BP_P KC_E // P +#define BP_O KC_R // O +#define BP_EGRV KC_T // È +#define BP_DCIR KC_Y // ^ (dead) +#define BP_V KC_U // V +#define BP_D KC_I // D +#define BP_L KC_O // L +#define BP_J KC_P // J +#define BP_Z KC_LBRC // Z +#define BP_W KC_RBRC // W +// Row 3 +#define BP_A KC_A // A +#define BP_U KC_S // U +#define BP_I KC_D // I +#define BP_E KC_F // E +#define BP_COMM KC_G // , +#define BP_C KC_H // C +#define BP_T KC_J // T +#define BP_S KC_K // S +#define BP_R KC_L // R +#define BP_N KC_SCLN // N +#define BP_M KC_QUOT // M +#define BP_CCED KC_BSLS // Ç +// Row 4 +#define BP_ECIR KC_NUBS // Ê +#define BP_AGRV KC_Z // À +#define BP_Y KC_X // Y +#define BP_X KC_C // X +#define BP_DOT KC_V // . +#define BP_K KC_B // K +#define BP_QUOT KC_N // ' +#define BP_Q KC_M // Q +#define BP_G KC_COMM // G +#define BP_H KC_DOT // H +#define BP_F KC_SLSH // F -// Third row -#define BP_DEAD_DOT_ABOVE LSFT(BP_DEAD_TREMA) // dead ˙ -#define BP_DDTA BP_DEAD_DOT_ABOVE -#define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £) -#define BP_DCUR BP_DEAD_CURRENCY -#define BP_DEAD_HORN LSFT(ALGR(BP_COMMA)) // dead ̛ -#define BP_DHRN BP_DEAD_HORN -#define BP_LONG_S LSFT(ALGR(BP_C)) // ſ -#define BP_LNGS BP_LONG_S -#define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™ -#define BP_TM BP_TRADEMARK -#define BP_ORDINAL_INDICATOR_O LSFT(ALGR(BP_M)) // º -#define BP_ORDO BP_ORDINAL_INDICATOR_O -#define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛ -#define BP_DCOM BP_DEAD_COMMA +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ ` │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ ! │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ ; │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ │ │ │ │ : │ │ ? │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define BP_HASH S(BP_DLR) // # +#define BP_1 S(BP_DQUO) // 1 +#define BP_2 S(BP_LDAQ) // 2 +#define BP_3 S(BP_RDAQ) // 3 +#define BP_4 S(BP_LPRN) // 4 +#define BP_5 S(BP_RPRN) // 5 +#define BP_6 S(BP_AT) // 6 +#define BP_7 S(BP_PLUS) // 7 +#define BP_8 S(BP_MINS) // 8 +#define BP_9 S(BP_SLSH) // 9 +#define BP_0 S(BP_ASTR) // 0 +#define BP_DEG S(BP_EQL) // ° +#define BP_GRV S(BP_PERC) // ` +// Row 2 +#define BP_EXLM S(BP_DCIR) // ! +// Row 3 +#define BP_SCLN S(BP_COMM) // ; +// Row 4 +#define BP_COLN S(BP_DOT) // : +#define BP_QUES S(BP_QUOT) // ? +// Row 5 +#define BP_NBSP S(KC_SPC) // (non-breaking space) -// Fourth row -#define BP_LEFT_QUOTE LSFT(ALGR(BP_Y)) // ‘ -#define BP_LQOT BP_LEFT_QUOTE -#define BP_RIGHT_QUOTE LSFT(ALGR(BP_X)) // ’ -#define BP_RQOT BP_RIGHT_QUOTE -#define BP_INTERPUNCT LSFT(ALGR(BP_DOT)) // · -#define BP_IPCT BP_INTERPUNCT -#define BP_DEAD_HOOK_ABOVE LSFT(ALGR(BP_QUESTION)) // dead ̉ -#define BP_DHKA BP_DEAD_HOOK_ABOVE -#define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣ -#define BP_DUDT BP_DEAD_UNDERDOT -#define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡ -#define BP_DDGR BP_DOUBLE_DAGGER -#define BP_ORDINAL_INDICATOR_A LSFT(ALGR(BP_F)) // ª -#define BP_ORDA BP_ORDINAL_INDICATOR_A +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ – │ — │ < │ > │ [ │ ] │ ^ │ ± │ − │ ÷ │ × │ ≠ │ ‰ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ | │ ´ │ & │ Œ │ ` │ ¡ │ ˇ │ Ð │ / │ IJ │ Ə │ ˘ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ Æ │ Ù │ ¨ │ € │ │ © │ Þ │ ẞ │ ® │ ~ │ ¯ │ ¸ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ │ \ │ { │ } │ … │ ~ │ ¿ │ ° │ │ † │ ˛ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ _ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define BP_NDSH ALGR(BP_DLR) // – +#define BP_MDSH ALGR(BP_DQUO) // — +#define BP_LABK ALGR(BP_LDAQ) // < +#define BP_RABK ALGR(BP_RDAQ) // > +#define BP_LBRC ALGR(BP_LPRN) // [ +#define BP_RBRC ALGR(BP_RPRN) // ] +#define BP_CIRC ALGR(BP_AT) // ^ +#define BP_PLMN ALGR(BP_PLUS) // ± +#define BP_MMNS ALGR(BP_MINS) // − +#define BP_DIV ALGR(BP_SLSH) // ÷ +#define BP_MUL ALGR(BP_ASTR) // × +#define BP_NEQL ALGR(BP_EQL) // ≠ +#define BP_PERM ALGR(BP_PERC) // ‰ +// Row 2 +#define BP_PIPE ALGR(BP_B) // | +#define BP_ACUT ALGR(BP_EACU) // ´ (dead) +#define BP_AMPR ALGR(BP_P) // & +#define BP_OE ALGR(BP_O) // Œ +#define BP_DGRV ALGR(BP_EGRV) // ` (dead) +#define BP_IEXL ALGR(BP_DCIR) // ¡ +#define BP_CARN ALGR(BP_V) // ˇ (dead) +#define BP_ETH ALGR(BP_D) // Ð +#define BP_DSLS ALGR(BP_L) // / (dead) +#define BP_IJ ALGR(BP_J) // IJ +#define BP_SCHW ALGR(BP_Z) // Ə +#define BP_BREV ALGR(BP_W) // ˘ (dead) +// Row 3 +#define BP_AE ALGR(BP_A) // Æ +#define BP_UGRV ALGR(BP_U) // Ù +#define BP_DIAE ALGR(BP_I) // ¨ (dead) +#define BP_EURO ALGR(BP_E) // € +#define BP_COPY ALGR(BP_C) // © +#define BP_THRN ALGR(BP_T) // Þ +#define BP_SS ALGR(BP_S) // ẞ +#define BP_REGD ALGR(BP_R) // ® +#define BP_DTIL ALGR(BP_N) // ~ (dead) +#define BP_MACR ALGR(BP_M) // ¯ (dead) +#define BP_CEDL ALGR(BP_CCED) // ¸ (dead) +// Row 4 +#define BP_BSLS ALGR(BP_AGRV) // (backslash) +#define BP_LCBR ALGR(BP_Y) // { +#define BP_RCBR ALGR(BP_X) // } +#define BP_ELLP ALGR(BP_DOT) // … +#define BP_TILD ALGR(BP_K) // ~ +#define BP_IQUE ALGR(BP_QEST) // ¿ +#define BP_RNGA ALGR(BP_Q) // ° (dead) +#define BP_DGRK ALGR(BP_G) // µ (dead Greek key) +#define BP_DAGG ALGR(BP_H) // † +#define BP_OGON ALGR(BP_F) // ˛ (dead) +// Row 5 +#define BP_UNDS ALGR(KC_SPC) // _ -// Space bar -#define BP_NARROW_NON_BREAKING_SPACE ALGR(BP_NON_BREAKING_SPACE) -#define BP_NNBS BP_NARROW_NON_BREAKING_SPACE +/* Shift+AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ¶ │ „ │ “ │ ” │ ≤ │ ≥ │ │ ¬ │ ¼ │ ½ │ ¾ │ ′ │ ″ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ ¦ │ ˝ │ § │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ ˙ │ ¤ │ ̛ │ ſ │ │ │ ™ │ │ º │ , │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ │ │ ‘ │ ’ │ · │ ⌨ │ ̉ │ ̣ │ │ ‡ │ ª │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define BP_PARA S(ALGR(BP_DLR)) // ¶ +#define BP_DLQU S(ALGR(BP_DQUO)) // „ +#define BP_LDQU S(ALGR(BP_LDAQ)) // “ +#define BP_RDQU S(ALGR(BP_RDAQ)) // ” +#define BP_LEQL S(ALGR(BP_LPRN)) // ≤ +#define BP_GEQL S(ALGR(BP_RPRN)) // ≥ +#define BP_NOT S(ALGR(BP_PLUS)) // ¬ +#define BP_QRTR S(ALGR(BP_MINS)) // ¼ +#define BP_HALF S(ALGR(BP_SLSH)) // ½ +#define BP_TQTR S(ALGR(BP_ASTR)) // ¾ +#define BP_PRIM S(ALGR(BP_EQL)) // ′ +#define BP_DPRM S(ALGR(BP_PERC)) // ″ +// Row 2 +#define BP_BRKP S(ALGR(BP_B)) // ¦ +#define BP_DACU S(ALGR(BP_EACU)) // ˝ (dead) +#define BP_SECT S(ALGR(BP_P)) // § +// Row 3 +#define BP_DOTA S(ALGR(BP_I)) // ˙ (dead) +#define BP_CURR S(ALGR(BP_E)) // ¤ (dead) +#define BP_HORN S(ALGR(BP_COMM)) // ̛ (dead) +#define BP_LNGS S(ALGR(BP_C)) // ſ +#define BP_TM S(ALGR(BP_R)) // ™ +#define BP_MORD S(ALGR(BP_M)) // º +#define BP_DCMM S(ALGR(BP_CCED)) // , (dead) +// Row 4 +#define BP_LSQU S(ALGR(BP_Y)) // ‘ +#define BP_RSQU S(ALGR(BP_X)) // ’ +#define BP_MDDT S(ALGR(BP_DOT)) // · +#define BP_KEYB S(ALGR(BP_K)) // ⌨ +#define BP_HOKA S(ALGR(BP_QUOT)) // ̉ (dead) +#define BP_DOTB S(ALGR(BP_Q)) // ̣ (dead) +#define BP_DDAG S(ALGR(BP_H)) // ‡ +#define BP_FORD S(ALGR(BP_F)) // ª +// Row 5 +#define BP_NNBS S(ALGR(BP_)) // (narrow non-breaking space) -#endif +// DEPRECATED +#define BP_DOLLAR BP_DLR +#define BP_DOUBLE_QUOTE BP_DQUO +#define BP_DQOT BP_DQUO +#define BP_LEFT_GUILLEMET BP_LDAQ +#define BP_LGIL BP_LDAQ +#define BP_RIGHT_GUILLEMET BP_RDAQ +#define BP_RGIL BP_RDAQ +#define BP_LEFT_PAREN BP_LPRN +#define BP_RIGHT_PAREN BP_RPRN +#define BP_MINUS BP_MINS +#define BP_SLASH BP_SLSH +#define BP_ASTERISK BP_ASTR +#define BP_EQUAL BP_EQL +#define BP_PERCENT BP_PERC +#define BP_E_ACUTE BP_EACU +#define BP_ECUT BP_EACU +#define BP_E_GRAVE BP_EGRV +#define BP_DEAD_CIRCUMFLEX BP_DCIR +#define BP_DCRC BP_DCIR +#define BP_COMMA BP_COMM +#define BP_C_CEDILLA BP_CCED +#define BP_E_CIRCUMFLEX BP_ECIR +#define BP_ECRC BP_ECIR +#define BP_A_GRAVE BP_AGRV +#define BP_APOSTROPHE BP_QUOT +#define BP_APOS BP_QUOT +#define BP_DEGREE BP_DEG +#define BP_DEGR BP_DEG +#define BP_GRAVE BP_GRV +#define BP_EXCLAIM BP_EXLM +#define BP_SCOLON BP_SCLN +#define BP_COLON BP_COLN +#define BP_QUESTION BP_QUES +#define BP_QEST BP_QUES +#define BP_NON_BREAKING_SPACE BP_NBSP +#define BP_EN_DASH BP_NDSH +#define BP_EM_DASH BP_MDSH +#define BP_LESS BP_LABK +#define BP_GREATER BP_RABK +#define BP_GRTR BP_RABK +#define BP_LBRACKET BP_LBRC +#define BP_RBRACKET BP_RBRC +#define BP_CIRCUMFLEX CIRC +#define BP_PLUS_MINUS BP_PLMN +#define BP_PSMS BP_PLMN +#define BP_MATH_MINUS BP_MMNS +#define BP_OBELUS BP_DIV +#define BP_OBEL BP_DIV +#define BP_DIVISION_SIGN BP_DIV +#define BP_DVSN BP_DIV +#define BP_TIMES BP_MUL +#define BP_TIMS BP_MUL +#define BP_DIFFERENT BP_NEQL +#define BP_DIFF BP_NEQL +#define BP_PERMILLE BP_PERM +#define BP_PMIL BP_PERM +#define BP_DEAD_ACUTE BP_ACUT +#define BP_DACT BP_ACUT +#define BP_AMPERSAND BP_AMPR +#define BP_OE_LIGATURE BP_OE +#define BP_DEAD_GRAVE BP_DGRV +#define BP_INVERTED_EXCLAIM BP_IEXL +#define BP_IXLM BP_IEXL +#define BP_DEAD_CARON BP_CARN +#define BP_DCAR BP_CARN +#define BP_DEAD_SLASH BP_DSLS +#define BP_DSLH BP_DSLS +#define BP_IJ_LIGATURE BP_IJ +#define BP_SCHWA BP_SCHW +#define BP_SCWA BP_SCHW +#define BP_DEAD_BREVE BP_BREV +#define BP_DBRV BP_BREV +#define BP_AE_LIGATURE BP_AE +#define BP_U_GRAVE BP_UGRV +#define BP_DEAD_TREMA BP_DIAE +#define BP_DTRM BP_DIAE +#define BP_TYPOGRAPHICAL_APOSTROPHE BP_COMM +#define BP_TAPO BP_COMM +#define BP_COPYRIGHT BP_COPY +#define BP_CPRT BP_COPY +#define BP_THORN BP_THRN +#define BP_SHARP_S BP_SS +#define BP_SRPS BP_SS +#define BP_REGISTERED_TRADEMARK BP_REGD +#define BP_RTM BP_REGD +#define BP_DEAD_TILDE BP_DTIL +#define BP_DTLD BP_DTIL +#define BP_DEAD_MACRON BP_MACR +#define BP_DMCR BP_MACR +#define BP_DEAD_CEDILLA BP_CEDL +#define BP_DCED BP_CEDL +#define BP_NONUS_SLASH BP_SLSH +#define BP_NUSL BP_SLSH +#define BP_BACKSLASH BP_BSLS +#define BP_LEFT_CURLY_BRACE BP_LCBR +#define BP_RIGHT_CURLY_BRACE BP_RCBR +#define BP_ELLIPSIS BP_ELLP +#define BP_ELPS BP_ELLP +#define BP_TILDE BP_TILD +#define BP_INVERTED_QUESTION BP_IQUE +#define BP_IQST BP_IQUE +#define BP_DEAD_RING BP_RNGA +#define BP_DRNG BP_RNGA +#define BP_DEAD_GREEK BP_DGRK +#define BP_DAGGER BP_DAGG +#define BP_DAGR BP_DAGG +#define BP_DEAD_OGONEK BP_OGON +#define BP_DOGO BP_OGON +#define BP_UNDERSCORE BP_UNDS +#define BP_PARAGRAPH BP_PARA +#define BP_PARG BP_PARA +#define BP_LOW_DOUBLE_QUOTE BP_DLQU +#define BP_LWQT BP_DLQU +#define BP_LEFT_DOUBLE_QUOTE BP_RDQU +#define BP_RIGHT_DOUBLE_QUOTE BP_RDQU +#define BP_LESS_OR_EQUAL BP_LEQL +#define BP_GREATER_OR_EQUAL BP_GEQL +#define BP_NEGATION BP_NOT +#define BP_NEGT BP_NOT +#define BP_ONE_QUARTER BP_QRTR +#define BP_1QRT BP_QRTR +#define BP_ONE_HALF BP_HALF +#define BP_1HLF BP_HALF +#define BP_THREE_QUARTERS TQTR +#define BP_3QRT BP_TQTR +#define BP_MINUTES BP_PRIM +#define BP_MNUT BP_PRIM +#define BP_SECONDS BP_DPRM +#define BP_SCND BP_DPRM +#define BP_BROKEN_PIPE BP_BRKP +#define BP_BPIP BP_BRKP +#define BP_DEAD_DOUBLE_ACUTE BP_DACU +#define BP_DDCT BP_DACU +#define BP_SECTION BP_SECT +#define BP_GRAVE_BIS BP_GRV +#define BP_GRVB BP_GRV +#define BP_DEAD_DOT_ABOVE BP_DOTA +#define BP_DDTA BP_DOTA +#define BP_DEAD_CURRENCY BP_CURR +#define BP_DCUR BP_CURR +#define BP_DEAD_HORN BP_HORN +#define BP_DHRN BP_HORN +#define BP_LONG_S BP_LNGS +#define BP_TRADEMARK BP_TM +#define BP_ORDINAL_INDICATOR_O MORD +#define BP_ORDO BP_MORD +#define BP_DEAD_COMMA BP_DCMM +#define BP_DCOM BP_DCMM +#define BP_LEFT_QUOTE BP_LSQU +#define BP_LQOT BP_LSQU +#define BP_RIGHT_QUOTE BP_RSQU +#define BP_RQOT BP_RSQU +#define BP_INTERPUNCT BP_MDDT +#define BP_IPCT BP_MDDT +#define BP_DEAD_HOOK_ABOVE BP_HOKA +#define BP_DHKA BP_HOKA +#define BP_DEAD_UNDERDOT BP_DOTB +#define BP_DUDT BP_DOTB +#define BP_DOUBLE_DAGGER BP_DDAG +#define BP_DDGR BP_DDAG +#define BP_ORDINAL_INDICATOR_A BP_FORD +#define BP_ORDA BP_FORD +#define BP_NARROW_NON_BREAKING_SPACE BP_NNBS diff --git a/quantum/keymap_extras/keymap_fr_ch.h b/quantum/keymap_extras/keymap_fr_ch.h index 8da5ae6aa..02ee22a12 100644 --- a/quantum/keymap_extras/keymap_fr_ch.h +++ b/quantum/keymap_extras/keymap_fr_ch.h @@ -13,97 +13,226 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef KEYMAP_FR_CH -#define KEYMAP_FR_CH -#include "keymap.h" - -// normal characters -#define FR_CH_Z KC_Y -#define FR_CH_Y KC_Z - -#define FR_CH_A KC_A -#define FR_CH_B KC_B -#define FR_CH_C KC_C -#define FR_CH_D KC_D -#define FR_CH_E KC_E -#define FR_CH_F KC_F -#define FR_CH_G KC_G -#define FR_CH_H KC_H -#define FR_CH_I KC_I -#define FR_CH_J KC_J -#define FR_CH_K KC_K -#define FR_CH_L KC_L -#define FR_CH_M KC_M -#define FR_CH_N KC_N -#define FR_CH_O KC_O -#define FR_CH_P KC_P -#define FR_CH_Q KC_Q -#define FR_CH_R KC_R -#define FR_CH_S KC_S -#define FR_CH_T KC_T -#define FR_CH_U KC_U -#define FR_CH_V KC_V -#define FR_CH_W KC_W -#define FR_CH_X KC_X - -#define FR_CH_0 KC_0 -#define FR_CH_1 KC_1 -#define FR_CH_2 KC_2 -#define FR_CH_3 KC_3 -#define FR_CH_4 KC_4 -#define FR_CH_5 KC_5 -#define FR_CH_6 KC_6 -#define FR_CH_7 KC_7 -#define FR_CH_8 KC_8 -#define FR_CH_9 KC_9 +#pragma once -#define FR_CH_DOT KC_DOT -#define FR_CH_COMM KC_COMM +#include "keymap.h" -#define FR_CH_QUOT KC_MINS -#define FR_CH_AE KC_QUOT -#define FR_CH_UE KC_LBRC -#define FR_CH_OE KC_SCLN +// clang-format off -#define FR_CH_CIRC KC_EQL // accent circumflex ^ and grave ` and ~ -#define FR_CH_LESS KC_NUBS // < and > and backslash -#define FR_CH_MINS KC_SLSH // - and _ -#define FR_CH_DLR KC_BSLS // $, £ and } -#define FR_CH_PARA KC_GRV // § and ring ° -#define FR_CH_DIAE KC_RBRC // accent ¨ +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ è │ ¨ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ é │ à │ $ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CH_SECT KC_GRV // § +#define CH_1 KC_1 // 1 +#define CH_2 KC_2 // 2 +#define CH_3 KC_3 // 3 +#define CH_4 KC_4 // 4 +#define CH_5 KC_5 // 5 +#define CH_6 KC_6 // 6 +#define CH_7 KC_7 // 7 +#define CH_8 KC_8 // 8 +#define CH_9 KC_9 // 9 +#define CH_0 KC_0 // 0 +#define CH_QUOT KC_MINS // ' +#define CH_CIRC KC_EQL // ^ (dead) +// Row 2 +#define CH_Q KC_Q // Q +#define CH_W KC_W // W +#define CH_E KC_E // E +#define CH_R KC_R // R +#define CH_T KC_T // T +#define CH_Z KC_Y // Z +#define CH_U KC_U // U +#define CH_I KC_I // I +#define CH_O KC_O // O +#define CH_P KC_P // P +#define CH_EGRV KC_LBRC // è +#define CH_DIAE KC_RBRC // ¨ (dead) +// Row 3 +#define CH_A KC_A // A +#define CH_S KC_S // S +#define CH_D KC_D // D +#define CH_F KC_F // F +#define CH_G KC_G // G +#define CH_H KC_H // H +#define CH_J KC_J // J +#define CH_K KC_K // K +#define CH_L KC_L // L +#define CH_EACU KC_SCLN // é +#define CH_AGRV KC_QUOT // à +#define CH_DLR KC_NUHS // $ +// Row 4 +#define CH_LABK KC_NUBS // < +#define CH_Y KC_Z // Y +#define CH_X KC_X // X +#define CH_C KC_C // C +#define CH_V KC_V // V +#define CH_B KC_B // B +#define CH_N KC_N // N +#define CH_M KC_M // M +#define CH_COMM KC_COMM // , +#define CH_DOT KC_DOT // . +#define CH_MINS KC_SLSH // - -// shifted characters -#define FR_CH_RING LSFT(KC_GRV) // ° -#define FR_CH_EXLM LSFT(KC_RBRC) // ! -#define FR_CH_PLUS LSFT(KC_1) // + -#define FR_CH_DQOT LSFT(KC_2) // " -#define FR_CH_ASTR LSFT(KC_3) // * -#define FR_CH_PERC LSFT(KC_5) // % -#define FR_CH_AMPR LSFT(KC_6) // & -#define FR_CH_SLSH LSFT(KC_7) // / -#define FR_CH_LPRN LSFT(KC_8) // ( -#define FR_CH_RPRN LSFT(KC_9) // ) -#define FR_CH_EQL LSFT(KC_0) // = -#define FR_CH_QST LSFT(FR_CH_QUOT) // ? -#define FR_CH_MORE LSFT(FR_CH_LESS) // > -#define FR_CH_COLN LSFT(KC_DOT) // : -#define FR_CH_SCLN LSFT(KC_COMM) // ; -#define FR_CH_UNDS LSFT(FR_CH_MINS) // _ -#define FR_CH_CCED LSFT(KC_4) // ç -#define FR_CH_GRV LSFT(FR_CH_CIRC) // accent grave ` +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ ü │ ! │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ ö │ ä │ £ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CH_DEG S(CH_SECT) // ° +#define CH_PLUS S(CH_1) // + +#define CH_DQUO S(CH_2) // " +#define CH_ASTR S(CH_3) // * +#define CH_CCED S(CH_4) // ç +#define CH_PERC S(CH_5) // % +#define CH_AMPR S(CH_6) // & +#define CH_SLSH S(CH_7) // / +#define CH_LPRN S(CH_8) // ( +#define CH_RPRN S(CH_9) // ) +#define CH_EQL S(CH_0) // = +#define CH_QUES S(CH_QUOT) // ? +#define CH_GRV S(CH_CIRC) // ` (dead) +// Row 2 +#define CH_UDIA S(CH_EGRV) // ü +#define CH_EXLM S(CH_DIAE) // ! +// Row 3 +#define CH_ODIA S(CH_EACU) // ö +#define CH_ADIA S(CH_AGRV) // ä +#define CH_PND S(CH_DLR) // £ +// Row 4 +#define CH_RABK S(CH_LABK) // > +#define CH_SCLN S(CH_COMM) // ; +#define CH_COLN S(CH_DOT) // : +#define CH_UNDS S(CH_MINS) // _ -// Alt Gr-ed characters -#define FR_CH_LCBR ALGR(KC_QUOT) // { -#define FR_CH_LBRC ALGR(KC_LBRC) // [ -#define FR_CH_RBRC ALGR(KC_9) // ] -#define FR_CH_RCBR ALGR(KC_0) // } -#define FR_CH_BSLS ALGR(FR_CH_LESS) // backslash -#define FR_CH_AT ALGR(KC_2) // @ -#define FR_CH_EURO ALGR(KC_E) // € -#define FR_CH_TILD ALGR(FR_CH_CIRC) // ~ -#define FR_CH_PIPE ALGR(KC_1) // | -#define FR_CH_HASH ALGR(KC_3) // # -#define FR_CH_ACUT ALGR(FR_CH_QUOT) // accent acute ´ +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CH_BRKP ALGR(CH_1) // ¦ +#define CH_AT ALGR(CH_2) // @ +#define CH_HASH ALGR(CH_3) // # +#define CH_NOT ALGR(CH_6) // ¬ +#define CH_PIPE ALGR(CH_7) // | +#define CH_CENT ALGR(CH_8) // ¢ +#define CH_ACUT ALGR(CH_QUOT) // ´ (dead) +#define CH_TILD ALGR(CH_CIRC) // ~ (dead) +// Row 2 +#define CH_EURO ALGR(CH_E) // € +#define CH_LBRC ALGR(CH_EGRV) // [ +#define CH_RBRC ALGR(CH_DIAE) // ] +// Row 3 +#define CH_LCBR ALGR(CH_AGRV) // { +#define CH_RCBR ALGR(CH_DLR) // } +// Row 4 +#define CH_BSLS ALGR(CH_LABK) // (backslash) -#endif +// DEPRECATED +#define FR_CH_Z CH_Z +#define FR_CH_Y CH_Y +#define FR_CH_A CH_A +#define FR_CH_B CH_B +#define FR_CH_C CH_C +#define FR_CH_D CH_D +#define FR_CH_E CH_E +#define FR_CH_F CH_F +#define FR_CH_G CH_G +#define FR_CH_H CH_H +#define FR_CH_I CH_I +#define FR_CH_J CH_J +#define FR_CH_K CH_K +#define FR_CH_L CH_L +#define FR_CH_M CH_M +#define FR_CH_N CH_N +#define FR_CH_O CH_O +#define FR_CH_P CH_P +#define FR_CH_Q CH_Q +#define FR_CH_R CH_R +#define FR_CH_S CH_S +#define FR_CH_T CH_T +#define FR_CH_U CH_U +#define FR_CH_V CH_V +#define FR_CH_W CH_W +#define FR_CH_X CH_X +#define FR_CH_0 CH_0 +#define FR_CH_1 CH_1 +#define FR_CH_2 CH_2 +#define FR_CH_3 CH_3 +#define FR_CH_4 CH_4 +#define FR_CH_5 CH_5 +#define FR_CH_6 CH_6 +#define FR_CH_7 CH_7 +#define FR_CH_8 CH_8 +#define FR_CH_9 CH_9 +#define FR_CH_DOT CH_DOT +#define FR_CH_COMM CH_COMM +#define FR_CH_QUOT CH_QUOT +#define FR_CH_AE CH_AGRV +#define FR_CH_UE CH_EGRV +#define FR_CH_OE CH_EACU +#define FR_CH_CIRC CH_CIRC +#define FR_CH_LESS CH_LABK +#define FR_CH_MINS CH_MINS +#define FR_CH_DLR CH_DLR +#define FR_CH_PARA CH_SECT +#define FR_CH_DIAE CH_DIAE +#define FR_CH_RING CH_DEG +#define FR_CH_EXLM CH_EXLM +#define FR_CH_PLUS CH_PLUS +#define FR_CH_DQOT CH_DQUO +#define FR_CH_ASTR CH_ASTR +#define FR_CH_PERC CH_PERC +#define FR_CH_AMPR CH_AMPR +#define FR_CH_SLSH CH_SLSH +#define FR_CH_LPRN CH_LPRN +#define FR_CH_RPRN CH_RPRN +#define FR_CH_EQL CH_EQL +#define FR_CH_QST CH_QUES +#define FR_CH_MORE CH_RABK +#define FR_CH_COLN CH_COLN +#define FR_CH_SCLN CH_SCLN +#define FR_CH_UNDS CH_UNDS +#define FR_CH_CCED CH_CCED +#define FR_CH_GRV CH_GRV +#define FR_CH_LCBR CH_LCBR +#define FR_CH_LBRC CH_LBRC +#define FR_CH_RBRC CH_RBRC +#define FR_CH_RCBR CH_RCBR +#define FR_CH_BSLS CH_BSLS +#define FR_CH_AT CH_AT +#define FR_CH_EURO CH_EURO +#define FR_CH_TILD CH_TILD +#define FR_CH_PIPE CH_PIPE +#define FR_CH_HASH CH_HASH +#define FR_CH_ACUT CH_ACUT 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 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef KEYMAP_FRENCH_OSX_H -#define KEYMAP_FRENCH_OSX_H -#include "keymap.h" - -// Normal characters -#define FR_AT KC_GRV -#define FR_AMP KC_1 -#define FR_EACU KC_2 -#define FR_QUOT KC_3 -#define FR_APOS KC_4 -#define FR_LPRN KC_5 -#define FR_SECT KC_6 -#define FR_EGRV KC_7 -#define FR_EXLM KC_8 -#define FR_CCED KC_9 -#define FR_AGRV KC_0 -#define FR_RPRN KC_MINS -#define FR_MINS KC_EQL - -#define FR_A KC_Q -#define FR_Z KC_W -#define FR_CIRC KC_LBRC -#define FR_DLR KC_RBRC - -#define FR_Q KC_A -#define FR_M KC_SCLN -#define FR_UGRV KC_QUOT -#define FR_GRV KC_NUHS - -#define FR_LESS KC_NUBS -#define FR_W KC_Z -#define FR_COMM KC_M -#define FR_SCLN KC_COMM -#define FR_COLN KC_DOT -#define FR_EQL KC_SLSH +#pragma once -// Shifted characters -#define FR_HASH LSFT(KC_GRV) -#define FR_1 LSFT(KC_1) -#define FR_2 LSFT(KC_2) -#define FR_3 LSFT(KC_3) -#define FR_4 LSFT(KC_4) -#define FR_5 LSFT(KC_5) -#define FR_6 LSFT(KC_6) -#define FR_7 LSFT(KC_7) -#define FR_8 LSFT(KC_8) -#define FR_9 LSFT(KC_9) -#define FR_0 LSFT(KC_0) -#define FR_UNDS LSFT(FR_MINS) +#include "keymap.h" -#define FR_UMLT LSFT(FR_CIRC) -#define FR_ASTR LSFT(FR_DLR) +// clang-format off -#define FR_PERC LSFT(FR_UGRV) -#define FR_PND LSFT(FR_GRV) +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ ` │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define FR_AT KC_GRV // @ +#define FR_AMPR KC_1 // & +#define FR_LEAC KC_2 // é +#define FR_DQUO KC_3 // " +#define FR_QUOT KC_4 // ' +#define FR_LPRN KC_5 // ( +#define FR_SECT KC_6 // § +#define FR_LEGR KC_7 // è +#define FR_EXLM KC_8 // ! +#define FR_LCCE KC_9 // ç +#define FR_LAGR KC_0 // à +#define FR_RPRN KC_MINS // ) +#define FR_MINS KC_EQL // - +// Row 2 +#define FR_A KC_Q // A +#define FR_Z KC_W // Z +#define FR_E KC_E // E +#define FR_R KC_R // R +#define FR_T KC_T // T +#define FR_Y KC_Y // Y +#define FR_U KC_U // U +#define FR_I KC_I // I +#define FR_O KC_O // O +#define FR_P KC_P // P +#define FR_CIRC KC_LBRC // ^ +#define FR_DLR KC_RBRC // $ +// Row 3 +#define FR_Q KC_A // Q +#define FR_S KC_S // S +#define FR_D KC_D // D +#define FR_F KC_F // F +#define FR_G KC_G // G +#define FR_H KC_H // H +#define FR_J KC_J // J +#define FR_K KC_K // K +#define FR_L KC_L // L +#define FR_M KC_SCLN // M +#define FR_LUGR KC_QUOT // ù +#define FR_GRV KC_NUHS // ` +// Row 4 +#define FR_LABK KC_NUBS // < +#define FR_W KC_Z // W +#define FR_X KC_X // X +#define FR_C KC_C // C +#define FR_V KC_V // V +#define FR_B KC_B // B +#define FR_N KC_N // N +#define FR_COMM KC_M // , +#define FR_SCLN KC_COMM // ; +#define FR_COLN KC_DOT // : +#define FR_EQL KC_SLSH // = -#define FR_GRTR LSFT(FR_LESS) -#define FR_QUES LSFT(FR_COMM) -#define FR_DOT LSFT(FR_SCLN) -#define FR_SLSH LSFT(FR_COLN) -#define FR_PLUS LSFT(FR_EQL) +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ * │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ % │ £ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ > │ │ │ │ │ │ │ ? │ . │ / │ + │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define FR_HASH S(FR_AT) // # +#define FR_1 S(FR_AMPR) // 1 +#define FR_2 S(FR_LEAC) // 2 +#define FR_3 S(FR_DQUO) // 3 +#define FR_4 S(FR_QUOT) // 4 +#define FR_5 S(FR_LPRN) // 5 +#define FR_6 S(FR_SECT) // 6 +#define FR_7 S(FR_LEGR) // 7 +#define FR_8 S(FR_EXLM) // 8 +#define FR_9 S(FR_LCCE) // 9 +#define FR_0 S(FR_LAGR) // 0 +#define FR_DEG S(FR_RPRN) // ° +#define FR_UNDS S(FR_MINS) // _ +// Row 2 +#define FR_DIAE S(FR_CIRC) // ¨ (dead) +#define FR_ASTR S(FR_DLR) // * +// Row 3 +#define FR_PERC S(FR_LUGR) // % +#define FR_PND S(FR_GRV) // £ +// Row 4 +#define FR_RABK S(FR_LABK) // > +#define FR_QUES S(FR_COMM) // ? +#define FR_DOT S(FR_SCLN) // . +#define FR_SLSH S(FR_COLN) // / +#define FR_PLUS S(FR_EQL) // + -// Alted characters -#define FR_LCBR LALT(KC_5) -#define FR_RCBR LALT(FR_RPRN) -#define FR_EURO LALT(KC_E) -#define FR_BULT LALT(FR_DLR) -#define FR_TILD LALT(KC_N) +/* Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ • │ │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ Æ │  │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define FR_BULT A(FR_AT) // • +#define FR_APPL A(FR_AMPR) // (Apple logo) +#define FR_LEDI A(FR_LEAC) // ë +#define FR_LDQU A(FR_DQUO) // “ +#define FR_LSQU A(FR_QUOT) // ‘ +#define FR_LCBR A(FR_LPRN) // { +#define FR_PILC A(FR_SECT) // ¶ +#define FR_LDAQ A(FR_LEGR) // « +#define FR_IEXL A(FR_EXLM) // ¡ +#define FR_CCCE A(FR_LCCE) // Ç +#define FR_OSTR A(FR_LAGR) // Ø +#define FR_RCBR A(FR_RPRN) // } +#define FR_MDSH A(FR_MINS) // — +// Row 2 +#define FR_AE A(FR_A) // Æ +#define FR_CACI A(FR_Z) //  +#define FR_ECIR A(FR_E) // Ê +#define FR_REGD A(FR_R) // ® +#define FR_DAGG A(FR_T) // † +#define FR_CUAC A(FR_Y) // Ú +#define FR_MORD A(FR_U) // º +#define FR_LICI A(FR_I) // î +#define FR_OE A(FR_O) // Œ +#define FR_PI A(FR_P) // π +#define FR_OCIR A(FR_CIRC) // Ô +#define FR_EURO A(FR_DLR) // € +// Row 3 +#define FR_DDAG A(FR_Q) // ‡ +#define FR_COGR A(FR_S) // Ò +#define FR_PDIF A(FR_D) // ∂ +#define FR_FHK A(FR_F) // ƒ +#define FR_FI A(FR_G) // fi +#define FR_CIGR A(FR_H) // Ì +#define FR_CIDI A(FR_J) // Ï +#define FR_CEGR A(FR_K) // È +#define FR_NOT A(FR_L) // ¬ +#define FR_MICR A(FR_M) // µ +#define FR_CUGR A(FR_LUGR) // Ù +// Row 4 +#define FR_LTEQ A(FR_LABK) // ≤ +#define FR_LSAQ A(FR_W) // ‹ +#define FR_AEQL A(FR_X) // ≈ +#define FR_COPY A(FR_C) // © +#define FR_LOZN A(FR_V) // ◊ +#define FR_SS A(FR_B) // ß +#define FR_TILD A(FR_N) // ~ (dead) +#define FR_INFN A(FR_COMM) // ∞ +#define FR_ELLP A(FR_SCLN) // … +#define FR_DIV A(FR_COLN) // ÷ +#define FR_NEQL A(FR_EQL) // ≠ -// Shift+Alt-ed characters -#define FR_LBRC LSFT(LALT(KC_5)) -#define FR_RBRC LSFT(LALT(FR_RPRN)) -#define FR_PIPE LSFT(LALT(KC_L)) -#define FR_BSLS LSFT(LALT(FR_COLN)) +/* Shift+Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ Ÿ │ ´ │ „ │ │ │ [ │ å │ » │ Û │ Á │ │ ] │ – │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ Å │ │ ‚ │ ™ │ │ ª │ ï │ │ ∏ │ │ ¥ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │ │ \ │ ± │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define FR_CYDI S(A(FR_AT)) // Ÿ +#define FR_ACUT S(A(FR_AMPR)) // ´ (dead) +#define FR_DLQU S(A(FR_LEAC)) // „ +#define FR_LBRC S(A(FR_LPRN)) // [ +#define FR_LARI S(A(FR_SECT)) // å +#define FR_RDAQ S(A(FR_LEGR)) // » +#define FR_CUCI S(A(FR_EXLM)) // Û +#define FR_CAAC S(A(FR_LCCE)) // Á +#define FR_RBRC S(A(FR_RPRN)) // ] +#define FR_NDSH S(A(FR_MINS)) // – +// Row 2 +#define FR_CARI S(A(FR_Z)) // Å +#define FR_SLQU S(A(FR_R)) // ‚ +#define FR_TM S(A(FR_T)) // ™ +#define FR_FORD S(A(FR_U)) // ª +#define FR_LIDI S(A(FR_I)) // ï +#define FR_NARP S(A(FR_P)) // ∏ +#define FR_YEN S(A(FR_DLR)) // ¥ +// Row 3 +#define FR_OMEG S(A(FR_Q)) // Ω +#define FR_NARS S(A(FR_S)) // ∑ +#define FR_INCR S(A(FR_D)) // ∆ +#define FR_MDDT S(A(FR_F)) // · +#define FR_FL S(A(FR_G)) // fl +#define FR_CICI S(A(FR_H)) // Î +#define FR_CIAC S(A(FR_J)) // Í +#define FR_CEDI S(A(FR_K)) // Ë +#define FR_PIPE S(A(FR_L)) // | +#define FR_COAC S(A(FR_M)) // Ó +#define FR_PERM S(A(FR_LUGR)) // ‰ +// Row 4 +#define FR_GTEQ S(A(FR_LABK)) // ≥ +#define FR_LSAQ S(A(FR_W)) // › +#define FR_FRSL S(A(FR_X)) // ⁄ +#define FR_CENT S(A(FR_C)) // ¢ +#define FR_SQRT S(A(FR_V)) // √ +#define FR_INTG S(A(FR_B)) // ∫ +#define FR_DLSI S(A(FR_N)) // ı +#define FR_IQUE S(A(FR_COMM)) // ¿ +#define FR_BSLS S(A(FR_COLN)) // (backslash) +#define FR_PLMN S(A(FR_EQL)) // ± -#endif +// DEPRECATED +#define FR_AMP FR_AMPR +#define FR_EACU FR_LEAC +#define FR_APOS FR_QUOT +#define FR_EGRV FR_LEGR +#define FR_CCED FR_LCCE +#define FR_AGRV FR_LAGR +#define FR_UGRV FR_LUGR +#define FR_LESS FR_LABK +#define FR_UMLT FR_DIAE +#define FR_GRTR FR_RABK diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_german_ch.h index 19b362758..07f4503a1 100644 --- a/quantum/keymap_extras/keymap_german_ch.h +++ b/quantum/keymap_extras/keymap_german_ch.h @@ -13,105 +13,170 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef KEYMAP_SWISS_GERMAN -#define KEYMAP_SWISS_GERMAN + +#pragma once #include "keymap.h" -// normal characters -#define CH_Z KC_Y -#define CH_Y KC_Z +// clang-format off -#define CH_A KC_A -#define CH_B KC_B -#define CH_C KC_C -#define CH_D KC_D -#define CH_E KC_E -#define CH_F KC_F -#define CH_G KC_G #ifdef CH_H // The ChibiOS ch.h file defines this... # undef CH_H #endif -#define CH_H KC_H -#define CH_I KC_I -#define CH_J KC_J -#define CH_K KC_K -#define CH_L KC_L -#define CH_M KC_M -#define CH_N KC_N -#define CH_O KC_O -#define CH_P KC_P -#define CH_Q KC_Q -#define CH_R KC_R -#define CH_S KC_S -#define CH_T KC_T -#define CH_U KC_U -#define CH_V KC_V -#define CH_W KC_W -#define CH_X KC_X - -#define CH_0 KC_0 -#define CH_1 KC_1 -#define CH_2 KC_2 -#define CH_3 KC_3 -#define CH_4 KC_4 -#define CH_5 KC_5 -#define CH_6 KC_6 -#define CH_7 KC_7 -#define CH_8 KC_8 -#define CH_9 KC_9 - -#define CH_DOT KC_DOT -#define CH_COMM KC_COMM - -#define CH_QUOT KC_MINS // ' ? ´ -#define CH_AE KC_QUOT -#define CH_UE KC_LBRC -#define CH_OE KC_SCLN -#define CH_PARA KC_GRAVE // secction sign § and ° -#define CH_CARR KC_EQL // carret ^ ` ~ -#define CH_DIER KC_RBRC // dieresis ¨ ! ] -#define CH_DLR KC_BSLS // $ £ } -#define CH_LESS KC_NUBS // < and > and backslash -#define CH_MINS KC_SLSH // - and _ +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ § │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ^ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ ü │ ¨ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ö │ ä │ $ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CH_SECT KC_GRV // § +#define CH_1 KC_1 // 1 +#define CH_2 KC_2 // 2 +#define CH_3 KC_3 // 3 +#define CH_4 KC_4 // 4 +#define CH_5 KC_5 // 5 +#define CH_6 KC_6 // 6 +#define CH_7 KC_7 // 7 +#define CH_8 KC_8 // 8 +#define CH_9 KC_9 // 9 +#define CH_0 KC_0 // 0 +#define CH_QUOT KC_MINS // ' +#define CH_CIRC KC_EQL // ^ (dead) +// Row 2 +#define CH_Q KC_Q // Q +#define CH_W KC_W // W +#define CH_E KC_E // E +#define CH_R KC_R // R +#define CH_T KC_T // T +#define CH_Z KC_Y // Z +#define CH_U KC_U // U +#define CH_I KC_I // I +#define CH_O KC_O // O +#define CH_P KC_P // P +#define CH_UDIA KC_LBRC // ü +#define CH_DIAE KC_RBRC // ¨ (dead) +// Row 3 +#define CH_A KC_A // A +#define CH_S KC_S // S +#define CH_D KC_D // D +#define CH_F KC_F // F +#define CH_G KC_G // G +#define CH_H KC_H // H +#define CH_J KC_J // J +#define CH_K KC_K // K +#define CH_L KC_L // L +#define CH_ODIA KC_SCLN // ö +#define CH_ADIA KC_QUOT // ä +#define CH_DLR KC_NUHS // $ +// Row 4 +#define CH_LABK KC_NUBS // < +#define CH_Y KC_Z // Y +#define CH_X KC_X // X +#define CH_C KC_C // C +#define CH_V KC_V // V +#define CH_B KC_B // B +#define CH_N KC_N // N +#define CH_M KC_M // M +#define CH_COMM KC_COMM // , +#define CH_DOT KC_DOT // . +#define CH_MINS KC_SLSH // - -// shifted characters -#define CH_RING LSFT(CH_PARA) // ° -#define CH_PLUS LSFT(KC_1) // + -#define CH_DQOT LSFT(KC_2) // " -#define CH_PAST LSFT(KC_3) // * -#define CH_CELA LSFT(KC_4) // ç -#define CH_PERC LSFT(KC_5) // % -#define CH_AMPR LSFT(KC_6) // & -#define CH_SLSH LSFT(KC_7) // / -#define CH_LPRN LSFT(KC_8) // ( -#define CH_RPRN LSFT(KC_9) // ) -#define CH_EQL LSFT(KC_0) // = -#define CH_QST LSFT(CH_QUOT) // ? -#define CH_GRV LSFT(CH_CARR) // ` -#define CH_EXLM LSFT(CH_DIER) // ! -#define CH_POND LSFT(CH_DLR) // £ -#define CH_MORE LSFT(CH_LESS) // > -#define CH_COLN LSFT(KC_DOT) // : -#define CH_SCLN LSFT(KC_COMM) // ; -#define CH_UNDS LSFT(CH_MINS) // _ +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ° │ + │ " │ * │ ç │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ è │ ! │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ é │ à │ £ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CH_DEG S(CH_SECT) // ° +#define CH_PLUS S(CH_1) // + +#define CH_DQUO S(CH_2) // " +#define CH_ASTR S(CH_3) // * +#define CH_CCED S(CH_4) // ç +#define CH_PERC S(CH_5) // % +#define CH_AMPR S(CH_6) // & +#define CH_SLSH S(CH_7) // / +#define CH_LPRN S(CH_8) // ( +#define CH_RPRN S(CH_9) // ) +#define CH_EQL S(CH_0) // = +#define CH_QUES S(CH_QUOT) // ? +#define CH_GRV S(CH_CIRC) // ` (dead) +// Row 2 +#define CH_EGRV S(CH_UDIA) // è +#define CH_EXLM S(CH_DIAE) // ! +// Row 3 +#define CH_EACU S(CH_ODIA) // é +#define CH_AGRV S(CH_ADIA) // à +#define CH_PND S(CH_DLR) // £ +// Row 4 +#define CH_RABK S(CH_LABK) // > +#define CH_SCLN S(CH_COMM) // ; +#define CH_COLN S(CH_DOT) // : +#define CH_UNDS S(CH_MINS) // _ -// Alt Gr-ed characters -#define CH_BRBR ALGR(KC_1) // ¦ brocken bar -#define CH_AT ALGR(KC_2) // @ -#define CH_HASH ALGR(KC_3) // # -#define CH_NOTL ALGR(KC_6) // ¬ negative logic -#define CH_PIPE ALGR(KC_7) // | -#define CH_CENT ALGR(KC_8) // ¢ cent -#define CH_ACUT ALGR(CH_QUOT) // ´ -#define CH_TILD ALGR(CH_CARR) // ~ -#define CH_EURO ALGR(KC_E) // € -#define CH_LBRC ALGR(CH_UE) // [ -#define CH_RBRC ALGR(CH_DIER) // ] -#define CH_LCBR ALGR(CH_AE) // { -#define CH_RCBR ALGR(CH_DLR) // } -#define CH_BSLS ALGR(CH_LESS) // backslash +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ │ ¦ │ @ │ # │ │ │ ¬ │ | │ ¢ │ │ │ ´ │ ~ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ € │ │ │ │ │ │ │ │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ \ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define CH_BRKP ALGR(CH_1) // ¦ +#define CH_AT ALGR(CH_2) // @ +#define CH_HASH ALGR(CH_3) // # +#define CH_NOT ALGR(CH_6) // ¬ +#define CH_PIPE ALGR(CH_7) // | +#define CH_CENT ALGR(CH_8) // ¢ +#define CH_ACUT ALGR(CH_QUOT) // ´ (dead) +#define CH_TILD ALGR(CH_CIRC) // ~ (dead) +// Row 2 +#define CH_EURO ALGR(CH_E) // € +#define CH_LBRC ALGR(CH_UDIA) // [ +#define CH_RBRC ALGR(CH_DIAE) // ] +// Row 3 +#define CH_LCBR ALGR(CH_ADIA) // { +#define CH_RCBR ALGR(CH_DLR) // } +// Row 4 +#define CH_BSLS ALGR(CH_LABK) // (backslash) -#endif +// DEPRECATED +#define CH_AE CH_ADIA +#define CH_UE CH_UDIA +#define CH_OE CH_ODIA +#define CH_PARA CH_SECT +#define CH_CARR CH_CIRC +#define CH_DIER CH_DIAE +#define CH_LESS CH_LABK +#define CH_RING CH_DEG +#define CH_DQOT CH_DQUO +#define CH_PAST CH_ASTR +#define CH_CELA CH_CCED +#define CH_QST CH_QUES +#define CH_POND CH_PND +#define CH_MORE CH_RABK +#define CH_BRBR CH_BRKP +#define CH_NOTL CH_NOT 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 @@ * You should have received a copy of the GNU General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -#ifndef KEYMAP_GERMAN_OSX -#define KEYMAP_GERMAN_OSX -#include "keymap.h" - -// Alt gr +#pragma once -// normal characters -#define DE_OSX_Z KC_Y -#define DE_OSX_Y KC_Z +#include "keymap.h" -#define DE_OSX_A KC_A -#define DE_OSX_B KC_B -#define DE_OSX_C KC_C -#define DE_OSX_D KC_D -#define DE_OSX_E KC_E -#define DE_OSX_F KC_F -#define DE_OSX_G KC_G -#define DE_OSX_H KC_H -#define DE_OSX_I KC_I -#define DE_OSX_J KC_J -#define DE_OSX_K KC_K -#define DE_OSX_L KC_L -#define DE_OSX_M KC_M -#define DE_OSX_N KC_N -#define DE_OSX_O KC_O -#define DE_OSX_P KC_P -#define DE_OSX_Q KC_Q -#define DE_OSX_R KC_R -#define DE_OSX_S KC_S -#define DE_OSX_T KC_T -#define DE_OSX_U KC_U -#define DE_OSX_V KC_V -#define DE_OSX_W KC_W -#define DE_OSX_X KC_X +// clang-format off -#define DE_OSX_0 KC_0 -#define DE_OSX_1 KC_1 -#define DE_OSX_2 KC_2 -#define DE_OSX_3 KC_3 -#define DE_OSX_4 KC_4 -#define DE_OSX_5 KC_5 -#define DE_OSX_6 KC_6 -#define DE_OSX_7 KC_7 -#define DE_OSX_8 KC_8 -#define DE_OSX_9 KC_9 +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ ^ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ß │ ´ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ Q │ W │ E │ R │ T │ Z │ U │ I │ O │ P │ Ü │ + │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ö │ Ä │ # │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ < │ Y │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define DE_CIRC KC_GRV // ^ (dead) +#define DE_1 KC_1 // 1 +#define DE_2 KC_2 // 2 +#define DE_3 KC_3 // 3 +#define DE_4 KC_4 // 4 +#define DE_5 KC_5 // 5 +#define DE_6 KC_6 // 6 +#define DE_7 KC_7 // 7 +#define DE_8 KC_8 // 8 +#define DE_9 KC_9 // 9 +#define DE_0 KC_0 // 0 +#define DE_SS KC_MINS // ß +#define DE_ACUT KC_EQL // ´ (dead) +// Row 2 +#define DE_Q KC_Q // Q +#define DE_W KC_W // W +#define DE_E KC_E // E +#define DE_R KC_R // R +#define DE_T KC_T // T +#define DE_Z KC_Y // Z +#define DE_U KC_U // U +#define DE_I KC_I // I +#define DE_O KC_O // O +#define DE_P KC_P // P +#define DE_UDIA KC_LBRC // Ü +#define DE_PLUS KC_RBRC // + +// Row 3 +#define DE_A KC_A // A +#define DE_S KC_S // S +#define DE_D KC_D // D +#define DE_F KC_F // F +#define DE_G KC_G // G +#define DE_H KC_H // H +#define DE_J KC_J // J +#define DE_K KC_K // K +#define DE_L KC_L // L +#define DE_ODIA KC_SCLN // Ö +#define DE_ADIA KC_QUOT // Ä +#define DE_HASH KC_NUHS // # +// Row 4 +#define DE_LABK KC_NUBS // < +#define DE_Y KC_Z // Y +#define DE_X KC_X // X +#define DE_C KC_C // C +#define DE_V KC_V // V +#define DE_B KC_B // B +#define DE_N KC_N // N +#define DE_M KC_M // M +#define DE_COMM KC_COMM // , +#define DE_DOT KC_DOT // . +#define DE_MINS KC_SLSH // - -#define DE_OSX_DOT KC_DOT -#define DE_OSX_COMM KC_COMM +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ ° │ ! │ " │ § │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ` │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ * │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ ' │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define DE_DEG S(DE_CIRC) // ° +#define DE_EXLM S(DE_1) // ! +#define DE_DQUO S(DE_2) // " +#define DE_SECT S(DE_3) // § +#define DE_DLR S(DE_4) // $ +#define DE_PERC S(DE_5) // % +#define DE_AMPR S(DE_6) // & +#define DE_SLSH S(DE_7) // / +#define DE_LPRN S(DE_8) // ( +#define DE_RPRN S(DE_9) // ) +#define DE_EQL S(DE_0) // = +#define DE_QUES S(DE_SS) // ? +#define DE_GRV S(DE_ACUT) // ` (dead) +// Row 2 +#define DE_ASTR S(DE_PLUS) // * +// Row 3 +#define DE_QUOT S(DE_HASH) // ' +// Row 4 +#define DE_RABK S(DE_LABK) // > +#define DE_SCLN S(DE_COMM) // ; +#define DE_COLN S(DE_DOT) // : +#define DE_UNDS S(DE_MINS) // _ -#define DE_OSX_SS KC_MINS -#define DE_OSX_AE KC_QUOT -#define DE_OSX_UE KC_LBRC -#define DE_OSX_OE KC_SCLN +/* Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ „ │ ¡ │ “ │ ¶ │ ¢ │ [ │ ] │ | │ { │ } │ ≠ │ ¿ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ « │ ∑ │ € │ ® │ † │ Ω │ ¨ │ ⁄ │ Ø │ π │ • │ ± │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ Å │ ‚ │ ∂ │ ƒ │ © │ ª │ º │ ∆ │ @ │ Œ │ Æ │ ‘ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ ≤ │ ¥ │ ≈ │ Ç │ √ │ ∫ │ ~ │ µ │ ∞ │ … │ – │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define DE_DLQU A(DE_CIRC) // „ +#define DE_IEXL A(DE_1) // ¡ +#define DE_LDQU A(DE_2) // “ +#define DE_PILC A(DE_3) // ¶ +#define DE_CENT A(DE_4) // ¢ +#define DE_LBRC A(DE_5) // [ +#define DE_RBRC A(DE_6) // ] +#define DE_PIPE A(DE_7) // | +#define DE_LCBR A(DE_8) // { +#define DE_RCBR A(DE_9) // } +#define DE_NEQL A(DE_0) // ≠ +#define DE_IQUE A(DE_SS) // ¿ +// Row 2 +#define DE_LDAQ A(DE_Q) // « +#define DE_NARS A(DE_W) // ∑ +#define DE_EURO A(DE_E) // € +#define DE_REGD A(DE_R) // ® +#define DE_DAGG A(DE_T) // † +#define DE_OMEG A(DE_Z) // Ω +#define DE_DIAE A(DE_U) // ¨ (dead) +#define DE_FRSL A(DE_I) // ⁄ +#define DE_OSTR A(DE_O) // Ø +#define DE_PI A(DE_P) // π +#define DE_BULT A(DE_UDIA) // • +#define DE_PLMN A(DE_PLUS) // ± +// Row 3 +#define DE_ARNG A(DE_A) // Å +#define DE_SLQU A(DE_S) // ‚ +#define DE_PDIF A(DE_D) // ∂ +#define DE_FHK A(DE_F) // ƒ +#define DE_COPY A(DE_G) // © +#define DE_FORD A(DE_H) // ª +#define DE_MORD A(DE_J) // º +#define DE_INCR A(DE_K) // ∆ +#define DE_AT A(DE_L) // @ +#define DE_OE A(DE_ODIA) // Œ +#define DE_AE A(DE_ADIA) // Æ +#define DE_LSQU A(DE_HASH) // ‘ +// Row 4 +#define DE_LTEQ A(DE_LABK) // ≤ +#define DE_YEN A(DE_Y) // ¥ +#define DE_AEQL A(DE_X) // ≈ +#define DE_CCCE A(DE_C) // Ç +#define DE_SQRT A(DE_V) // √ +#define DE_INTG A(DE_B) // ∫ +#define DE_TILD A(DE_N) // ~ (dead) +#define DE_MICR A(DE_M) // µ +#define DE_INFN A(DE_COMM) // ∞ +#define DE_ELLP A(DE_DOT) // … +#define DE_NDSH A(DE_MINS) // – -#define DE_OSX_CIRC KC_NUBS // accent circumflex ^ and ring ° -#define DE_OSX_ACUT KC_EQL // accent acute ´ and grave ` -#define DE_OSX_PLUS KC_RBRC // + and * and ~ -#define DE_OSX_HASH KC_BSLS // # and ' -#define DE_OSX_LESS KC_GRV // < and > and | -#define DE_OSX_MINS KC_SLSH // - and _ +/* Shift+Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ │ ¬ │ ” │ │ £ │ fi │ │ \ │ ˜ │ · │ ¯ │ ˙ │ ˚ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ » │ │ ‰ │ ¸ │ ˝ │ ˇ │ Á │ Û │ │ ∏ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ Í │ ™ │ Ï │ Ì │ Ó │ ı │ │ fl │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ ≥ │ ‡ │ Ù │ │ ◊ │ ‹ │ › │ ˘ │ ˛ │ ÷ │ — │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define DE_NOT S(A(DE_1)) // ¬ +#define DE_RDQU S(A(DE_2)) // ” +#define DE_PND S(A(DE_4)) // £ +#define DE_FI S(A(DE_5)) // fi +#define DE_BSLS S(A(DE_7)) // (backslash) +#define DE_STIL S(A(DE_8)) // ˜ +#define DE_MDDT S(A(DE_9)) // · +#define DE_MACR S(A(DE_0)) // ¯ +#define DE_DOTA S(A(DE_SS)) // ˙ +#define DE_RNGA S(A(DE_ACUT)) // ˚ +// Row 2 +#define DE_RDAQ S(A(DE_Q)) // » +#define DE_PERM S(A(DE_E)) // ‰ +#define DE_CEDL S(A(DE_R)) // ¸ +#define DE_DACU S(A(DE_T)) // ˝ +#define DE_CARN S(A(DE_Z)) // ˇ +#define DE_AACU S(A(DE_U)) // Á +#define DE_UCIR S(A(DE_I)) // Û +#define DE_NARP S(A(DE_P)) // ∏ +#define DE_APPL S(A(DE_PLUS)) // (Apple logo) +// Row 3 +#define DE_IACU S(A(DE_S)) // Í +#define DE_TM S(A(DE_D)) // ™ +#define DE_IDIA S(A(DE_F)) // Ï +#define DE_IGRV S(A(DE_G)) // Ì +#define DE_OACU S(A(DE_H)) // Ó +#define DE_DLSI S(A(DE_J)) // ı +#define DE_FL S(A(DE_L)) // fl +// Row 4 +#define DE_GTEQ S(A(DE_LABK)) // ≥ +#define DE_DDAG S(A(DE_Y)) // ‡ +#define DE_UGRV S(A(DE_X)) // Ù +#define DE_LOZN S(A(DE_V)) // ◊ +#define DE_LSAQ S(A(DE_B)) // ‹ +#define DE_RSAQ S(A(DE_N)) // › +#define DE_BREV S(A(DE_M)) // ˘ +#define DE_OGON S(A(DE_COMM)) // ˛ +#define DE_DIV S(A(DE_DOT)) // ÷ +#define DE_MDSH S(A(DE_MINS)) // — -// shifted characters -#define DE_OSX_RING LSFT(DE_OSX_CIRC) // ° -#define DE_OSX_EXLM LSFT(KC_1) // ! -#define DE_OSX_DQOT LSFT(KC_2) // " -#define DE_OSX_PARA LSFT(KC_3) // § -#define DE_OSX_DLR LSFT(KC_4) // $ -#define DE_OSX_PERC LSFT(KC_5) // % -#define DE_OSX_AMPR LSFT(KC_6) // & -#define DE_OSX_SLSH LSFT(KC_7) // / -#define DE_OSX_LPRN LSFT(KC_8) // ( -#define DE_OSX_RPRN LSFT(KC_9) // ) -#define DE_OSX_EQL LSFT(KC_0) // = -#define DE_OSX_QST LSFT(DE_OSX_SS) // ? -#define DE_OSX_GRV LSFT(DE_OSX_ACUT) // ` -#define DE_OSX_ASTR LSFT(DE_OSX_PLUS) // * -#define DE_OSX_QUOT LSFT(DE_OSX_HASH) // ' -#define DE_OSX_MORE LSFT(DE_OSX_LESS) // > -#define DE_OSX_COLN LSFT(KC_DOT) // : -#define DE_OSX_SCLN LSFT(KC_COMM) // ; -#define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _ +// DEPRECATED +#define DE_OSX_CIRC DE_CIRC +#define DE_OSX_1 DE_1 +#define DE_OSX_2 DE_2 +#define DE_OSX_3 DE_3 +#define DE_OSX_4 DE_4 +#define DE_OSX_5 DE_5 +#define DE_OSX_6 DE_6 +#define DE_OSX_7 DE_7 +#define DE_OSX_8 DE_8 +#define DE_OSX_9 DE_9 +#define DE_OSX_0 DE_0 +#define DE_OSX_SS DE_SS +#define DE_OSX_ACUT DE_ACUT +#define DE_OSX_Q DE_Q +#define DE_OSX_W DE_W +#define DE_OSX_E DE_E +#define DE_OSX_R DE_R +#define DE_OSX_T DE_T +#define DE_OSX_Z DE_Z +#define DE_OSX_U DE_U +#define DE_OSX_I DE_I +#define DE_OSX_O DE_O +#define DE_OSX_P DE_P +#define DE_OSX_UE DE_UDIA +#define DE_OSX_PLUS DE_PLUS +#define DE_OSX_A DE_A +#define DE_OSX_S DE_S +#define DE_OSX_D DE_D +#define DE_OSX_F DE_F +#define DE_OSX_G DE_G +#define DE_OSX_H DE_H +#define DE_OSX_J DE_J +#define DE_OSX_K DE_K +#define DE_OSX_L DE_L +#define DE_OSX_OE DE_ODIA +#define DE_OSX_AE DE_ADIA +#define DE_OSX_HASH DE_HASH +#define DE_OSX_LESS DE_LABK +#define DE_OSX_Y DE_Y +#define DE_OSX_X DE_X +#define DE_OSX_C DE_C +#define DE_OSX_V DE_V +#define DE_OSX_B DE_B +#define DE_OSX_N DE_N +#define DE_OSX_M DE_M +#define DE_OSX_COMM DE_COMM +#define DE_OSX_DOT DE_DOT +#define DE_OSX_MINS DE_MINS -// Alt-ed characters -//#define DE_OSX_SQ2 LALT(KC_2) // ² -//#define DE_OSX_SQ3 LALT(KC_3) // ³ -#define DE_OSX_LCBR LALT(KC_8) // { -#define DE_OSX_LBRC LALT(KC_5) // [ -#define DE_OSX_RBRC LALT(KC_6) // ] -#define DE_OSX_RCBR LALT(KC_9) // } -#define DE_OSX_BSLS LALT(LSFT(KC_7)) // backslash -#define DE_OSX_AT LALT(DE_OSX_L) // @ -#define DE_OSX_EURO LALT(KC_E) // € -#define DE_OSX_TILD LALT(DE_OSX_N) // ~ -#define DE_OSX_PIPE LALT(DE_OSX_7) // | +#define DE_OSX_RING DE_DEG +#define DE_OSX_EXLM DE_EXLM +#define DE_OSX_DQOT DE_DQUO +#define DE_OSX_PARA DE_SECT +#define DE_OSX_DLR DE_DLR +#define DE_OSX_PERC DE_PERC +#define DE_OSX_AMPR DE_AMPR +#define DE_OSX_SLSH DE_SLSH +#define DE_OSX_LPRN DE_LPRN +#define DE_OSX_RPRN DE_RPRN +#define DE_OSX_EQL DE_EQL +#define DE_OSX_QST DE_QUES +#define DE_OSX_GRV DE_GRV +#define DE_OSX_ASTR DE_ASTR +#define DE_OSX_QUOT DE_QUOT +#define DE_OSX_MORE DE_RABK +#define DE_OSX_COLN DE_COLN +#define DE_OSX_SCLN DE_SCLN +#define DE_OSX_UNDS DE_UNDS -#endif +#define DE_OSX_LBRC DE_LBRC +#define DE_OSX_RBRC DE_RBRC +#define DE_OSX_PIPE DE_PIPE +#define DE_OSX_LCBR DE_LCBR +#define DE_OSX_RCBR DE_RCBR +#define DE_OSX_AT DE_AT +#define DE_OSX_EURO DE_EURO +#define DE_OSX_TILD DE_TILD +#define DE_OSX_BSLS DE_BSLS diff --git a/quantum/keymap_extras/keymap_greek.h b/quantum/keymap_extras/keymap_greek.h index 6ea9f289b..a2525959b 100644 --- a/quantum/keymap_extras/keymap_greek.h +++ b/quantum/keymap_extras/keymap_greek.h @@ -114,7 +114,7 @@ #define GR_PLUS S(GR_EQL) // + // Row 2 #define GR_COLN S(GR_SCLN) // : -#define GR_DTON S(GR_FSIG) // ΅ (dead) +#define GR_DIAT S(GR_FSIG) // ΅ (dead) #define GR_LCBR S(GR_LBRC) // { #define GR_RCBR S(GR_RBRC) // } // Row 3 diff --git a/quantum/keymap_extras/keymap_italian_osx_ansi.h b/quantum/keymap_extras/keymap_italian_osx_ansi.h index fa12d05dc..1f7fe8afc 100644 --- a/quantum/keymap_extras/keymap_italian_osx_ansi.h +++ b/quantum/keymap_extras/keymap_italian_osx_ansi.h @@ -14,100 +14,255 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -// This is a clone of quantum/keymap_extra/keymap_italian.h intended to be used with Apple devices - -#ifndef KEYMAP_ITALIAN -#define KEYMAP_ITALIAN +#pragma once #include "keymap.h" -// normal characters -#define IT_A KC_A -#define IT_B KC_B -#define IT_C KC_C -#define IT_D KC_D -#define IT_E KC_E -#define IT_F KC_F -#define IT_G KC_G -#define IT_H KC_H -#define IT_I KC_I -#define IT_J KC_J -#define IT_K KC_K -#define IT_L KC_L -#define IT_M KC_M -#define IT_N KC_N -#define IT_O KC_O -#define IT_P KC_P -#define IT_Q KC_Q -#define IT_R KC_R -#define IT_S KC_S -#define IT_T KC_T -#define IT_U KC_U -#define IT_V KC_V -#define IT_W KC_W -#define IT_X KC_X -#define IT_Y KC_Y -#define IT_Z KC_Z - -#define IT_0 KC_0 -#define IT_1 KC_1 -#define IT_2 KC_2 -#define IT_3 KC_3 -#define IT_4 KC_4 -#define IT_5 KC_5 -#define IT_6 KC_6 -#define IT_7 KC_7 -#define IT_8 KC_8 -#define IT_9 KC_9 +// clang-format off -// punctuation -#define IT_DOT KC_DOT // . and : -#define IT_COMM KC_COMM // , and ; -#define IT_APOS KC_MINS // ' and ? -#define IT_BSLS KC_NUBS // \ and | -#define IT_LESS KC_GRV // < and > -#define IT_MINS KC_SLSH // - and _ +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ < │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ ù │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_LABK KC_GRV // < +#define IT_1 KC_1 // 1 +#define IT_2 KC_2 // 2 +#define IT_3 KC_3 // 3 +#define IT_4 KC_4 // 4 +#define IT_5 KC_5 // 5 +#define IT_6 KC_6 // 6 +#define IT_7 KC_7 // 7 +#define IT_8 KC_8 // 8 +#define IT_9 KC_9 // 9 +#define IT_0 KC_0 // 0 +#define IT_QUOT KC_MINS // ' +#define IT_IGRV KC_EQL // ì +// Row 2 +#define IT_Q KC_Q // Q +#define IT_W KC_W // W +#define IT_E KC_E // E +#define IT_R KC_R // R +#define IT_T KC_T // T +#define IT_Y KC_Y // Y +#define IT_U KC_U // U +#define IT_I KC_I // I +#define IT_O KC_O // O +#define IT_P KC_P // P +#define IT_EGRV KC_LBRC // è +#define IT_PLUS KC_RBRC // + +#define IT_UGRV KC_BSLS // ù +// Row 3 +#define IT_A KC_A // A +#define IT_S KC_S // S +#define IT_D KC_D // D +#define IT_F KC_F // F +#define IT_G KC_G // G +#define IT_H KC_H // H +#define IT_J KC_J // J +#define IT_K KC_K // K +#define IT_L KC_L // L +#define IT_OGRV KC_SCLN // ò +#define IT_AGRV KC_QUOT // à +// Row 4 +#define IT_BSLS KC_NUBS // (backslash, not physically present) +#define IT_Z KC_Z // Z +#define IT_X KC_X // X +#define IT_C KC_C // C +#define IT_V KC_V // V +#define IT_B KC_B // B +#define IT_N KC_N // N +#define IT_M KC_M // M +#define IT_COMM KC_COMM // , +#define IT_DOT KC_DOT // . +#define IT_MINS KC_SLSH // - -// accented vowels (regular, with shift, with option, with option and shift) -#define IT_EACC KC_LBRC // è, é, [, { -#define IT_PLUS KC_RBRC // +, *, ], } -#define IT_OACC KC_SCLN // ò, ç, @, Ç -#define IT_AACC KC_QUOT // à, °, #, ∞ -#define IT_UACC KC_BSLS // ù, §, ¶, ◊ -#define IT_IACC KC_EQL // ì, ^, ˆ, ± +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ > │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ § │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ │ │ │ │ │ │ │ ; │ : │ _ │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_RABK S(IT_LABK) // > +#define IT_EXLM S(IT_1) // ! +#define IT_DQUO S(IT_2) // " +#define IT_PND S(IT_3) // £ +#define IT_DLR S(IT_4) // $ +#define IT_PERC S(IT_5) // % +#define IT_AMPR S(IT_6) // & +#define IT_SLSH S(IT_7) // / +#define IT_LPRN S(IT_8) // ( +#define IT_RPRN S(IT_9) // ) +#define IT_EQL S(IT_0) // = +#define IT_QUES S(IT_QUOT) // ? +#define IT_CIRC S(IT_IGRV) // ^ +// Row 2 +#define IT_EACU S(IT_EGRV) // é +#define IT_ASTR S(IT_PLUS) // * +#define IT_SECT S(IT_UGRV) // § +// Row 3 +#define IT_LCCE S(IT_OGRV) // ç +#define IT_DEG S(IT_AGRV) // ° +// Row 4 +#define IT_PIPE S(IT_BSLS) // | (not physically present) +#define IT_SCLN S(IT_COMM) // ; +#define IT_COLN S(IT_DOT) // : +#define IT_UNDS S(IT_MINS) // _ -// shifted characters -#define IT_EXLM LSFT(KC_1) // ! -#define IT_DQOT LSFT(KC_2) // " -#define IT_STRL LSFT(KC_3) // £ -#define IT_DLR LSFT(KC_4) // $ -#define IT_PERC LSFT(KC_5) // % -#define IT_AMPR LSFT(KC_6) // & -#define IT_SLSH LSFT(KC_7) // / -#define IT_LPRN LSFT(KC_8) // ( -#define IT_RPRN LSFT(KC_9) // ) -#define IT_EQL LSFT(KC_0) // = -#define IT_DEGR LSFT(IT_AACC) // ° -#define IT_QST LSFT(IT_APOS) // ? -#define IT_CRC LSFT(IT_IACC) // ^ -#define IT_ASTR LSFT(IT_PLUS) // * -#define IT_MORE LSFT(IT_LESS) // > -#define IT_COLN LSFT(IT_DOT) // : -#define IT_SCLN LSFT(IT_COMM) // ; -#define IT_UNDS LSFT(IT_MINS) // _ -#define IT_LCBR LSFT(IT_LBRC) // { -#define IT_RCBR LSFT(IT_RBRC) // } -#define IT_PIPE LSFT(IT_BSLS) // | +/* Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ ≤ │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ ¶ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_LTEQ A(IT_LABK) // ≤ +#define IT_LDAQ A(IT_1) // « +#define IT_LDQU A(IT_2) // “ +#define IT_LSQU A(IT_3) // ‘ +#define IT_YEN A(IT_4) // ¥ +#define IT_TILD A(IT_5) // ~ +#define IT_LSAQ A(IT_6) // ‹ +#define IT_DIV A(IT_7) // ÷ +#define IT_ACUT A(IT_8) // ´ (dead) +#define IT_DGRV A(IT_9) // ` (dead) +#define IT_NEQL A(IT_0) // ≠ +#define IT_IEXL A(IT_QUOT) // ¡ +#define IT_DCIR A(IT_IGRV) // ˆ (dead) +// Row 2 +#define IT_DLQU A(IT_Q) // „ +#define IT_OMEG A(IT_W) // Ω +#define IT_EURO A(IT_E) // € +#define IT_REGD A(IT_R) // ® +#define IT_TM A(IT_T) // ™ +#define IT_AE A(IT_Y) // Æ +#define IT_DIAE A(IT_U) // ¨ (dead) +#define IT_OE A(IT_I) // Œ +#define IT_OSTR A(IT_O) // Ø +#define IT_PI A(IT_P) // π +#define IT_LBRC A(IT_EGRV) // [ +#define IT_RBRC A(IT_PLUS) // ] +// Row 3 +#define IT_ARNG A(IT_A) // Å +#define IT_SS A(IT_S) // ß +#define IT_PDIF A(IT_D) // ∂ +#define IT_FHK A(IT_F) // ƒ +#define IT_INFN A(IT_G) // ∞ +#define IT_INCR A(IT_H) // ∆ +#define IT_FORD A(IT_J) // ª +#define IT_MORD A(IT_K) // º +#define IT_NOT A(IT_L) // ¬ +#define IT_AT A(IT_OGRV) // @ +#define IT_HASH A(IT_AGRV) // # +#define IT_PILC A(IT_UGRV) // ¶ +// Row 4 +#define IT_GRV A(IT_BSLS) // ` (not physically present) +#define IT_NARS A(IT_Z) // ∑ +#define IT_DAGG A(IT_X) // † +#define IT_COPY A(IT_C) // © +#define IT_SQRT A(IT_V) // √ +#define IT_INTG A(IT_B) // ∫ +#define IT_STIL A(IT_N) // ˜ (dead) +#define IT_MICR A(IT_M) // µ +#define IT_ELLP A(IT_COMM) // … +#define IT_BULT A(IT_DOT) // • +#define IT_NDSH A(IT_MINS) // – -// Alt -ed characters -#define IT_LBRC LALT(IT_EACC) // [ -#define IT_RBRC LALT(IT_PLUS) // ] -#define IT_AT LALT(IT_OACC) // @ -#define IT_EURO LALT(KC_E) // € -#define IT_SHRP LALT(IT_AACC) // # -#define IT_ACUT LALT(KC_8) // ´ -#define IT_GRAVE LALT(KC_9) // ` -#define IT_TILDE LALT(KC_5) // ~ -#define IT_PLMN LALT(LSFT(IT_IACC)) // ± +/* Shift+Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ ≥ │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │ │ │ ≈ │ ¿ │ ± │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ ◊ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴───┤ + * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ ∞ │ │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴──────┤ + * │ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │ + * ├─────┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_GTEQ S(A(IT_LABK)) // ≥ +#define IT_RDAQ S(A(IT_1)) // » +#define IT_RDQU S(A(IT_2)) // ” +#define IT_RSQU S(A(IT_3)) // ’ +#define IT_CENT S(A(IT_4)) // ¢ +#define IT_PERM S(A(IT_5)) // ‰ +#define IT_RSAQ S(A(IT_6)) // › +#define IT_FRSL S(A(IT_7)) // ⁄ +#define IT_APPL S(A(IT_8)) // (Apple logo) +#define IT_AEQL S(A(IT_0)) // ≈ +#define IT_IQUE S(A(IT_QUOT)) // ¿ +#define IT_PLMN S(A(IT_IGRV)) // ± +// Row 2 +#define IT_SLQU S(A(IT_Q)) // ‚ +#define IT_CAGR S(A(IT_W)) // À +#define IT_CEGR S(A(IT_E)) // È +#define IT_CIGR S(A(IT_R)) // Ì +#define IT_COGR S(A(IT_T)) // Ò +#define IT_CUGR S(A(IT_U)) // Ù +#define IT_NARP S(A(IT_P)) // ∏ +#define IT_LCBR S(A(IT_EGRV)) // { +#define IT_RCBR S(A(IT_PLUS)) // } +#define IT_LOZN S(A(IT_UGRV)) // ◊ +// Row 3 +#define IT_MACR S(A(IT_S)) // ¯ +#define IT_BREV S(A(IT_D)) // ˘ +#define IT_DOTA S(A(IT_F)) // ˙ +#define IT_RGNA S(A(IT_G)) // ˚ +#define IT_CEDL S(A(IT_H)) // ¸ +#define IT_DACU S(A(IT_J)) // ˝ +#define IT_OGON S(A(IT_K)) // ˛ +#define IT_CARN S(A(IT_L)) // ˇ +#define IT_CCCE S(A(IT_OGRV)) // Ç +// Row 4 +#define IT_DDAG S(A(IT_X)) // ‡ +#define IT_CAAC S(A(IT_C)) // Á +#define IT_CEAC S(A(IT_V)) // É +#define IT_CIAC S(A(IT_B)) // Í +#define IT_COAC S(A(IT_N)) // Ó +#define IT_CUAC S(A(IT_M)) // Ú +#define IT_MDDT S(A(IT_DOT)) // · +#define IT_MDSH S(A(IT_MINS)) // — -#endif +// DEPRECATED +#define IT_LESS IT_LABK +#define IT_APOS IT_QUOT +#define IT_IACC IT_IGRV +#define IT_EACC IT_EGRV +#define IT_UACC IT_UGRV +#define IT_OACC IT_OGRV +#define IT_AACC IT_AGRV +#define IT_MORE IT_RABK +#define IT_DQOT IT_DQUO +#define IT_STRL IT_PND +#define IT_QST IT_QUES +#define IT_CRC IT_CIRC +#define IT_DEGR IT_DEG +#define IT_TILDE IT_TILD +#define IT_GRAVE IT_GRV +#define IT_SHRP IT_HASH diff --git a/quantum/keymap_extras/keymap_italian_osx_iso.h b/quantum/keymap_extras/keymap_italian_osx_iso.h index a9b36f16e..5ed1e3abd 100644 --- a/quantum/keymap_extras/keymap_italian_osx_iso.h +++ b/quantum/keymap_extras/keymap_italian_osx_iso.h @@ -14,100 +14,256 @@ * along with this program. If not, see <http://www.gnu.org/licenses/>. */ -// This is a clone of quantum/keymap_extra/keymap_italian.h intended to be used with Apple devices - -#ifndef KEYMAP_ITALIAN -#define KEYMAP_ITALIAN +#pragma once #include "keymap.h" -// normal characters -#define IT_A KC_A -#define IT_B KC_B -#define IT_C KC_C -#define IT_D KC_D -#define IT_E KC_E -#define IT_F KC_F -#define IT_G KC_G -#define IT_H KC_H -#define IT_I KC_I -#define IT_J KC_J -#define IT_K KC_K -#define IT_L KC_L -#define IT_M KC_M -#define IT_N KC_N -#define IT_O KC_O -#define IT_P KC_P -#define IT_Q KC_Q -#define IT_R KC_R -#define IT_S KC_S -#define IT_T KC_T -#define IT_U KC_U -#define IT_V KC_V -#define IT_W KC_W -#define IT_X KC_X -#define IT_Y KC_Y -#define IT_Z KC_Z - -#define IT_0 KC_0 -#define IT_1 KC_1 -#define IT_2 KC_2 -#define IT_3 KC_3 -#define IT_4 KC_4 -#define IT_5 KC_5 -#define IT_6 KC_6 -#define IT_7 KC_7 -#define IT_8 KC_8 -#define IT_9 KC_9 +// clang-format off -// punctuation -#define IT_DOT KC_DOT // . and : -#define IT_COMM KC_COMM // , and ; -#define IT_APOS KC_MINS // ' and ? -#define IT_BSLS KC_GRV // \ and | -#define IT_LESS KC_NUBS // < and > -#define IT_MINS KC_SLSH // - and _ +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ \ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ì │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ è │ + │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ ò │ à │ ù │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ < │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ - │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_BSLS KC_GRV // (backslash) +#define IT_1 KC_1 // 1 +#define IT_2 KC_2 // 2 +#define IT_3 KC_3 // 3 +#define IT_4 KC_4 // 4 +#define IT_5 KC_5 // 5 +#define IT_6 KC_6 // 6 +#define IT_7 KC_7 // 7 +#define IT_8 KC_8 // 8 +#define IT_9 KC_9 // 9 +#define IT_0 KC_0 // 0 +#define IT_QUOT KC_MINS // ' +#define IT_IGRV KC_EQL // ì +// Row 2 +#define IT_Q KC_Q // Q +#define IT_W KC_W // W +#define IT_E KC_E // E +#define IT_R KC_R // R +#define IT_T KC_T // T +#define IT_Y KC_Y // Y +#define IT_U KC_U // U +#define IT_I KC_I // I +#define IT_O KC_O // O +#define IT_P KC_P // P +#define IT_EGRV KC_LBRC // è +#define IT_PLUS KC_RBRC // + +// Row 3 +#define IT_A KC_A // A +#define IT_S KC_S // S +#define IT_D KC_D // D +#define IT_F KC_F // F +#define IT_G KC_G // G +#define IT_H KC_H // H +#define IT_J KC_J // J +#define IT_K KC_K // K +#define IT_L KC_L // L +#define IT_OGRV KC_SCLN // ò +#define IT_AGRV KC_QUOT // à +#define IT_UGRV KC_NUHS // ù +// Row 4 +#define IT_LABK KC_NUBS // < +#define IT_Z KC_Z // Z +#define IT_X KC_X // X +#define IT_C KC_C // C +#define IT_V KC_V // V +#define IT_B KC_B // B +#define IT_N KC_N // N +#define IT_M KC_M // M +#define IT_COMM KC_COMM // , +#define IT_DOT KC_DOT // . +#define IT_MINS KC_SLSH // - -// accented vowels (regular, with shift, with option, with option and shift) -#define IT_EACC KC_LBRC // è, é, [, { -#define IT_PLUS KC_RBRC // +, *, ], } -#define IT_OACC KC_SCLN // ò, ç, @, Ç -#define IT_AACC KC_QUOT // à, °, #, ∞ -#define IT_UACC KC_BSLS // ù, §, ¶, ◊ -#define IT_IACC KC_EQL // ì, ^, ˆ, ± +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ | │ ! │ " │ £ │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ^ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ │ │ │ │ │ │ │ │ │ │ é │ * │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ ç │ ° │ § │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ > │ │ │ │ │ │ │ │ ; │ : │ _ │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_PIPE S(IT_BSLS) // | +#define IT_EXLM S(IT_1) // ! +#define IT_DQUO S(IT_2) // " +#define IT_PND S(IT_3) // £ +#define IT_DLR S(IT_4) // $ +#define IT_PERC S(IT_5) // % +#define IT_AMPR S(IT_6) // & +#define IT_SLSH S(IT_7) // / +#define IT_LPRN S(IT_8) // ( +#define IT_RPRN S(IT_9) // ) +#define IT_EQL S(IT_0) // = +#define IT_QUES S(IT_QUOT) // ? +#define IT_CIRC S(IT_IGRV) // ^ +// Row 2 +#define IT_EACU S(IT_EGRV) // é +#define IT_ASTR S(IT_PLUS) // * +// Row 3 +#define IT_LCCE S(IT_OGRV) // ç +#define IT_DEG S(IT_AGRV) // ° +#define IT_SECT S(IT_UGRV) // § +// Row 4 +#define IT_RABK S(IT_LABK) // > +#define IT_SCLN S(IT_COMM) // ; +#define IT_COLN S(IT_DOT) // : +#define IT_UNDS S(IT_MINS) // _ -// shifted characters -#define IT_EXLM LSFT(KC_1) // ! -#define IT_DQOT LSFT(KC_2) // " -#define IT_STRL LSFT(KC_3) // £ -#define IT_DLR LSFT(KC_4) // $ -#define IT_PERC LSFT(KC_5) // % -#define IT_AMPR LSFT(KC_6) // & -#define IT_SLSH LSFT(KC_7) // / -#define IT_LPRN LSFT(KC_8) // ( -#define IT_RPRN LSFT(KC_9) // ) -#define IT_EQL LSFT(KC_0) // = -#define IT_DEGR LSFT(IT_AACC) // ° -#define IT_QST LSFT(IT_APOS) // ? -#define IT_CRC LSFT(IT_IACC) // ^ -#define IT_ASTR LSFT(IT_PLUS) // * -#define IT_MORE LSFT(IT_LESS) // > -#define IT_COLN LSFT(IT_DOT) // : -#define IT_SCLN LSFT(IT_COMM) // ; -#define IT_UNDS LSFT(IT_MINS) // _ -#define IT_LCBR LSFT(IT_LBRC) // { -#define IT_RCBR LSFT(IT_RBRC) // } -#define IT_PIPE LSFT(IT_BSLS) // | +/* Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ ` │ « │ “ │ ‘ │ ¥ │ ~ │ ‹ │ ÷ │ ´ │ ` │ ≠ │ ¡ │ ˆ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ „ │ Ω │ € │ ® │ ™ │ Æ │ ¨ │ Œ │ Ø │ π │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ Å │ ß │ ∂ │ ƒ │ ∞ │ ∆ │ ª │ º │ ¬ │ @ │ # │ ¶ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ ≤ │ ∑ │ † │ © │ √ │ ∫ │ ˜ │ µ │ … │ • │ – │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_GRV A(IT_BSLS) // ` +#define IT_LDAQ A(IT_1) // « +#define IT_LDQU A(IT_2) // “ +#define IT_LSQU A(IT_3) // ‘ +#define IT_YEN A(IT_4) // ¥ +#define IT_TILD A(IT_5) // ~ +#define IT_LSAQ A(IT_6) // ‹ +#define IT_DIV A(IT_7) // ÷ +#define IT_ACUT A(IT_8) // ´ (dead) +#define IT_DGRV A(IT_9) // ` (dead) +#define IT_NEQL A(IT_0) // ≠ +#define IT_IEXL A(IT_QUOT) // ¡ +#define IT_DCIR A(IT_IGRV) // ˆ (dead) +// Row 2 +#define IT_DLQU A(IT_Q) // „ +#define IT_OMEG A(IT_W) // Ω +#define IT_EURO A(IT_E) // € +#define IT_REGD A(IT_R) // ® +#define IT_TM A(IT_T) // ™ +#define IT_AE A(IT_Y) // Æ +#define IT_DIAE A(IT_U) // ¨ (dead) +#define IT_OE A(IT_I) // Œ +#define IT_OSTR A(IT_O) // Ø +#define IT_PI A(IT_P) // π +#define IT_LBRC A(IT_EGRV) // [ +#define IT_RBRC A(IT_PLUS) // ] +// Row 3 +#define IT_ARNG A(IT_A) // Å +#define IT_SS A(IT_S) // ß +#define IT_PDIF A(IT_D) // ∂ +#define IT_FHK A(IT_F) // ƒ +#define IT_INFN A(IT_G) // ∞ +#define IT_INCR A(IT_H) // ∆ +#define IT_FORD A(IT_J) // ª +#define IT_MORD A(IT_K) // º +#define IT_NOT A(IT_L) // ¬ +#define IT_AT A(IT_OGRV) // @ +#define IT_HASH A(IT_AGRV) // # +#define IT_PILC A(IT_UGRV) // ¶ +// Row 4 +#define IT_LTEQ A(IT_LABK) // ≤ +#define IT_NARS A(IT_Z) // ∑ +#define IT_DAGG A(IT_X) // † +#define IT_COPY A(IT_C) // © +#define IT_SQRT A(IT_V) // √ +#define IT_INTG A(IT_B) // ∫ +#define IT_STIL A(IT_N) // ˜ (dead) +#define IT_MICR A(IT_M) // µ +#define IT_ELLP A(IT_COMM) // … +#define IT_BULT A(IT_DOT) // • +#define IT_NDSH A(IT_MINS) // – -// Alt -ed characters -#define IT_LBRC LALT(IT_EACC) // [ -#define IT_RBRC LALT(IT_PLUS) // ] -#define IT_AT LALT(IT_OACC) // @ -#define IT_EURO LALT(KC_E) // € -#define IT_SHRP LALT(IT_AACC) // # -#define IT_ACUT LALT(KC_8) // ´ -#define IT_GRAVE LALT(KC_9) // ` -#define IT_TILDE LALT(KC_5) // ~ -#define IT_PLMN LALT(LSFT(IT_IACC)) // ± +/* Shift+Alted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐ + * │ ı │ » │ ” │ ’ │ ¢ │ ‰ │ › │ ⁄ │ │ │ ≈ │ ¿ │ ± │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤ + * │ │ ‚ │ À │ È │ Ì │ Ò │ │ Ù │ │ │ ∏ │ { │ } │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ ¯ │ ˘ │ ˙ │ ˚ │ ¸ │ ˝ │ ˛ │ ˇ │ Ç │ │ ◊ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤ + * │ │ ≥ │ │ ‡ │ Á │ É │ Í │ Ó │ Ú │ │ · │ — │ │ + * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤ + * │ │ │ │ │ │ │ │ + * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘ + */ +// Row 1 +#define IT_DLSI S(A(IT_BSLS)) // ı +#define IT_RDAQ S(A(IT_1)) // » +#define IT_RDQU S(A(IT_2)) // ” +#define IT_RSQU S(A(IT_3)) // ’ +#define IT_CENT S(A(IT_4)) // ¢ +#define IT_PERM S(A(IT_5)) // ‰ +#define IT_RSAQ S(A(IT_6)) // › +#define IT_FRSL S(A(IT_7)) // ⁄ +#define IT_APPL S(A(IT_8)) // (Apple logo) +#define IT_AEQL S(A(IT_0)) // ≈ +#define IT_IQUE S(A(IT_QUOT)) // ¿ +#define IT_PLMN S(A(IT_IGRV)) // ± +// Row 2 +#define IT_SLQU S(A(IT_Q)) // ‚ +#define IT_CAGR S(A(IT_W)) // À +#define IT_CEGR S(A(IT_E)) // È +#define IT_CIGR S(A(IT_R)) // Ì +#define IT_COGR S(A(IT_T)) // Ò +#define IT_CUGR S(A(IT_U)) // Ù +#define IT_NARP S(A(IT_P)) // ∏ +#define IT_LCBR S(A(IT_EGRV)) // { +#define IT_RCBR S(A(IT_PLUS)) // } +// Row 3 +#define IT_MACR S(A(IT_S)) // ¯ +#define IT_BREV S(A(IT_D)) // ˘ +#define IT_DOTA S(A(IT_F)) // ˙ +#define IT_RNGA S(A(IT_G)) // ˚ +#define IT_CEDL S(A(IT_H)) // ¸ +#define IT_DACU S(A(IT_J)) // ˝ +#define IT_OGON S(A(IT_K)) // ˛ +#define IT_CARN S(A(IT_L)) // ˇ +#define IT_CCCE S(A(IT_OGRV)) // Ç +#define IT_LOZN S(A(IT_UGRV)) // ◊ +// Row 4 +#define IT_GTEQ S(A(IT_LABK)) // ≥ +#define IT_DDAG S(A(IT_X)) // ‡ +#define IT_CAAC S(A(IT_C)) // Á +#define IT_CEAC S(A(IT_V)) // É +#define IT_CIAC S(A(IT_B)) // Í +#define IT_COAC S(A(IT_N)) // Ó +#define IT_CUAC S(A(IT_M)) // Ú +#define IT_MDDT S(A(IT_DOT)) // · +#define IT_MDSH S(A(IT_MINS)) // — -#endif +// DEPRECATED +#define IT_APOS IT_QUOT +#define IT_IACC IT_IGRV +#define IT_EACC IT_EGRV +#define IT_OACC IT_OGRV +#define IT_AACC IT_AGRV +#define IT_UACC IT_UGRV +#define IT_LESS IT_LABK +#define IT_DQOT IT_DQUO +#define IT_STRL IT_PND +#define IT_QST IT_QUES +#define IT_CRC IT_CIRC +#define IT_DEGR IT_DEG +#define IT_MORE IT_RABK +#define IT_TILDE IT_TILD +#define IT_GRAVE IT_GRV +#define IT_SHRP IT_HASH diff --git a/quantum/keymap_extras/keymap_romanian.h b/quantum/keymap_extras/keymap_romanian.h new file mode 100644 index 000000000..e2b8483df --- /dev/null +++ b/quantum/keymap_extras/keymap_romanian.h @@ -0,0 +1,188 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "keymap.h" + +// clang-format off + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ „ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ Q │ W │ E │ R │ T │ Y │ U │ I │ O │ P │ Ă │ Î │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ S │ D │ F │ G │ H │ J │ K │ L │ Ș │ Ț │  │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ \ │ Z │ X │ C │ V │ B │ N │ M │ , │ . │ / │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define RO_DLQU KC_GRV // „ +#define RO_1 KC_1 // 1 +#define RO_2 KC_2 // 2 +#define RO_3 KC_3 // 3 +#define RO_4 KC_4 // 4 +#define RO_5 KC_5 // 5 +#define RO_6 KC_6 // 6 +#define RO_7 KC_7 // 7 +#define RO_8 KC_8 // 8 +#define RO_9 KC_9 // 9 +#define RO_0 KC_0 // 0 +#define RO_MINS KC_MINS // - +#define RO_EQL KC_EQL // = +// Row 2 +#define RO_Q KC_Q // Q +#define RO_W KC_W // W +#define RO_E KC_E // E +#define RO_R KC_R // R +#define RO_T KC_T // T +#define RO_Y KC_Y // Y +#define RO_U KC_U // U +#define RO_I KC_I // I +#define RO_O KC_O // O +#define RO_P KC_P // P +#define RO_ABRV KC_LBRC // Ă +#define RO_ICIR KC_RBRC // Î +// Row 3 +#define RO_A KC_A // A +#define RO_S KC_S // S +#define RO_D KC_D // D +#define RO_F KC_F // F +#define RO_G KC_G // G +#define RO_H KC_H // H +#define RO_J KC_J // J +#define RO_K KC_K // K +#define RO_L KC_L // L +#define RO_SCOM KC_SCLN // Ș +#define RO_TCOM KC_QUOT // Ț +#define RO_ACIR KC_NUHS //  +// Row 4 +#define RO_BSLS KC_NUBS // (backslash) +#define RO_Z KC_Z // Z +#define RO_X KC_X // X +#define RO_C KC_C // C +#define RO_V KC_V // V +#define RO_B KC_B // B +#define RO_N KC_N // N +#define RO_M KC_M // M +#define RO_COMM KC_COMM // , +#define RO_DOT KC_DOT // . +#define RO_SLSH KC_SLSH // / + +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ” │ ! │ @ │ # │ $ │ % │ ^ │ & │ * │ ( │ ) │ _ │ + │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ | │ │ │ │ │ │ │ │ ; │ : │ ? │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define RO_RDQU S(RO_DLQU) // ” +#define RO_EXLM S(RO_1) // ! +#define RO_AT S(RO_2) // @ +#define RO_HASH S(RO_3) // # +#define RO_DLR S(RO_4) // $ +#define RO_PERC S(RO_5) // % +#define RO_CIRC S(RO_6) // ^ +#define RO_AMPR S(RO_7) // & +#define RO_ASTR S(RO_8) // * +#define RO_LPRN S(RO_9) // ( +#define RO_RPRN S(RO_0) // ) +#define RO_UNDS S(RO_MINS) // _ +#define RO_PLUS S(RO_EQL) // + +// Row 4 +#define RO_PIPE S(RO_BSLS) // | +#define RO_SCLN S(RO_COMM) // ; +#define RO_COLN S(RO_DOT) // : +#define RO_QUES S(RO_SLSH) // ? + +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ` │ ~ │ ˇ │ ^ │ ˘ │ ° │ ˛ │ ` │ ˙ │ ´ │ ˝ │ ¨ │ ¸ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ € │ │ │ │ │ │ │ § │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ ß │ Đ │ │ │ │ │ │ Ł │ │ ' │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ │ │ │ © │ │ │ │ │ < │ > │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define RO_GRV ALGR(RO_DLQU) // ` +#define RO_DTIL ALGR(RO_1) // ~ (dead) +#define RO_CARN ALGR(RO_2) // ˇ (dead) +#define RO_DCIR ALGR(RO_3) // ^ (dead) +#define RO_BREV ALGR(RO_4) // ˘ (dead) +#define RO_RNGA ALGR(RO_5) // ° (dead) +#define RO_OGON ALGR(RO_6) // ˛ (dead) +#define RO_DGRV ALGR(RO_7) // ` (dead) +#define RO_DOTA ALGR(RO_8) // ˙ (dead) +#define RO_ACUT ALGR(RO_9) // ´ (dead) +#define RO_DACU ALGR(RO_0) // ˝ (dead) +#define RO_DIAE ALGR(RO_MINS) // ¨ (dead) +#define RO_CEDL ALGR(RO_EQL) // ¸ (dead) +// Row 2 +#define RO_EURO ALGR(RO_E) // € +#define RO_SECT ALGR(RO_P) // § +#define RO_LBRC ALGR(RO_ABRV) // [ +#define RO_RBRC ALGR(RO_ICIR) // ] +// Row 3 +#define RO_SS ALGR(RO_S) // ß +#define RO_DSTR ALGR(RO_D) // Đ +#define RO_LSTR ALGR(RO_L) // Ł +#define RO_QUOT ALGR(RO_TCOM) // ' +// Row 4 +#define RO_COPY ALGR(RO_C) // © +#define RO_LABK ALGR(RO_COMM) // < +#define RO_RABK ALGR(RO_DOT) // > + +/* Shift+AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ~ │ │ │ │ │ │ │ │ │ │ │ – │ ± │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ " │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ │ │ │ │ │ │ │ │ « │ » │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define RO_TILD S(ALGR(RO_DLQU)) // ~ +#define RO_NDSH S(ALGR(RO_MINS)) // – +#define RO_PLMN S(ALGR(RO_EQL)) // ± +// Row 2 +#define RO_LCBR S(ALGR(RO_ABRV)) // { +#define RO_RCBR S(ALGR(RO_ICIR)) // } +// Row 3 +#define RO_DQUO S(ALGR(RO_TCOM)) // " +// Row 4 +#define RO_LDAQ S(ALGR(RO_COMM)) // « +#define RO_RDAQ S(ALGR(RO_DOT)) // » diff --git a/quantum/keymap_extras/keymap_serbian.h b/quantum/keymap_extras/keymap_serbian.h index 3cde5820a..738a2d4af 100644 --- a/quantum/keymap_extras/keymap_serbian.h +++ b/quantum/keymap_extras/keymap_serbian.h @@ -111,8 +111,8 @@ #define RS_LPRN S(RS_8) // ( #define RS_RPRN S(RS_9) // ) #define RS_EQL S(RS_0) // = -#define RS_DEG S(RS_QUOT) // ? -#define RS_UNDS S(RS_PLUS) // * +#define RS_QUES S(RS_QUOT) // ? +#define RS_ASTR S(RS_PLUS) // * // Row 4 #define RS_RABK S(RS_LABK) // > #define RS_SCLN S(RS_COMM) // ; diff --git a/quantum/keymap_extras/keymap_serbian_latin.h b/quantum/keymap_extras/keymap_serbian_latin.h index 363b7fdc1..b514102c0 100644 --- a/quantum/keymap_extras/keymap_serbian_latin.h +++ b/quantum/keymap_extras/keymap_serbian_latin.h @@ -111,8 +111,8 @@ #define RS_LPRN S(RS_8) // ( #define RS_RPRN S(RS_9) // ) #define RS_EQL S(RS_0) // = -#define RS_DEG S(RS_QUOT) // ? -#define RS_UNDS S(RS_PLUS) // * +#define RS_QUES S(RS_QUOT) // ? +#define RS_ASTR S(RS_PLUS) // * // Row 4 #define RS_RABK S(RS_LABK) // > #define RS_SCLN S(RS_COMM) // ; diff --git a/quantum/keymap_extras/keymap_slovenian.h b/quantum/keymap_extras/keymap_slovenian.h index c479cc07b..d24c9c635 100644 --- a/quantum/keymap_extras/keymap_slovenian.h +++ b/quantum/keymap_extras/keymap_slovenian.h @@ -137,11 +137,11 @@ #define SI_CARN ALGR(SI_2) // ˇ (dead) #define SI_CIRC ALGR(SI_3) // ^ (dead) #define SI_BREV ALGR(SI_4) // ˘ (dead) -#define SI_DEG ALGR(SI_5) // ° (dead) +#define SI_RNGA ALGR(SI_5) // ° (dead) #define SI_OGON ALGR(SI_6) // ˛ (dead) #define SI_GRV ALGR(SI_7) // ` #define SI_DOTA ALGR(SI_8) // ˙ (dead) -#define SI_ACCU ALGR(SI_9) // ´ (dead) +#define SI_ACUT ALGR(SI_9) // ´ (dead) #define SI_DACU ALGR(SI_0) // ˝ (dead) // Row 2 #define SI_BSLS ALGR(SI_Q) // (backslash) diff --git a/quantum/keymap_extras/keymap_spanish_dvorak.h b/quantum/keymap_extras/keymap_spanish_dvorak.h new file mode 100644 index 000000000..b6bc734c3 --- /dev/null +++ b/quantum/keymap_extras/keymap_spanish_dvorak.h @@ -0,0 +1,153 @@ +/* Copyright 2020 José Andrés García + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +#pragma once + +#include "keymap.h" + +// clang-format off + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ º │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ' │ ¡ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ . │ , │ Ñ │ P │ Y │ F │ G │ C │ H │ L │ ` │ + │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ A │ O │ E │ U │ I │ D │ R │ T │ N │ S │ ' │ Ç │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ < │ - │ Q │ J │ K │ X │ B │ M │ W │ V │ Z │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define DV_MORD KC_GRV // º +#define DV_1 KC_1 // 1 +#define DV_2 KC_2 // 2 +#define DV_3 KC_3 // 3 +#define DV_4 KC_4 // 4 +#define DV_5 KC_5 // 5 +#define DV_6 KC_6 // 6 +#define DV_7 KC_7 // 7 +#define DV_8 KC_8 // 8 +#define DV_9 KC_9 // 9 +#define DV_0 KC_0 // 0 +#define DV_QUOT KC_MINS // ' +#define DV_IEXL KC_EQL // ¡ +// Row 2 +#define DV_DOT KC_Q // . +#define DV_COMM KC_W // , +#define DV_NTIL KC_E // Ñ +#define DV_P KC_R // P +#define DV_Y KC_T // Y +#define DV_F KC_Y // F +#define DV_G KC_U // G +#define DV_C KC_I // C +#define DV_H KC_O // H +#define DV_L KC_P // L +#define DV_GRV KC_LBRC // ` (dead) +#define DV_PLUS KC_RBRC // + +// Row 3 +#define DV_A KC_A // A +#define DV_O KC_S // O +#define DV_E KC_D // E +#define DV_U KC_F // U +#define DV_I KC_G // I +#define DV_D KC_H // D +#define DV_R KC_J // R +#define DV_T KC_K // T +#define DV_N KC_L // N +#define DV_S KC_SCLN // S +#define DV_ACUT KC_QUOT // ´ (dead) +#define DV_CCED KC_NUHS // Ç +// Row 4 +#define DV_LABK KC_NUBS // < +#define DV_MINS KC_Z // - +#define DV_Q KC_X // Q +#define DV_J KC_C // J +#define DV_K KC_V // K +#define DV_X KC_B // X +#define DV_B KC_N // B +#define DV_M KC_M // M +#define DV_W KC_COMM // W +#define DV_V KC_DOT // V +#define DV_Z KC_SLSH // Z + +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ ª │ ! │ " │ · │ $ │ % │ & │ / │ ( │ ) │ = │ ? │ ¿ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ : │ ; │ │ │ │ │ │ │ │ │ ^ │ * │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ ¨ │ │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ > │ _ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define DV_FORD S(DV_MORD) // ª +#define DV_EXLM S(DV_1) // ! +#define DV_DQUO S(DV_2) // " +#define DV_BULT S(DV_3) // · +#define DV_DLR S(DV_4) // $ +#define DV_PERC S(DV_5) // % +#define DV_AMPR S(DV_6) // & +#define DV_SLSH S(DV_7) // / +#define DV_LPRN S(DV_8) // ( +#define DV_RPRN S(DV_9) // ) +#define DV_EQL S(DV_0) // = +#define DV_QUES S(DV_QUOT) // ? +#define DV_IQUE S(DV_IEXL) // ¿ +// Row 2 +#define DV_COLN S(KC_DOT) // : +#define DV_SCLN S(KC_COMM) // ; +#define DV_CIRC S(DV_GRV) // ^ (dead) +#define DV_ASTR S(DV_PLUS) // * +// Row 3 +#define DV_DIAE S(DV_GRV) // ¨ (dead) +// Row 4 +#define DV_RABK S(DV_LABK) // > +#define DV_UNDS S(DV_MINS) // _ + +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐ + * │ \ │ | │ @ │ # │ ~ │ € │ ¬ │ │ │ │ │ │ │ │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ [ │ ] │ │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐ │ + * │ │ │ │ │ │ │ │ │ │ │ │ { │ } │ │ + * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤ + * │ │ │ │ │ │ │ │ │ │ │ │ │ │ + * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │ │ │ │ │ │ │ │ │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define DV_BSLS ALGR(DV_MORD) // (backslash) +#define DV_PIPE ALGR(DV_1) // | +#define DV_AT ALGR(DV_2) // @ +#define DV_HASH ALGR(DV_3) // # +#define DV_TILD ALGR(DV_4) // ~ +#define DV_EURO ALGR(DV_5) // € +#define DV_NOT ALGR(DV_6) // ¬ +// Row 2 +#define DV_LBRC ALGR(DV_GRV) // [ +#define DV_RBRC ALGR(DV_PLUS) // ] +// Row 3 +#define DV_LCBR ALGR(DV_ACUT) // { +#define DV_RCBR ALGR(DV_CCED) // } diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h index a4d4c3023..4d2eaa978 100644 --- a/quantum/keymap_extras/keymap_swedish.h +++ b/quantum/keymap_extras/keymap_swedish.h @@ -162,6 +162,7 @@ #define SE_BULT SE_CURR #define SE_GRTR SE_RABK #define SE_AA SE_ARNG +#define SE_AE SE_ADIA #define SE_AM SE_ARNG #define SE_MU SE_MICR // Swedish macOS symbols (not vetted) diff --git a/quantum/keymap_extras/sendstring_bepo.h b/quantum/keymap_extras/sendstring_bepo.h index 2dfe7e4a4..8119cd9f5 100644 --- a/quantum/keymap_extras/sendstring_bepo.h +++ b/quantum/keymap_extras/sendstring_bepo.h @@ -74,13 +74,13 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ! " # $ % & ' - KC_SPC, BP_DCRC, BP_DQOT, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_APOS, + KC_SPC, BP_DCIR, BP_DQUO, BP_DLR, BP_DLR, BP_PERC, BP_P, BP_QUOT, // ( ) * + , - . / BP_LPRN, BP_RPRN, BP_ASTR, BP_PLUS, BP_COMM, BP_MINS, BP_DOT, BP_SLSH, // 0 1 2 3 4 5 6 7 - BP_ASTR, BP_DQOT, BP_LGIL, BP_RGIL, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, + BP_ASTR, BP_DQUO, BP_LDAQ, BP_RDAQ, BP_LPRN, BP_RPRN, BP_AT, BP_PLUS, // 8 9 : ; < = > ? - BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LGIL, BP_EQL, BP_RGIL, BP_APOS, + BP_MINS, BP_SLSH, BP_DOT, BP_COMM, BP_LDAQ, BP_EQL, BP_RDAQ, BP_QUOT, // @ A B C D E F G BP_AT, BP_A, BP_B, BP_C, BP_D, BP_E, BP_F, BP_G, // H I J K L M N O diff --git a/quantum/keymap_extras/sendstring_fr_ch.h b/quantum/keymap_extras/sendstring_fr_ch.h new file mode 100644 index 000000000..2acce5663 --- /dev/null +++ b/quantum/keymap_extras/sendstring_fr_ch.h @@ -0,0 +1,100 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for Swiss French layouts + +#pragma once + +#include "keymap_fr_ch.h" +#include "quantum.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 0, 1, 1, 0), + KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 1), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 1, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, CH_DIAE, CH_2, CH_3, CH_DLR, CH_5, CH_6, CH_QUOT, + // ( ) * + , - . / + CH_8, CH_9, CH_3, CH_0, CH_COMM, CH_MINS, CH_DOT, CH_7, + // 0 1 2 3 4 5 6 7 + CH_0, CH_1, CH_2, CH_3, CH_4, CH_5, CH_6, CH_7, + // 8 9 : ; < = > ? + CH_8, CH_9, CH_DOT, CH_COMM, CH_LABK, CH_0, CH_LABK, CH_QUOT, + // @ A B C D E F G + CH_2, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, + // H I J K L M N O + CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, + // P Q R S T U V W + CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, + // X Y Z [ \ ] ^ _ + CH_X, CH_Y, CH_Z, CH_EGRV, CH_LABK, CH_DIAE, CH_CIRC, CH_MINS, + // ` a b c d e f g + CH_CIRC, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, + // h i j k l m n o + CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, + // p q r s t u v w + CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, + // x y z { | } ~ DEL + CH_X, CH_Y, CH_Z, CH_AGRV, CH_7, CH_DLR, CH_CIRC, KC_DEL +}; 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 = { XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, // ! " # $ % & ' - KC_SPC, FR_EXLM, FR_QUOT, FR_DQUO, FR_DLR, FR_UGRV, FR_AMP, FR_QUOT, + KC_SPC, FR_EXLM, FR_QUOT, FR_DQUO, FR_DLR, FR_UGRV, FR_AMPR, FR_QUOT, // ( ) * + , - . / FR_LPRN, FR_RPRN, FR_ASTR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, // 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 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for macOS French (AZERTY) layouts + +#pragma once + +#include "keymap_french_osx.h" +#include "quantum.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 0, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 0, 0, 0, 0, 1, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, FR_EXLM, FR_DQUO, FR_AT, FR_DLR, FR_LUGR, FR_AMPR, FR_QUOT, + // ( ) * + , - . / + FR_LPRN, FR_RPRN, FR_DLR, FR_EQL, FR_COMM, FR_MINS, FR_SCLN, FR_COLN, + // 0 1 2 3 4 5 6 7 + FR_LAGR, FR_AMPR, FR_LEAC, FR_DQUO, FR_QUOT, FR_LPRN, FR_SECT, FR_LEGR, + // 8 9 : ; < = > ? + FR_EXLM, FR_LCCE, FR_COLN, FR_SCLN, FR_LABK, FR_EQL, FR_LABK, FR_COMM, + // @ A B C D E F G + FR_AT, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G, + // H I J K L M N O + FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O, + // P Q R S T U V W + FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W, + // X Y Z [ \ ] ^ _ + FR_X, FR_Y, FR_Z, FR_LPRN, FR_COLN, FR_RPRN, FR_CIRC, FR_MINS, + // ` a b c d e f g + FR_GRV, FR_A, FR_B, FR_C, FR_D, FR_E, FR_F, FR_G, + // h i j k l m n o + FR_H, FR_I, FR_J, FR_K, FR_L, FR_M, FR_N, FR_O, + // p q r s t u v w + FR_P, FR_Q, FR_R, FR_S, FR_T, FR_U, FR_V, FR_W, + // x y z { | } ~ DEL + FR_X, FR_Y, FR_Z, FR_LPRN, FR_L, FR_RPRN, FR_N, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_german_ch.h b/quantum/keymap_extras/sendstring_german_ch.h new file mode 100644 index 000000000..1e1327c51 --- /dev/null +++ b/quantum/keymap_extras/sendstring_german_ch.h @@ -0,0 +1,100 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for Swiss German layouts + +#pragma once + +#include "keymap_german_ch.h" +#include "quantum.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 0, 1, 1, 0), + KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, CH_DIAE, CH_2, CH_3, CH_DLR, CH_5, CH_6, CH_QUOT, + // ( ) * + , - . / + CH_8, CH_9, CH_3, CH_1, CH_COMM, CH_MINS, CH_DOT, CH_7, + // 0 1 2 3 4 5 6 7 + CH_0, CH_1, CH_2, CH_3, CH_4, CH_5, CH_6, CH_7, + // 8 9 : ; < = > ? + CH_8, CH_9, CH_DOT, CH_COMM, CH_LABK, CH_0, CH_LABK, CH_QUOT, + // @ A B C D E F G + CH_2, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, + // H I J K L M N O + CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, + // P Q R S T U V W + CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, + // X Y Z [ \ ] ^ _ + CH_X, CH_Y, CH_Z, CH_UDIA, CH_LABK, CH_DIAE, CH_CIRC, CH_MINS, + // ` a b c d e f g + CH_CIRC, CH_A, CH_B, CH_C, CH_D, CH_E, CH_F, CH_G, + // h i j k l m n o + CH_H, CH_I, CH_J, CH_K, CH_L, CH_M, CH_N, CH_O, + // p q r s t u v w + CH_P, CH_Q, CH_R, CH_S, CH_T, CH_U, CH_V, CH_W, + // x y z { | } ~ DEL + CH_X, CH_Y, CH_Z, CH_ADIA, CH_7, CH_DLR, CH_CIRC, KC_DEL +}; 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 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for macOS German layouts + +#pragma once + +#include "keymap_german_osx.h" +#include "quantum.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 1, 0, 0, 1), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, DE_1, DE_2, DE_HASH, DE_4, DE_5, DE_6, DE_HASH, + // ( ) * + , - . / + DE_8, DE_9, DE_PLUS, DE_PLUS, DE_COMM, DE_MINS, DE_DOT, DE_7, + // 0 1 2 3 4 5 6 7 + DE_0, DE_1, DE_2, DE_3, DE_4, DE_5, DE_6, DE_7, + // 8 9 : ; < = > ? + DE_8, DE_9, DE_DOT, DE_COMM, DE_LABK, DE_0, DE_LABK, DE_SS, + // @ A B C D E F G + DE_L, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, + // H I J K L M N O + DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, + // P Q R S T U V W + DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, + // X Y Z [ \ ] ^ _ + DE_X, DE_Y, DE_Z, DE_5, DE_7, DE_6, DE_CIRC, DE_MINS, + // ` a b c d e f g + DE_ACUT, DE_A, DE_B, DE_C, DE_D, DE_E, DE_F, DE_G, + // h i j k l m n o + DE_H, DE_I, DE_J, DE_K, DE_L, DE_M, DE_N, DE_O, + // p q r s t u v w + DE_P, DE_Q, DE_R, DE_S, DE_T, DE_U, DE_V, DE_W, + // x y z { | } ~ DEL + DE_X, DE_Y, DE_Z, DE_8, DE_7, DE_9, DE_N, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_italian_osx_ansi.h b/quantum/keymap_extras/sendstring_italian_osx_ansi.h new file mode 100644 index 000000000..c61874015 --- /dev/null +++ b/quantum/keymap_extras/sendstring_italian_osx_ansi.h @@ -0,0 +1,100 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for macOS Italian ANSI layouts + +#pragma once + +#include "keymap_italian_osx_ansi.h" +#include "quantum.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 0), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 1, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, IT_1, IT_2, IT_AGRV, IT_4, IT_5, IT_6, IT_QUOT, + // ( ) * + , - . / + IT_8, IT_9, IT_PLUS, IT_PLUS, IT_COMM, IT_MINS, IT_DOT, IT_7, + // 0 1 2 3 4 5 6 7 + IT_0, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7, + // 8 9 : ; < = > ? + IT_8, IT_9, IT_DOT, IT_COMM, IT_LABK, IT_0, IT_LABK, IT_QUOT, + // @ A B C D E F G + IT_OGRV, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, + // H I J K L M N O + IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, + // P Q R S T U V W + IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, + // X Y Z [ \ ] ^ _ + IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_IGRV, IT_MINS, + // ` a b c d e f g + IT_BSLS, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, + // h i j k l m n o + IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, + // p q r s t u v w + IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, + // x y z { | } ~ DEL + IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_5, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_italian_osx_iso.h b/quantum/keymap_extras/sendstring_italian_osx_iso.h new file mode 100644 index 000000000..eb5853b00 --- /dev/null +++ b/quantum/keymap_extras/sendstring_italian_osx_iso.h @@ -0,0 +1,100 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for macOS Italian ISO layouts + +#pragma once + +#include "keymap_italian_osx_iso.h" +#include "quantum.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 0), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 1, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, IT_1, IT_2, IT_AGRV, IT_4, IT_5, IT_6, IT_QUOT, + // ( ) * + , - . / + IT_8, IT_9, IT_PLUS, IT_PLUS, IT_COMM, IT_MINS, IT_DOT, IT_7, + // 0 1 2 3 4 5 6 7 + IT_0, IT_1, IT_2, IT_3, IT_4, IT_5, IT_6, IT_7, + // 8 9 : ; < = > ? + IT_8, IT_9, IT_DOT, IT_COMM, IT_LABK, IT_0, IT_LABK, IT_QUOT, + // @ A B C D E F G + IT_OGRV, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, + // H I J K L M N O + IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, + // P Q R S T U V W + IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, + // X Y Z [ \ ] ^ _ + IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_IGRV, IT_MINS, + // ` a b c d e f g + IT_BSLS, IT_A, IT_B, IT_C, IT_D, IT_E, IT_F, IT_G, + // h i j k l m n o + IT_H, IT_I, IT_J, IT_K, IT_L, IT_M, IT_N, IT_O, + // p q r s t u v w + IT_P, IT_Q, IT_R, IT_S, IT_T, IT_U, IT_V, IT_W, + // x y z { | } ~ DEL + IT_X, IT_Y, IT_Z, IT_EGRV, IT_BSLS, IT_PLUS, IT_5, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_romanian.h b/quantum/keymap_extras/sendstring_romanian.h new file mode 100644 index 000000000..9b5bee4a1 --- /dev/null +++ b/quantum/keymap_extras/sendstring_romanian.h @@ -0,0 +1,100 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for Romanian layouts + +#pragma once + +#include "keymap_romanian.h" +#include "quantum" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 0), + KCLUT_ENTRY(1, 1, 1, 1, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 0, 0, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 1, 0, 1, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 0, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, RO_1, RO_TCOM, RO_3, RO_4, RO_5, RO_7, RO_TCOM, + // ( ) * + , - . / + RO_9, RO_0, RO_8, RO_EQL, RO_COMM, RO_MINS, RO_DOT, RO_SLSH, + // 0 1 2 3 4 5 6 7 + RO_0, RO_1, RO_2, RO_3, RO_4, RO_5, RO_6, RO_7, + // 8 9 : ; < = > ? + RO_8, RO_9, RO_DOT, RO_COMM, RO_COMM, RO_EQL, RO_DOT, RO_SLSH, + // @ A B C D E F G + RO_2, RO_A, RO_B, RO_C, RO_D, RO_E, RO_F, RO_G, + // H I J K L M N O + RO_H, RO_I, RO_J, RO_K, RO_L, RO_M, RO_N, RO_O, + // P Q R S T U V W + RO_P, RO_Q, RO_R, RO_S, RO_T, RO_U, RO_V, RO_W, + // X Y Z [ \ ] ^ _ + RO_X, RO_Y, RO_Z, RO_ABRV, RO_BSLS, RO_ICIR, RO_6, RO_MINS, + // ` a b c d e f g + RO_DLQU, RO_A, RO_B, RO_C, RO_D, RO_E, RO_F, RO_G, + // h i j k l m n o + RO_H, RO_I, RO_J, RO_K, RO_L, RO_M, RO_N, RO_O, + // p q r s t u v w + RO_P, RO_Q, RO_R, RO_S, RO_T, RO_U, RO_V, RO_W, + // x y z { | } ~ DEL + RO_X, RO_Y, RO_Z, RO_ABRV, RO_BSLS, RO_ICIR, RO_DLQU, KC_DEL +}; diff --git a/quantum/keymap_extras/sendstring_spanish.h b/quantum/keymap_extras/sendstring_spanish.h index 405cf9b0a..b984a6f46 100644 --- a/quantum/keymap_extras/sendstring_spanish.h +++ b/quantum/keymap_extras/sendstring_spanish.h @@ -96,5 +96,5 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = { // p q r s t u v w ES_P, ES_Q, ES_R, ES_S, ES_T, ES_U, ES_V, ES_W, // x y z { | } ~ DEL - ES_X, ES_Y, ES_Z, ES_ACUT, ES_1, ES_CCED, ES_NTIL, KC_DEL + ES_X, ES_Y, ES_Z, ES_ACUT, ES_1, ES_CCED, ES_4, KC_DEL }; diff --git a/quantum/keymap_extras/sendstring_spanish_dvorak.h b/quantum/keymap_extras/sendstring_spanish_dvorak.h new file mode 100644 index 000000000..87d582491 --- /dev/null +++ b/quantum/keymap_extras/sendstring_spanish_dvorak.h @@ -0,0 +1,100 @@ +/* Copyright 2020 José Andrés García + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see <http://www.gnu.org/licenses/>. + */ + +// Sendstring lookup tables for Spanish Dvorak layout + +#pragma once + +#include "keymap_spanish_dvorak.h" +#include "quantum.h" + +// clang-format off + +const uint8_t ascii_to_shift_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 1, 1, 0, 1, 1, 1, 0), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 0, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 1, 1, 0, 1, 1, 1), + KCLUT_ENTRY(0, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 1, 1, 1, 1, 1), + KCLUT_ENTRY(1, 1, 1, 0, 0, 0, 1, 1), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0) +}; + +const uint8_t ascii_to_altgr_lut[16] PROGMEM = { + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + + KCLUT_ENTRY(0, 0, 0, 1, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), + KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0) +}; + +const uint8_t ascii_to_keycode_lut[128] PROGMEM = { + // NUL SOH STX ETX EOT ENQ ACK BEL + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // BS TAB LF VT FF CR SO SI + KC_BSPC, KC_TAB, KC_ENT, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // DLE DC1 DC2 DC3 DC4 NAK SYN ETB + XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + // CAN EM SUB ESC FS GS RS US + XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, + + // ! " # $ % & ' + KC_SPC, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_QUOT, + // ( ) * + , - . / + DV_8, DV_9, DV_PLUS, DV_PLUS, DV_COMM, DV_MINS, DV_DOT, DV_7, + // 0 1 2 3 4 5 6 7 + DV_0, DV_1, DV_2, DV_3, DV_4, DV_5, DV_6, DV_7, + // 8 9 : ; < = > ? + DV_8, DV_9, DV_DOT, DV_COMM, DV_LABK, DV_0, DV_LABK, DV_QUOT, + // @ A B C D E F G + DV_2, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, + // H I J K L M N O + DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, + // P Q R S T U V W + DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, + // X Y Z [ \ ] ^ _ + DV_X, DV_Y, DV_Z, DV_GRV, DV_MORD, DV_PLUS, DV_GRV, DV_MINS, + // ` a b c d e f g + DV_GRV, DV_A, DV_B, DV_C, DV_D, DV_E, DV_F, DV_G, + // h i j k l m n o + DV_H, DV_I, DV_J, DV_K, DV_L, DV_M, DV_N, DV_O, + // p q r s t u v w + DV_P, DV_Q, DV_R, DV_S, DV_T, DV_U, DV_V, DV_W, + // x y z { | } ~ DEL + DV_X, DV_Y, DV_Z, DV_ACUT, DV_1, DV_CCED, DV_4, KC_DEL +}; diff --git a/quantum/stm32/halconf.h b/quantum/stm32/halconf.h index 106f0f575..533803a25 100644 --- a/quantum/stm32/halconf.h +++ b/quantum/stm32/halconf.h @@ -156,7 +156,7 @@ * @brief Enables the SPI subsystem. */ # if !defined(HAL_USE_SPI) || defined(__DOXYGEN__) -# define HAL_USE_SPI FALSE +# define HAL_USE_SPI TRUE # endif /** diff --git a/quantum/stm32/mcuconf.h b/quantum/stm32/mcuconf.h index ca4ad7b51..71994a98e 100644 --- a/quantum/stm32/mcuconf.h +++ b/quantum/stm32/mcuconf.h @@ -227,7 +227,7 @@ * SPI driver system settings. */ #define STM32_SPI_USE_SPI1 FALSE -#define STM32_SPI_USE_SPI2 FALSE +#define STM32_SPI_USE_SPI2 TRUE #define STM32_SPI_USE_SPI3 FALSE #define STM32_SPI_SPI1_DMA_PRIORITY 1 #define STM32_SPI_SPI2_DMA_PRIORITY 1 |