summaryrefslogtreecommitdiffstats
path: root/quantum/keymap_extras
diff options
context:
space:
mode:
Diffstat (limited to 'quantum/keymap_extras')
-rw-r--r--quantum/keymap_extras/keymap_belgian.h9
-rw-r--r--quantum/keymap_extras/keymap_bepo.h153
-rw-r--r--quantum/keymap_extras/keymap_canadian_multilingual.h49
-rw-r--r--quantum/keymap_extras/keymap_fr_ch.h4
-rw-r--r--quantum/keymap_extras/keymap_french.h6
-rw-r--r--quantum/keymap_extras/keymap_german.h4
-rw-r--r--quantum/keymap_extras/keymap_german_ch.h4
-rw-r--r--quantum/keymap_extras/keymap_hungarian.h4
-rw-r--r--quantum/keymap_extras/keymap_italian.h7
-rw-r--r--quantum/keymap_extras/keymap_jp.h3
-rw-r--r--quantum/keymap_extras/keymap_neo2.h2
-rw-r--r--quantum/keymap_extras/keymap_nordic.h4
-rw-r--r--quantum/keymap_extras/keymap_plover_dvorak.h47
-rw-r--r--quantum/keymap_extras/keymap_slovenian.h107
-rw-r--r--quantum/keymap_extras/keymap_spanish.h4
-rw-r--r--quantum/keymap_extras/keymap_swedish.h4
-rw-r--r--quantum/keymap_extras/keymap_uk.h4
-rw-r--r--quantum/keymap_extras/sendstring_german.h81
18 files changed, 332 insertions, 164 deletions
diff --git a/quantum/keymap_extras/keymap_belgian.h b/quantum/keymap_extras/keymap_belgian.h
index 764c561417..ab89fbabfe 100644
--- a/quantum/keymap_extras/keymap_belgian.h
+++ b/quantum/keymap_extras/keymap_belgian.h
@@ -18,15 +18,6 @@
#include "keymap.h"
-#define BE_LGUI KC_LALT
-#define BE_LALT KC_LGUI
-
-// Alt gr
-#ifndef ALGR
-#define ALGR(kc) RALT(kc)
-#endif
-#define NO_ALGR KC_RALT
-
// Normal characters
// Line 1
#define BE_SUP2 KC_GRV
diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h
index 05fd2b0023..8d7b36ca3d 100644
--- a/quantum/keymap_extras/keymap_bepo.h
+++ b/quantum/keymap_extras/keymap_bepo.h
@@ -19,15 +19,6 @@
#include "keymap.h"
-// Alt gr
-#ifndef ALTGR
-#define ALTGR(kc) RALT(kc)
-#endif
-#ifndef ALGR
-#define ALGR(kc) ALTGR(kc)
-#endif
-#define BP_ALGR KC_RALT
-
// Normal characters
// First row (on usual keyboards)
#define BP_DOLLAR KC_GRAVE // $
@@ -142,138 +133,138 @@
// AltGr-ed characters
// First row
-#define BP_EN_DASH ALTGR(BP_DOLLAR) // –
+#define BP_EN_DASH ALGR(BP_DOLLAR) // –
#define BP_NDSH BP_EN_DASH
-#define BP_EM_DASH ALTGR(KC_1) // —
+#define BP_EM_DASH ALGR(KC_1) // —
#define BP_MDSH BP_EM_DASH
-#define BP_LESS ALTGR(KC_2) // <
-#define BP_GREATER ALTGR(KC_3) // >
+#define BP_LESS ALGR(KC_2) // <
+#define BP_GREATER ALGR(KC_3) // >
#define BP_GRTR BP_GREATER
-#define BP_LBRACKET ALTGR(KC_4) // [
+#define BP_LBRACKET ALGR(KC_4) // [
#define BP_LBRC BP_LBRACKET
-#define BP_RBRACKET ALTGR(KC_5) // ]
+#define BP_RBRACKET ALGR(KC_5) // ]
#define BP_RBRC BP_RBRACKET
-#define BP_CIRCUMFLEX ALTGR(KC_6) // ^
+#define BP_CIRCUMFLEX ALGR(KC_6) // ^
#define BP_CIRC BP_CIRCUMFLEX
-#define BP_PLUS_MINUS ALTGR(KC_7) // ±
+#define BP_PLUS_MINUS ALGR(KC_7) // ±
#define BP_PSMS BP_PLUS_MINUS
-#define BP_MATH_MINUS ALTGR(KC_8) // −
+#define BP_MATH_MINUS ALGR(KC_8) // −
#define BP_MMNS BP_MATH_MINUS
-#define BP_OBELUS ALTGR(KC_9) // ÷
+#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 ALTGR(KC_0) // ×
+#define BP_TIMES ALGR(KC_0) // ×
#define BP_TIMS BP_TIMES
-#define BP_DIFFERENT ALTGR(BP_EQUAL) // ≠
+#define BP_DIFFERENT ALGR(BP_EQUAL) // ≠
#define BP_DIFF BP_DIFFERENT
-#define BP_PERMILLE ALTGR(BP_PERCENT) // ‰
+#define BP_PERMILLE ALGR(BP_PERCENT) // ‰
#define BP_PMIL BP_PERMILLE
// Second row
-#define BP_PIPE ALTGR(BP_B) // |
-#define BP_DEAD_ACUTE ALTGR(BP_E_ACUTE) // dead ´
+#define BP_PIPE ALGR(BP_B) // |
+#define BP_DEAD_ACUTE ALGR(BP_E_ACUTE) // dead ´
#define BP_DACT BP_DEAD_ACUTE
-#define BP_AMPERSAND ALTGR(BP_P) // &
+#define BP_AMPERSAND ALGR(BP_P) // &
#define BP_AMPR BP_AMPERSAND
-#define BP_OE_LIGATURE ALTGR(BP_O) // œ
+#define BP_OE_LIGATURE ALGR(BP_O) // œ
#define BP_OE BP_OE_LIGATURE
-#define BP_DEAD_GRAVE ALTGR(BP_E_GRAVE) // `
+#define BP_DEAD_GRAVE ALGR(BP_E_GRAVE) // `
#define BP_DGRV BP_DEAD_GRAVE
-#define BP_INVERTED_EXCLAIM ALTGR(BP_DEAD_CIRCUMFLEX) // ¡
+#define BP_INVERTED_EXCLAIM ALGR(BP_DEAD_CIRCUMFLEX) // ¡
#define BP_IXLM BP_INVERTED_EXCLAIM
-#define BP_DEAD_CARON ALTGR(BP_V) // dead ˇ
+#define BP_DEAD_CARON ALGR(BP_V) // dead ˇ
#define BP_DCAR BP_DEAD_CARON
-#define BP_ETH ALTGR(BP_D) // ð
-#define BP_DEAD_SLASH ALTGR(BP_L) // dead /
+#define BP_ETH ALGR(BP_D) // ð
+#define BP_DEAD_SLASH ALGR(BP_L) // dead /
#define BP_DSLH BP_DEAD_SLASH
-#define BP_IJ_LIGATURE ALTGR(BP_J) // ij
+#define BP_IJ_LIGATURE ALGR(BP_J) // ij
#define BP_IJ BP_IJ_LIGATURE
-#define BP_SCHWA ALTGR(BP_Z) // ə
+#define BP_SCHWA ALGR(BP_Z) // ə
#define BP_SCWA BP_SCHWA
-#define BP_DEAD_BREVE ALTGR(BP_W) // dead ˘
+#define BP_DEAD_BREVE ALGR(BP_W) // dead ˘
#define BP_DBRV BP_DEAD_BREVE
// Third row
-#define BP_AE_LIGATURE ALTGR(BP_A) // æ
+#define BP_AE_LIGATURE ALGR(BP_A) // æ
#define BP_AE BP_AE_LIGATURE
-#define BP_U_GRAVE ALTGR(BP_U) // ù
+#define BP_U_GRAVE ALGR(BP_U) // ù
#define BP_UGRV BP_U_GRAVE
-#define BP_DEAD_TREMA ALTGR(BP_I) // dead ¨ (trema/umlaut/diaresis)
+#define BP_DEAD_TREMA ALGR(BP_I) // dead ¨ (trema/umlaut/diaresis)
#define BP_DTRM BP_DEAD_TREMA
-#define BP_EURO ALTGR(BP_E) // €
-#define BP_TYPOGRAPHICAL_APOSTROPHE ALTGR(BP_COMMA) // ’
+#define BP_EURO ALGR(BP_E) // €
+#define BP_TYPOGRAPHICAL_APOSTROPHE ALGR(BP_COMMA) // ’
#define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE
-#define BP_COPYRIGHT ALTGR(BP_C) // ©
+#define BP_COPYRIGHT ALGR(BP_C) // ©
#define BP_CPRT BP_COPYRIGHT
-#define BP_THORN ALTGR(BP_T) // þ
+#define BP_THORN ALGR(BP_T) // þ
#define BP_THRN BP_THORN
-#define BP_SHARP_S ALTGR(BP_S) // ß
+#define BP_SHARP_S ALGR(BP_S) // ß
#define BP_SRPS BP_SHARP_S
-#define BP_REGISTERED_TRADEMARK ALTGR(BP_R) // ®
+#define BP_REGISTERED_TRADEMARK ALGR(BP_R) // ®
#define BP_RTM BP_REGISTERED_TRADEMARK
-#define BP_DEAD_TILDE ALTGR(BP_N) // dead ~
+#define BP_DEAD_TILDE ALGR(BP_N) // dead ~
#define BP_DTLD BP_DEAD_TILDE
-#define BP_DEAD_MACRON ALTGR(BP_M) // dead ¯
+#define BP_DEAD_MACRON ALGR(BP_M) // dead ¯
#define BP_DMCR BP_DEAD_MACRON
-#define BP_DEAD_CEDILLA ALTGR(BP_C_CEDILLA) // dead ¸
+#define BP_DEAD_CEDILLA ALGR(BP_C_CEDILLA) // dead ¸
#define BP_DCED BP_DEAD_CEDILLA
// Fourth row
-#define BP_NONUS_SLASH ALTGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo)
+#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 ALTGR(BP_A_GRAVE) /* \ */
+#define BP_BACKSLASH ALGR(BP_A_GRAVE) /* \ */
#define BP_BSLS BP_BACKSLASH
-#define BP_LEFT_CURLY_BRACE ALTGR(BP_Y) // {
+#define BP_LEFT_CURLY_BRACE ALGR(BP_Y) // {
#define BP_LCBR BP_LEFT_CURLY_BRACE
-#define BP_RIGHT_CURLY_BRACE ALTGR(BP_X) // }
+#define BP_RIGHT_CURLY_BRACE ALGR(BP_X) // }
#define BP_RCBR BP_RIGHT_CURLY_BRACE
-#define BP_ELLIPSIS ALTGR(BP_DOT) // …
+#define BP_ELLIPSIS ALGR(BP_DOT) // …
#define BP_ELPS BP_ELLIPSIS
-#define BP_TILDE ALTGR(BP_K) // ~
+#define BP_TILDE ALGR(BP_K) // ~
#define BP_TILD BP_TILDE
-#define BP_INVERTED_QUESTION ALTGR(BP_QUESTION) // ¿
+#define BP_INVERTED_QUESTION ALGR(BP_QUESTION) // ¿
#define BP_IQST BP_INVERTED_QUESTION
-#define BP_DEAD_RING ALTGR(BP_Q) // dead °
+#define BP_DEAD_RING ALGR(BP_Q) // dead °
#define BP_DRNG BP_DEAD_RING
-#define BP_DEAD_GREEK ALTGR(BP_G) // dead Greek key (following key will make a Greek letter)
+#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 ALTGR(BP_H) // †
+#define BP_DAGGER ALGR(BP_H) // †
#define BP_DAGR BP_DAGGER
-#define BP_DEAD_OGONEK ALTGR(BP_F) // dead ˛
+#define BP_DEAD_OGONEK ALGR(BP_F) // dead ˛
#define BP_DOGO BP_DEAD_OGONEK
// Space bar
-#define BP_UNDERSCORE ALTGR(KC_SPACE) // _
+#define BP_UNDERSCORE ALGR(KC_SPACE) // _
#define BP_UNDS BP_UNDERSCORE
// AltGr-Shifted characters (different from capitalised AltGr-ed characters)
// First row
-#define BP_PARAGRAPH ALTGR(BP_HASH) // ¶
+#define BP_PARAGRAPH ALGR(BP_HASH) // ¶
#define BP_PARG BP_PARAGRAPH
-#define BP_LOW_DOUBLE_QUOTE ALTGR(BP_1) // „
+#define BP_LOW_DOUBLE_QUOTE ALGR(BP_1) // „
#define BP_LWQT BP_LOW_DOUBLE_QUOTE
-#define BP_LEFT_DOUBLE_QUOTE ALTGR(BP_2) // “
+#define BP_LEFT_DOUBLE_QUOTE ALGR(BP_2) // “
#define BP_LDQT BP_LEFT_DOUBLE_QUOTE
-#define BP_RIGHT_DOUBLE_QUOTE ALTGR(BP_3) // ”
+#define BP_RIGHT_DOUBLE_QUOTE ALGR(BP_3) // ”
#define BP_RDQT BP_RIGHT_DOUBLE_QUOTE
-#define BP_LESS_OR_EQUAL ALTGR(BP_4) // ≤
+#define BP_LESS_OR_EQUAL ALGR(BP_4) // ≤
#define BP_LEQL BP_LESS_OR_EQUAL
-#define BP_GREATER_OR_EQUAL ALTGR(BP_5) // ≥
+#define BP_GREATER_OR_EQUAL ALGR(BP_5) // ≥
#define BP_GEQL BP_GREATER_OR_EQUAL
-// nothing on ALTGR(BP_6)
-#define BP_NEGATION ALTGR(BP_7) // ¬
+// nothing on ALGR(BP_6)
+#define BP_NEGATION ALGR(BP_7) // ¬
#define BP_NEGT BP_NEGATION
-#define BP_ONE_QUARTER ALTGR(BP_8) // ¼
+#define BP_ONE_QUARTER ALGR(BP_8) // ¼
#define BP_1QRT BP_ONE_QUARTER
-#define BP_ONE_HALF ALTGR(BP_9) // ½
+#define BP_ONE_HALF ALGR(BP_9) // ½
#define BP_1HLF BP_ONE_HALF
-#define BP_THREE_QUARTERS ALTGR(BP_0) // ¾
+#define BP_THREE_QUARTERS ALGR(BP_0) // ¾
#define BP_3QRT BP_THREE_QUARTERS
-#define BP_MINUTES ALTGR(BP_DEGREE) // ′
+#define BP_MINUTES ALGR(BP_DEGREE) // ′
#define BP_MNUT BP_MINUTES
-#define BP_SECONDS ALTGR(BP_GRAVE) // ″
+#define BP_SECONDS ALGR(BP_GRAVE) // ″
#define BP_SCND BP_SECONDS
// Second row
@@ -281,7 +272,7 @@
#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 ALTGR(LSFT(BP_P)) // §
+#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) // `
@@ -292,35 +283,35 @@
#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(ALTGR(BP_COMMA)) // dead ̛
+#define BP_DEAD_HORN LSFT(ALGR(BP_COMMA)) // dead ̛
#define BP_DHRN BP_DEAD_HORN
-#define BP_LONG_S LSFT(ALTGR(BP_C)) // ſ
+#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(ALTGR(BP_M)) // º
+#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
// Fourth row
-#define BP_LEFT_QUOTE LSFT(ALTGR(BP_Y)) // ‘
+#define BP_LEFT_QUOTE LSFT(ALGR(BP_Y)) // ‘
#define BP_LQOT BP_LEFT_QUOTE
-#define BP_RIGHT_QUOTE LSFT(ALTGR(BP_X)) // ’
+#define BP_RIGHT_QUOTE LSFT(ALGR(BP_X)) // ’
#define BP_RQOT BP_RIGHT_QUOTE
-#define BP_INTERPUNCT LSFT(ALTGR(BP_DOT)) // ·
+#define BP_INTERPUNCT LSFT(ALGR(BP_DOT)) // ·
#define BP_IPCT BP_INTERPUNCT
-#define BP_DEAD_HOOK_ABOVE LSFT(ALTGR(BP_QUESTION)) // dead ̉
+#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(ALTGR(BP_F)) // ª
+#define BP_ORDINAL_INDICATOR_A LSFT(ALGR(BP_F)) // ª
#define BP_ORDA BP_ORDINAL_INDICATOR_A
// Space bar
-#define BP_NARROW_NON_BREAKING_SPACE ALTGR(BP_NON_BREAKING_SPACE)
+#define BP_NARROW_NON_BREAKING_SPACE ALGR(BP_NON_BREAKING_SPACE)
#define BP_NNBS BP_NARROW_NON_BREAKING_SPACE
#endif
diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h
index 1d45bee32e..2b5b95d6fa 100644
--- a/quantum/keymap_extras/keymap_canadian_multilingual.h
+++ b/quantum/keymap_extras/keymap_canadian_multilingual.h
@@ -13,22 +13,11 @@
* 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_CANADIAN_MULTILINGUAG_H
-#define KEYMAP_CANADIAN_MULTILINGUAG_H
+#ifndef KEYMAP_CANADIAN_MULTILINGUAL_H
+#define KEYMAP_CANADIAN_MULTILINGUAL_H
#include "keymap.h"
-// Alt gr
-#ifndef ALTGR
-#define ALTGR(kc) RALT(kc)
-#endif
-#ifndef ALGR
-#define ALGR(kc) ALTGR(kc)
-#endif
-
-#define CSA_ALTGR KC_RALT
-#define CSA_ALGR CSA_ALTGR
-
#ifndef GR2A
#define GR2A(kc) RCTL(kc)
#endif
@@ -78,43 +67,43 @@
// Alt Gr-ed characters
// First row
-#define CSA_PIPE ALTGR(CSA_SLASH) // |
-#define CSA_CURRENCY ALTGR(KC_4) // ¤
+#define CSA_PIPE ALGR(CSA_SLASH) // |
+#define CSA_CURRENCY ALGR(KC_4) // ¤
#define CSA_CURR CSA_CURRENCY
-#define CSA_LEFT_CURLY_BRACE ALTGR(KC_7) // {
+#define CSA_LEFT_CURLY_BRACE ALGR(KC_7) // {
#define CSA_LCBR CSA_LEFT_CURLY_BRACE
-#define CSA_RIGHT_CURLY_BRACE ALTGR(KC_8) // }
+#define CSA_RIGHT_CURLY_BRACE ALGR(KC_8) // }
#define CSA_RCBR CSA_RIGHT_CURLY_BRACE
-#define CSA_LBRACKET ALTGR(KC_9) // [
+#define CSA_LBRACKET ALGR(KC_9) // [
#define CSA_LBRC CSA_LBRACKET
-#define CSA_RBRACKET ALTGR(KC_0) // ]
+#define CSA_RBRACKET ALGR(KC_0) // ]
#define CSA_RBRC CSA_RBRACKET
-#define CSA_NEGATION ALTGR(KC_EQUAL) // ¬
+#define CSA_NEGATION ALGR(KC_EQUAL) // ¬
#define CSA_NEGT CSA_NEGATION
// Second row
// euro symbol not available on Linux? (X.org)
-#define CSA_EURO ALTGR(KC_E) // €
-#define CSA_DEAD_GRAVE ALTGR(CSA_DEAD_CIRCUMFLEX)
+#define CSA_EURO ALGR(KC_E) // €
+#define CSA_DEAD_GRAVE ALGR(CSA_DEAD_CIRCUMFLEX)
#define CSA_DGRV CSA_DEAD_GRAVE // dead `
-#define CSA_DEAD_TILDE ALTGR(CSA_C_CEDILLA) // ~
+#define CSA_DEAD_TILDE ALGR(CSA_C_CEDILLA) // ~
#define CSA_DTLD CSA_DEAD_TILDE
// Third row
-#define CSA_DEGREE ALTGR(KC_SCOLON) // °
+#define CSA_DEGREE ALGR(KC_SCOLON) // °
#define CSA_DEGR CSA_DEGREE
// Fourth row
-#define CSA_LEFT_GUILLEMET ALTGR(KC_Z) // «
+#define CSA_LEFT_GUILLEMET ALGR(KC_Z) // «
#define CSA_LGIL CSA_LEFT_GUILLEMET
-#define CSA_RIGHT_GUILLEMET ALTGR(KC_X) // »
+#define CSA_RIGHT_GUILLEMET ALGR(KC_X) // »
#define CSA_RGIL CSA_RIGHT_GUILLEMET
-#define CSA_LESS ALTGR(KC_COMMA) // <
-#define CSA_GREATER ALTGR(KC_DOT) // >
+#define CSA_LESS ALGR(KC_COMMA) // <
+#define CSA_GREATER ALGR(KC_DOT) // >
#define CSA_GRTR CSA_GREATER
// Space bar
-#define CSA_NON_BREAKING_SPACE ALTGR(KC_SPACE)
+#define CSA_NON_BREAKING_SPACE ALGR(KC_SPACE)
#define CSA_NBSP CSA_NON_BREAKING_SPACE
// GR2A-ed characters
@@ -201,7 +190,7 @@
// nothing on 2
#define CSA_POUND GR2A(LSFT(KC_3)) // £
#define CSA_GBP CSA_POUND_SIGN
-// already on ALTGR(KC_E)
+// already on ALGR(KC_E)
#define CSA_EURO_BIS GR2A(LSFT(KC_4)) // €
#define CSA_EURB CSA_EURO_BIS
#define CSA_THREE_EIGHTHS GR2A(LSFT(KC_5)) // ⅜
diff --git a/quantum/keymap_extras/keymap_fr_ch.h b/quantum/keymap_extras/keymap_fr_ch.h
index c0ca832a6f..69f9547bb9 100644
--- a/quantum/keymap_extras/keymap_fr_ch.h
+++ b/quantum/keymap_extras/keymap_fr_ch.h
@@ -18,10 +18,6 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define FR_CH_ALGR KC_RALT
-
// normal characters
#define FR_CH_Z KC_Y
#define FR_CH_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h
index 3308dc5f77..bef7754707 100644
--- a/quantum/keymap_extras/keymap_french.h
+++ b/quantum/keymap_extras/keymap_french.h
@@ -18,12 +18,6 @@
#include "keymap.h"
-// Alt gr
-#ifndef ALGR
-#define ALGR(kc) RALT(kc)
-#endif
-#define NO_ALGR KC_RALT
-
// Normal characters
#define FR_SUP2 KC_GRV
#define FR_AMP KC_1
diff --git a/quantum/keymap_extras/keymap_german.h b/quantum/keymap_extras/keymap_german.h
index e007c26ef5..0ba3570df7 100644
--- a/quantum/keymap_extras/keymap_german.h
+++ b/quantum/keymap_extras/keymap_german.h
@@ -19,10 +19,6 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define DE_ALGR KC_RALT
-
// normal characters
#define DE_Z KC_Y
#define DE_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_german_ch.h
index 67350d6602..bd1ef89a19 100644
--- a/quantum/keymap_extras/keymap_german_ch.h
+++ b/quantum/keymap_extras/keymap_german_ch.h
@@ -18,10 +18,6 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define CH_ALGR KC_RALT
-
// normal characters
#define CH_Z KC_Y
#define CH_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_hungarian.h b/quantum/keymap_extras/keymap_hungarian.h
index b372440928..ff43535f38 100644
--- a/quantum/keymap_extras/keymap_hungarian.h
+++ b/quantum/keymap_extras/keymap_hungarian.h
@@ -19,10 +19,6 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define HU_ALGR KC_RALT
-
// basic letters
#define HU_Z KC_Y
#define HU_Y KC_Z
diff --git a/quantum/keymap_extras/keymap_italian.h b/quantum/keymap_extras/keymap_italian.h
index 0ff6ce8762..fe0f5eb847 100644
--- a/quantum/keymap_extras/keymap_italian.h
+++ b/quantum/keymap_extras/keymap_italian.h
@@ -19,14 +19,7 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define IT_ALGR KC_RALT
-
// normal characters
-
-
-
#define IT_A KC_A
#define IT_B KC_B
#define IT_C KC_C
diff --git a/quantum/keymap_extras/keymap_jp.h b/quantum/keymap_extras/keymap_jp.h
index fb74bce8d4..b0235f1120 100644
--- a/quantum/keymap_extras/keymap_jp.h
+++ b/quantum/keymap_extras/keymap_jp.h
@@ -40,6 +40,9 @@
#define JP_HENK KC_INT4 // henkan
#define JP_KANA KC_INT2 // katakana/hiragana|ro-mazi
+#define JP_MKANA KC_LANG1 //kana on MacOSX
+#define JP_MEISU KC_LANG2 //eisu on MacOSX
+
//Aliases for shifted symbols
#define JP_DQT LSFT(KC_2) // "
diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h
index 174f4a6eec..818a739c76 100644
--- a/quantum/keymap_extras/keymap_neo2.h
+++ b/quantum/keymap_extras/keymap_neo2.h
@@ -73,6 +73,6 @@
#define NEO_L1_R DE_HASH
#define NEO_L2_L DE_LESS
-#define NEO_L2_R DE_ALGR
+#define NEO_L2_R KC_ALGR
#endif
diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h
index 6b34db5588..551a4212b2 100644
--- a/quantum/keymap_extras/keymap_nordic.h
+++ b/quantum/keymap_extras/keymap_nordic.h
@@ -18,10 +18,6 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define NO_ALGR KC_RALT
-
// Normal characters
#define NO_HALF KC_GRV
#define NO_PLUS KC_MINS
diff --git a/quantum/keymap_extras/keymap_plover_dvorak.h b/quantum/keymap_extras/keymap_plover_dvorak.h
new file mode 100644
index 0000000000..83bb1e8b87
--- /dev/null
+++ b/quantum/keymap_extras/keymap_plover_dvorak.h
@@ -0,0 +1,47 @@
+/* Copyright 2016 James Kay
+ *
+ * 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/>.
+ */
+#ifndef KEYMAP_PLOVER_DVORAK_H
+#define KEYMAP_PLOVER_DVORAK_H
+
+#include "keymap_dvorak.h"
+
+#define PD_NUM DV_1
+#define PD_LS DV_Q
+#define PD_LT DV_W
+#define PD_LP DV_E
+#define PD_LH DV_R
+#define PD_LK DV_S
+#define PD_LW DV_D
+#define PD_LR DV_F
+
+#define PD_STAR DV_Y
+#define PD_RF DV_U
+#define PD_RP DV_I
+#define PD_RL DV_O
+#define PD_RT DV_P
+#define PD_RD DV_LBRC
+#define PD_RR DV_J
+#define PD_RB DV_K
+#define PD_RG DV_L
+#define PD_RS DV_SCLN
+#define PD_RZ DV_QUOT
+
+#define PD_A DV_C
+#define PD_O DV_V
+#define PD_E DV_N
+#define PD_U DV_M
+
+#endif
diff --git a/quantum/keymap_extras/keymap_slovenian.h b/quantum/keymap_extras/keymap_slovenian.h
new file mode 100644
index 0000000000..892283e702
--- /dev/null
+++ b/quantum/keymap_extras/keymap_slovenian.h
@@ -0,0 +1,107 @@
+/* Copyright 2018 Žan Pevec
+
+ *
+ * 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/>.
+ */
+
+#ifndef KEYMAP_SLOVENIAN
+#define KEYMAP_SLOVENIAN
+
+#include "keymap.h"
+
+//Swapped Z and Y
+#define SI_Z KC_Y
+#define SI_Y KC_Z
+
+//Special characters
+#define SI_CV KC_SCLN
+#define SI_SV KC_LBRC
+#define SI_ZV KC_BSLS
+
+#define SI_A KC_A
+#define SI_B KC_B
+#define SI_C KC_C
+#define SI_D KC_D
+#define SI_E KC_E
+#define SI_F KC_F
+#define SI_G KC_G
+#define SI_H KC_H
+#define SI_I KC_I
+#define SI_J KC_J
+#define SI_K KC_K
+#define SI_L KC_L
+#define SI_M KC_M
+#define SI_N KC_N
+#define SI_O KC_O
+#define SI_P KC_P
+#define SI_Q KC_Q
+#define SI_R KC_R
+#define SI_S KC_S
+#define SI_T KC_T
+#define SI_U KC_U
+#define SI_V KC_V
+#define SI_W KC_W
+#define SI_X KC_X
+
+#define SI_0 KC_0
+#define SI_1 KC_1
+#define SI_2 KC_2
+#define SI_3 KC_3
+#define SI_4 KC_4
+#define SI_5 KC_5
+#define SI_6 KC_6
+#define SI_7 KC_7
+#define SI_8 KC_8
+#define SI_9 KC_9
+
+#define SI_DOT KC_DOT
+#define SI_COMM KC_COMM
+
+#define SI_PLUS KC_EQL // + and * and ~
+#define SI_QOT KC_MINS // Single quote
+#define SI_MINS KC_SLSH // - and _
+
+// shifted characters
+#define SI_EXLM LSFT(KC_1) // !
+#define SI_DQOT LSFT(KC_2) // "
+#define SI_HASH LSFT(KC_3) // #
+#define SI_DLR LSFT(KC_4) // $
+#define SI_PERC LSFT(KC_5) // %
+#define SI_AMPR LSFT(KC_6) // &
+#define SI_SLSH LSFT(KC_7) // /
+#define SI_LPRN LSFT(KC_8) // (
+#define SI_RPRN LSFT(KC_9) // )
+#define SI_EQL LSFT(KC_0) // =
+#define SI_QST LSFT(SI_QOT) // ?
+#define SI_ASTR LSFT(SI_PLUS) // *
+#define SI_COLN LSFT(KC_DOT) // :
+#define SI_SCLN LSFT(KC_COMM) // ;
+#define SI_UNDS LSFT(SI_MINS) // _
+
+// Alt Gr-ed characters
+#define SI_CIRC ALGR(KC_3) // ^
+#define SI_DEG ALGR(KC_5) // °
+#define SI_GRV ALGR(KC_7) // `
+#define SI_ACCU ALGR(KC_9) // ´
+#define SI_LCBR ALGR(KC_B) // {
+#define SI_RCBR ALGR(KC_N) // }
+#define SI_LBRC ALGR(KC_F) // [
+#define SI_RBRC ALGR(KC_G) // ]
+#define SI_BSLS ALGR(KC_Q) // backslash
+#define SI_AT ALGR(KC_V) // @
+#define SI_EURO ALGR(KC_E) // €
+#define SI_TILD ALGR(KC_1) // ~
+#define SI_PIPE ALGR(KC_W) // |
+
+#endif
diff --git a/quantum/keymap_extras/keymap_spanish.h b/quantum/keymap_extras/keymap_spanish.h
index 224db7be16..1f183327f9 100644
--- a/quantum/keymap_extras/keymap_spanish.h
+++ b/quantum/keymap_extras/keymap_spanish.h
@@ -18,10 +18,6 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define NO_ALGR KC_RALT
-
// Normal characters
#define ES_OVRR KC_GRV
#define ES_APOS KC_MINS
diff --git a/quantum/keymap_extras/keymap_swedish.h b/quantum/keymap_extras/keymap_swedish.h
index 9044bb74e7..d1a0f4f227 100644
--- a/quantum/keymap_extras/keymap_swedish.h
+++ b/quantum/keymap_extras/keymap_swedish.h
@@ -41,8 +41,8 @@
#define NO_DLR_MAC LSFT(KC_4) // $
#define NO_GRV_MAC ALGR(NO_BSLS) // `
#define NO_GRTR_MAC LSFT(KC_GRV) // >
-#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // }
-#define NO_LESS_MAC KC_GRV // >
+#define NO_LCBR_MAC ALGR(LSFT(KC_8)) // {
+#define NO_LESS_MAC KC_GRV // <
#define NO_PIPE_MAC ALGR(KC_7) // |
#define NO_RCBR_MAC ALGR(LSFT(KC_9)) // }
diff --git a/quantum/keymap_extras/keymap_uk.h b/quantum/keymap_extras/keymap_uk.h
index de47103cb9..cc3d0039e2 100644
--- a/quantum/keymap_extras/keymap_uk.h
+++ b/quantum/keymap_extras/keymap_uk.h
@@ -18,10 +18,6 @@
#include "keymap.h"
-// Alt gr
-#define ALGR(kc) RALT(kc)
-#define NO_ALGR KC_RALT
-
// Normal characters
#define UK_HASH KC_NUHS
#define UK_BSLS KC_NUBS
diff --git a/quantum/keymap_extras/sendstring_german.h b/quantum/keymap_extras/sendstring_german.h
new file mode 100644
index 0000000000..1eaafee317
--- /dev/null
+++ b/quantum/keymap_extras/sendstring_german.h
@@ -0,0 +1,81 @@
+/* Copyright 2018 Patrick Hener
+ *
+ * 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 definitions for the German layout */
+#ifndef SENDSTRING_GERMAN
+#define SENDSTRING_GERMAN
+
+#include "keymap_german.h"
+
+const bool ascii_to_shift_lut[0x80] PROGMEM = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+
+ 0, 1, 1, 0, 1, 1, 1, 1,
+ 1, 1, 1, 0, 0, 0, 0, 1,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 1, 0, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 1, 1, 1, 1, 1,
+ 1, 1, 1, 0, 0, 0, 0, 1,
+ 1, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 1, 1, 1, 1, 0
+};
+
+/* Until an ALT table/functionality is added, the following symbols will not work:
+* § @ [ ] { } \ ~ äA öÖ ß ´
+* Following characters can be printed using other characters like so:
+* [ in makro will be ü
+* { in makro will be Ü
+* ~ in makro will be °
+*/
+const uint8_t ascii_to_keycode_lut[0x80] PROGMEM = {
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ KC_BSPC, KC_TAB, KC_ENT, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, KC_ESC, 0, 0, 0, 0,
+
+ /* SPACE ! " # $ % & ' */
+ KC_SPC, KC_1, KC_2, DE_HASH, KC_4, KC_5, KC_6, DE_HASH,
+ /* ( ) * + , - . / */
+ KC_8, KC_9, DE_PLUS, DE_PLUS, KC_COMM, DE_MINS, KC_DOT, KC_7,
+ /* 0 1 2 3 4 5 6 7 */
+ KC_0, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7,
+ /* 8 9 : ; < = > ? */
+ KC_8, KC_9, KC_DOT, KC_COMM, DE_LESS, KC_0, DE_LESS, KC_MINS,
+ /* @ A B C D E F G */
+ KC_2, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
+ /* H I J K L M N O */
+ KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
+ /* P Q R S T U V W */
+ KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
+ /* X Y Z [ \ ] ^ _ */
+ KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, DE_CIRC, DE_MINS,
+ /* ` a b c d e f g */
+ DE_ACUT, KC_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G,
+ /* h i j k l m n o */
+ KC_H, KC_I, KC_J, KC_K, KC_L, KC_M, KC_N, KC_O,
+ /* p q r s t u v w */
+ KC_P, KC_Q, KC_R, KC_S, KC_T, KC_U, KC_V, KC_W,
+ /* x y z { | } ~ DELETE */
+ KC_X, KC_Y, KC_Z, KC_LBRC, KC_BSLS, KC_RBRC, KC_GRV, KC_DEL
+};
+
+#endif