aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_extras
diff options
context:
space:
mode:
authorDidier Loiseau <didierloiseau+git@gmail.com>2016-09-11 01:26:47 +0200
committerDidier Loiseau <didierloiseau+git@gmail.com>2016-09-11 01:26:47 +0200
commitb9014c757599ca288be07629ad1d00ef66c033f1 (patch)
treeba056e704e76327c597e25d1be200c4c991efeb8 /quantum/keymap_extras
parent60a826923d5a6b0dbe416b0837608149ab82e470 (diff)
parent5010df3d8b68a53c382b853c7c2e45922975b631 (diff)
downloadqmk_firmware-b9014c757599ca288be07629ad1d00ef66c033f1.tar.gz
qmk_firmware-b9014c757599ca288be07629ad1d00ef66c033f1.zip
Merge remote-tracking branch 'remotes/jackhumbert/master' into bépo
Diffstat (limited to 'quantum/keymap_extras')
-rw-r--r--quantum/keymap_extras/keymap_bepo.h6
-rw-r--r--quantum/keymap_extras/keymap_colemak.h2
-rw-r--r--quantum/keymap_extras/keymap_dvorak.h17
-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_french_osx.h2
-rw-r--r--quantum/keymap_extras/keymap_german.h4
-rw-r--r--quantum/keymap_extras/keymap_german_ch.h102
-rw-r--r--quantum/keymap_extras/keymap_german_osx.h161
-rw-r--r--quantum/keymap_extras/keymap_neo2.h4
-rw-r--r--quantum/keymap_extras/keymap_nordic.h6
-rw-r--r--quantum/keymap_extras/keymap_norwegian.h (renamed from quantum/keymap_extras/keymap_norwegian.c)2
-rw-r--r--quantum/keymap_extras/keymap_plover.h32
-rw-r--r--quantum/keymap_extras/keymap_russian.h77
-rw-r--r--quantum/keymap_extras/keymap_spanish.h8
-rw-r--r--quantum/keymap_extras/keymap_uk.h6
-rw-r--r--quantum/keymap_extras/keymap_unicode_cyrillic.h163
17 files changed, 490 insertions, 112 deletions
diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h
index 1ab2d63dd..e5ef39552 100644
--- a/quantum/keymap_extras/keymap_bepo.h
+++ b/quantum/keymap_extras/keymap_bepo.h
@@ -2,7 +2,7 @@
2#ifndef KEYMAP_BEPO_H 2#ifndef KEYMAP_BEPO_H
3#define KEYMAP_BEPO_H 3#define KEYMAP_BEPO_H
4 4
5#include "keymap_common.h" 5#include "keymap.h"
6 6
7// Alt gr 7// Alt gr
8#ifndef ALTGR 8#ifndef ALTGR
@@ -118,7 +118,7 @@
118// Fourth row 118// Fourth row
119#define BP_COLON LSFT(BP_DOT) // : 119#define BP_COLON LSFT(BP_DOT) // :
120#define BP_COLN BP_COLON 120#define BP_COLN BP_COLON
121#define BP_QUESTION LSFT(BP_QUOTE) // ? 121#define BP_QUESTION LSFT(BP_APOS) // ?
122#define BP_QEST BP_QUESTION 122#define BP_QEST BP_QUESTION
123 123
124// Space bar 124// Space bar
@@ -183,7 +183,7 @@
183// Third row 183// Third row
184#define BP_AE_LIGATURE ALTGR(BP_A) // æ 184#define BP_AE_LIGATURE ALTGR(BP_A) // æ
185#define BP_AE BP_AE_LIGATURE 185#define BP_AE BP_AE_LIGATURE
186#define BP_U_GRAVE AGR(BP_U) // ù 186#define BP_U_GRAVE ALTGR(BP_U) // ù
187#define BP_UGRV BP_U_GRAVE 187#define BP_UGRV BP_U_GRAVE
188#define BP_DEAD_TREMA ALTGR(BP_I) // dead ¨ (trema/umlaut/diaresis) 188#define BP_DEAD_TREMA ALTGR(BP_I) // dead ¨ (trema/umlaut/diaresis)
189#define BP_DTRM BP_DEAD_TREMA 189#define BP_DTRM BP_DEAD_TREMA
diff --git a/quantum/keymap_extras/keymap_colemak.h b/quantum/keymap_extras/keymap_colemak.h
index 8a418c615..b8d615748 100644
--- a/quantum/keymap_extras/keymap_colemak.h
+++ b/quantum/keymap_extras/keymap_colemak.h
@@ -1,7 +1,7 @@
1#ifndef KEYMAP_COLEMAK_H 1#ifndef KEYMAP_COLEMAK_H
2#define KEYMAP_COLEMAK_H 2#define KEYMAP_COLEMAK_H
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5// For software implementation of colemak 5// For software implementation of colemak
6#define CM_Q KC_Q 6#define CM_Q KC_Q
7#define CM_W KC_W 7#define CM_W KC_W
diff --git a/quantum/keymap_extras/keymap_dvorak.h b/quantum/keymap_extras/keymap_dvorak.h
index 93e355bf9..17f205977 100644
--- a/quantum/keymap_extras/keymap_dvorak.h
+++ b/quantum/keymap_extras/keymap_dvorak.h
@@ -1,7 +1,7 @@
1#ifndef KEYMAP_DVORAK_H 1#ifndef KEYMAP_DVORAK_H
2#define KEYMAP_DVORAK_H 2#define KEYMAP_DVORAK_H
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Normal characters 6// Normal characters
7#define DV_GRV KC_GRV 7#define DV_GRV KC_GRV
@@ -18,18 +18,19 @@
18#define DV_LBRC KC_MINS 18#define DV_LBRC KC_MINS
19#define DV_RBRC KC_EQL 19#define DV_RBRC KC_EQL
20 20
21#define DV_QUOT KC_Q 21#define DV_QUOT KC_Q
22#define DV_COMM KC_W 22#define DV_COMM KC_W
23#define DV_DOT KC_E 23#define DV_DOT KC_E
24#define DV_P KC_R 24#define DV_P KC_R
25#define DV_Y KC_T 25#define DV_Y KC_T
26#define DV_F KC_Y 26#define DV_F KC_Y
27#define DV_G KC_U 27#define DV_G KC_U
28#define DV_C KC_I 28#define DV_C KC_I
29#define DV_R KC_O 29#define DV_R KC_O
30#define DV_L KC_P 30#define DV_L KC_P
31#define DV_SLSH KC_LBRC 31#define DV_SLSH KC_LBRC
32#define DV_EQL KC_RBRC 32#define DV_EQL KC_RBRC
33#define DV_BSLS KC_BSLS
33 34
34#define DV_A KC_A 35#define DV_A KC_A
35#define DV_O KC_S 36#define DV_O KC_S
@@ -68,7 +69,13 @@
68#define DV_RPRN LSFT(DV_0) 69#define DV_RPRN LSFT(DV_0)
69#define DV_LCBR LSFT(DV_LBRC) 70#define DV_LCBR LSFT(DV_LBRC)
70#define DV_RCBR LSFT(DV_RBRC) 71#define DV_RCBR LSFT(DV_RBRC)
71#define DV_UNDS LSFT(DV_MINS) 72
72#define DV_PLUS LSFT(DV_EQL) 73#define DV_QUES LSFT(DV_SLSH)
74#define DV_PLUS LSFT(DV_EQL)
75#define DV_PIPE LSFT(DV_BSLS)
76
77#define DV_UNDS LSFT(DV_MINS)
78
79#define DV_COLN LSFT(DV_SCLN)
73 80
74#endif 81#endif
diff --git a/quantum/keymap_extras/keymap_fr_ch.h b/quantum/keymap_extras/keymap_fr_ch.h
index d3884c19a..87d4bb24c 100644
--- a/quantum/keymap_extras/keymap_fr_ch.h
+++ b/quantum/keymap_extras/keymap_fr_ch.h
@@ -1,10 +1,10 @@
1#ifndef KEYMAP_FR_CH 1#ifndef KEYMAP_FR_CH
2#define KEYMAP_FR_CH 2#define KEYMAP_FR_CH
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Alt gr 6// Alt gr
7#define ALGR(kc) kc | 0x1400 7#define ALGR(kc) RALT(kc)
8#define FR_CH_ALGR KC_RALT 8#define FR_CH_ALGR KC_RALT
9 9
10// normal characters 10// normal characters
diff --git a/quantum/keymap_extras/keymap_french.h b/quantum/keymap_extras/keymap_french.h
index e03a121a2..834c69650 100644
--- a/quantum/keymap_extras/keymap_french.h
+++ b/quantum/keymap_extras/keymap_french.h
@@ -1,10 +1,10 @@
1#ifndef KEYMAP_FRENCH_H 1#ifndef KEYMAP_FRENCH_H
2#define KEYMAP_FRENCH_H 2#define KEYMAP_FRENCH_H
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Alt gr 6// Alt gr
7#define ALGR(kc) kc | 0x1400 7#define ALGR(kc) RALT(kc)
8#define NO_ALGR KC_RALT 8#define NO_ALGR KC_RALT
9 9
10// Normal characters 10// Normal characters
@@ -80,4 +80,4 @@
80#define FR_EURO ALGR(KC_E) 80#define FR_EURO ALGR(KC_E)
81#define FR_BULT ALGR(FR_DLR) 81#define FR_BULT ALGR(FR_DLR)
82 82
83#endif \ No newline at end of file 83#endif
diff --git a/quantum/keymap_extras/keymap_french_osx.h b/quantum/keymap_extras/keymap_french_osx.h
index eb31bfb4d..004d73ee2 100644
--- a/quantum/keymap_extras/keymap_french_osx.h
+++ b/quantum/keymap_extras/keymap_french_osx.h
@@ -1,7 +1,7 @@
1#ifndef KEYMAP_FRENCH_OSX_H 1#ifndef KEYMAP_FRENCH_OSX_H
2#define KEYMAP_FRENCH_OSX_H 2#define KEYMAP_FRENCH_OSX_H
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Normal characters 6// Normal characters
7#define FR_AT KC_GRV 7#define FR_AT KC_GRV
diff --git a/quantum/keymap_extras/keymap_german.h b/quantum/keymap_extras/keymap_german.h
index dbad26f8a..7e2e0ed44 100644
--- a/quantum/keymap_extras/keymap_german.h
+++ b/quantum/keymap_extras/keymap_german.h
@@ -1,10 +1,10 @@
1#ifndef KEYMAP_GERMAN 1#ifndef KEYMAP_GERMAN
2#define KEYMAP_GERMAN 2#define KEYMAP_GERMAN
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Alt gr 6// Alt gr
7#define ALGR(kc) kc | 0x1400 7#define ALGR(kc) RALT(kc)
8#define DE_ALGR KC_RALT 8#define DE_ALGR KC_RALT
9 9
10// normal characters 10// normal characters
diff --git a/quantum/keymap_extras/keymap_german_ch.h b/quantum/keymap_extras/keymap_german_ch.h
new file mode 100644
index 000000000..b66d582a4
--- /dev/null
+++ b/quantum/keymap_extras/keymap_german_ch.h
@@ -0,0 +1,102 @@
1#ifndef KEYMAP_SWISS_GERMAN
2#define KEYMAP_SWISS_GERMAN
3
4#include "keymap.h"
5
6// Alt gr
7#define ALGR(kc) RALT(kc)
8#define CH_ALGR KC_RALT
9
10// normal characters
11#define CH_Z KC_Y
12#define CH_Y KC_Z
13
14#define CH_A KC_A
15#define CH_B KC_B
16#define CH_C KC_C
17#define CH_D KC_D
18#define CH_E KC_E
19#define CH_F KC_F
20#define CH_G KC_G
21#define CH_H KC_H
22#define CH_I KC_I
23#define CH_J KC_J
24#define CH_K KC_K
25#define CH_L KC_L
26#define CH_M KC_M
27#define CH_N KC_N
28#define CH_O KC_O
29#define CH_P KC_P
30#define CH_Q KC_Q
31#define CH_R KC_R
32#define CH_S KC_S
33#define CH_T KC_T
34#define CH_U KC_U
35#define CH_V KC_V
36#define CH_W KC_W
37#define CH_X KC_X
38
39#define CH_0 KC_0
40#define CH_1 KC_1
41#define CH_2 KC_2
42#define CH_3 KC_3
43#define CH_4 KC_4
44#define CH_5 KC_5
45#define CH_6 KC_6
46#define CH_7 KC_7
47#define CH_8 KC_8
48#define CH_9 KC_9
49
50#define CH_DOT KC_DOT
51#define CH_COMM KC_COMM
52
53#define CH_QUOT KC_MINS // ' ? ´
54#define CH_AE KC_QUOT
55#define CH_UE KC_LBRC
56#define CH_OE KC_SCLN
57
58#define CH_PARA KC_GRAVE // secction sign § and °
59#define CH_CARR KC_EQL // carret ^ ` ~
60#define CH_DIER KC_RBRC // dieresis ¨ ! ]
61#define CH_DLR KC_BSLS // $ £ }
62#define CH_LESS KC_NUBS // < and > and backslash
63#define CH_MINS KC_SLSH // - and _
64
65// shifted characters
66#define CH_RING LSFT(CH_PARA) // °
67#define CH_PLUS LSFT(KC_1) // +
68#define CH_DQOT LSFT(KC_2) // "
69#define CH_PAST LSFT(KC_3) // *
70#define CH_CELA LSFT(KC_4) // ç
71#define CH_PERC LSFT(KC_5) // %
72#define CH_AMPR LSFT(KC_6) // &
73#define CH_SLSH LSFT(KC_7) // /
74#define CH_LPRN LSFT(KC_8) // (
75#define CH_RPRN LSFT(KC_9) // )
76#define CH_EQL LSFT(KC_0) // =
77#define CH_QST LSFT(CH_QUOT) // ?
78#define CH_GRV LSFT(CH_CARR) // `
79#define CH_EXLM LSFT(CH_DIER) // !
80#define CH_POND LSFT(CH_DLR) // £
81#define CH_MORE LSFT(CH_LESS) // >
82#define CH_COLN LSFT(KC_DOT) // :
83#define CH_SCLN LSFT(KC_COMM) // ;
84#define CH_UNDS LSFT(CH_MINS) // _
85
86// Alt Gr-ed characters
87#define CH_BRBR ALGR(KC_1) // ¦ brocken bar
88#define CH_AT ALGR(KC_2) // @
89#define CH_HASH ALGR(KC_3) // #
90#define CH_NOTL ALGR(KC_6) // ¬ negative logic
91#define CH_PIPE ALGR(KC_7) // |
92#define CH_CENT ALGR(KC_8) // ¢ cent
93#define CH_ACUT ALGR(CH_QUOT) // ´
94#define CH_TILD ALGR(CH_CARR) // ~
95#define CH_EURO ALGR(KC_E) // €
96#define CH_LBRC ALGR(CH_UE) // [
97#define CH_RBRC ALGR(CH_DIER) // ]
98#define CH_LCBR ALGR(CH_AE) // {
99#define CH_RCBR ALGR(CH_DLR) // }
100#define CH_BSLS ALGR(CH_LESS) // backslash
101
102#endif
diff --git a/quantum/keymap_extras/keymap_german_osx.h b/quantum/keymap_extras/keymap_german_osx.h
index da91b4bf4..f63f06618 100644
--- a/quantum/keymap_extras/keymap_german_osx.h
+++ b/quantum/keymap_extras/keymap_german_osx.h
@@ -1,100 +1,97 @@
1#ifndef KEYMAP_GERMAN_OSX 1#ifndef KEYMAP_GERMAN_OSX
2#define KEYMAP_GERMAN_OSX 2#define KEYMAP_GERMAN_OSX
3 3
4#ifdef KEYMAP_GERMAN 4#include "keymap.h"
5 #warning redefining german keys
6#endif
7#include "keymap_common.h"
8 5
9// Alt gr 6// Alt gr
10 7
11// normal characters 8// normal characters
12#define DE_Z KC_Y 9#define DE_OSX_Z KC_Y
13#define DE_Y KC_Z 10#define DE_OSX_Y KC_Z
14 11
15#define DE_A KC_A 12#define DE_OSX_A KC_A
16#define DE_B KC_B 13#define DE_OSX_B KC_B
17#define DE_C KC_C 14#define DE_OSX_C KC_C
18#define DE_D KC_D 15#define DE_OSX_D KC_D
19#define DE_E KC_E 16#define DE_OSX_E KC_E
20#define DE_F KC_F 17#define DE_OSX_F KC_F
21#define DE_G KC_G 18#define DE_OSX_G KC_G
22#define DE_H KC_H 19#define DE_OSX_H KC_H
23#define DE_I KC_I 20#define DE_OSX_I KC_I
24#define DE_J KC_J 21#define DE_OSX_J KC_J
25#define DE_K KC_K 22#define DE_OSX_K KC_K
26#define DE_L KC_L 23#define DE_OSX_L KC_L
27#define DE_M KC_M 24#define DE_OSX_M KC_M
28#define DE_N KC_N 25#define DE_OSX_N KC_N
29#define DE_O KC_O 26#define DE_OSX_O KC_O
30#define DE_P KC_P 27#define DE_OSX_P KC_P
31#define DE_Q KC_Q 28#define DE_OSX_Q KC_Q
32#define DE_R KC_R 29#define DE_OSX_R KC_R
33#define DE_S KC_S 30#define DE_OSX_S KC_S
34#define DE_T KC_T 31#define DE_OSX_T KC_T
35#define DE_U KC_U 32#define DE_OSX_U KC_U
36#define DE_V KC_V 33#define DE_OSX_V KC_V
37#define DE_W KC_W 34#define DE_OSX_W KC_W
38#define DE_X KC_X 35#define DE_OSX_X KC_X
39 36
40#define DE_0 KC_0 37#define DE_OSX_0 KC_0
41#define DE_1 KC_1 38#define DE_OSX_1 KC_1
42#define DE_2 KC_2 39#define DE_OSX_2 KC_2
43#define DE_3 KC_3 40#define DE_OSX_3 KC_3
44#define DE_4 KC_4 41#define DE_OSX_4 KC_4
45#define DE_5 KC_5 42#define DE_OSX_5 KC_5
46#define DE_6 KC_6 43#define DE_OSX_6 KC_6
47#define DE_7 KC_7 44#define DE_OSX_7 KC_7
48#define DE_8 KC_8 45#define DE_OSX_8 KC_8
49#define DE_9 KC_9 46#define DE_OSX_9 KC_9
50 47
51#define DE_DOT KC_DOT 48#define DE_OSX_DOT KC_DOT
52#define DE_COMM KC_COMM 49#define DE_OSX_COMM KC_COMM
53 50
54#define DE_SS KC_MINS 51#define DE_OSX_SS KC_MINS
55#define DE_AE KC_QUOT 52#define DE_OSX_AE KC_QUOT
56#define DE_UE KC_LBRC 53#define DE_OSX_UE KC_LBRC
57#define DE_OE KC_SCLN 54#define DE_OSX_OE KC_SCLN
58 55
59#define DE_CIRC KC_NUBS // accent circumflex ^ and ring ° 56#define DE_OSX_CIRC KC_NUBS // accent circumflex ^ and ring °
60#define DE_ACUT KC_EQL // accent acute ´ and grave ` 57#define DE_OSX_ACUT KC_EQL // accent acute ´ and grave `
61#define DE_PLUS KC_RBRC // + and * and ~ 58#define DE_OSX_PLUS KC_RBRC // + and * and ~
62#define DE_HASH KC_BSLS // # and ' 59#define DE_OSX_HASH KC_BSLS // # and '
63#define DE_LESS KC_GRV // < and > and | 60#define DE_OSX_LESS KC_GRV // < and > and |
64#define DE_MINS KC_SLSH // - and _ 61#define DE_OSX_MINS KC_SLSH // - and _
65 62
66// shifted characters 63// shifted characters
67#define DE_RING LSFT(DE_CIRC) // ° 64#define DE_OSX_RING LSFT(DE_OSX_CIRC) // °
68#define DE_EXLM LSFT(KC_1) // ! 65#define DE_OSX_EXLM LSFT(KC_1) // !
69#define DE_DQOT LSFT(KC_2) // " 66#define DE_OSX_DQOT LSFT(KC_2) // "
70#define DE_PARA LSFT(KC_3) // § 67#define DE_OSX_PARA LSFT(KC_3) // §
71#define DE_DLR LSFT(KC_4) // $ 68#define DE_OSX_DLR LSFT(KC_4) // $
72#define DE_PERC LSFT(KC_5) // % 69#define DE_OSX_PERC LSFT(KC_5) // %
73#define DE_AMPR LSFT(KC_6) // & 70#define DE_OSX_AMPR LSFT(KC_6) // &
74#define DE_SLSH LSFT(KC_7) // / 71#define DE_OSX_SLSH LSFT(KC_7) // /
75#define DE_LPRN LSFT(KC_8) // ( 72#define DE_OSX_LPRN LSFT(KC_8) // (
76#define DE_RPRN LSFT(KC_9) // ) 73#define DE_OSX_RPRN LSFT(KC_9) // )
77#define DE_EQL LSFT(KC_0) // = 74#define DE_OSX_EQL LSFT(KC_0) // =
78#define DE_QST LSFT(DE_SS) // ? 75#define DE_OSX_QST LSFT(DE_OSX_SS) // ?
79#define DE_GRV LSFT(DE_ACUT) // ` 76#define DE_OSX_GRV LSFT(DE_OSX_ACUT) // `
80#define DE_ASTR LSFT(DE_PLUS) // * 77#define DE_OSX_ASTR LSFT(DE_OSX_PLUS) // *
81#define DE_QUOT LSFT(DE_HASH) // ' 78#define DE_OSX_QUOT LSFT(DE_OSX_HASH) // '
82#define DE_MORE LSFT(DE_LESS) // > 79#define DE_OSX_MORE LSFT(DE_OSX_LESS) // >
83#define DE_COLN LSFT(KC_DOT) // : 80#define DE_OSX_COLN LSFT(KC_DOT) // :
84#define DE_SCLN LSFT(KC_COMM) // ; 81#define DE_OSX_SCLN LSFT(KC_COMM) // ;
85#define DE_UNDS LSFT(DE_MINS) // _ 82#define DE_OSX_UNDS LSFT(DE_OSX_MINS) // _
86 83
87// Alt-ed characters 84// Alt-ed characters
88#define DE_SQ2 LALT(KC_2) // ² 85//#define DE_OSX_SQ2 LALT(KC_2) // ²
89#define DE_SQ3 LALT(KC_3) // ³ 86//#define DE_OSX_SQ3 LALT(KC_3) // ³
90#define DE_LCBR LALT(KC_8) // { 87#define DE_OSX_LCBR LALT(KC_8) // {
91#define DE_LBRC LALT(KC_5) // [ 88#define DE_OSX_LBRC LALT(KC_5) // [
92#define DE_RBRC LALT(KC_6) // ] 89#define DE_OSX_RBRC LALT(KC_6) // ]
93#define DE_RCBR LALT(KC_9) // } 90#define DE_OSX_RCBR LALT(KC_9) // }
94#define DE_BSLS LALT(LSFT(KC_7)) // backslash 91#define DE_OSX_BSLS LALT(LSFT(KC_7)) // backslash
95#define DE_AT LALT(DE_L) // @ 92#define DE_OSX_AT LALT(DE_OSX_L) // @
96#define DE_EURO LALT(KC_E) // € 93#define DE_OSX_EURO LALT(KC_E) // €
97#define DE_TILD LALT(DE_N) // ~ 94#define DE_OSX_TILD LALT(DE_OSX_N) // ~
98#define DE_PIPE LALT(DE_7) // | 95#define DE_OSX_PIPE LALT(DE_OSX_7) // |
99 96
100#endif 97#endif
diff --git a/quantum/keymap_extras/keymap_neo2.h b/quantum/keymap_extras/keymap_neo2.h
index a35ba55a5..80439af34 100644
--- a/quantum/keymap_extras/keymap_neo2.h
+++ b/quantum/keymap_extras/keymap_neo2.h
@@ -1,8 +1,8 @@
1#ifndef KEYMAP_NEO2 1#ifndef KEYMAP_NEO2
2#define KEYMAP_NEO2 2#define KEYMAP_NEO2
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5#include "keymap_extras/keymap_german.h" 5#include "keymap_german.h"
6 6
7#define NEO_A KC_D 7#define NEO_A KC_D
8#define NEO_B KC_N 8#define NEO_B KC_N
diff --git a/quantum/keymap_extras/keymap_nordic.h b/quantum/keymap_extras/keymap_nordic.h
index 7ef41fb79..da5c82975 100644
--- a/quantum/keymap_extras/keymap_nordic.h
+++ b/quantum/keymap_extras/keymap_nordic.h
@@ -1,10 +1,10 @@
1#ifndef KEYMAP_NORDIC_H 1#ifndef KEYMAP_NORDIC_H
2#define KEYMAP_NORDIC_H 2#define KEYMAP_NORDIC_H
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Alt gr 6// Alt gr
7#define ALGR(kc) kc | 0x1400 7#define ALGR(kc) RALT(kc)
8#define NO_ALGR KC_RALT 8#define NO_ALGR KC_RALT
9 9
10// Normal characters 10// Normal characters
@@ -25,7 +25,7 @@
25#define NO_SECT LSFT(NO_HALF) 25#define NO_SECT LSFT(NO_HALF)
26#define NO_QUO2 LSFT(KC_2) 26#define NO_QUO2 LSFT(KC_2)
27#define NO_BULT LSFT(KC_4) 27#define NO_BULT LSFT(KC_4)
28#define NO_AMP LSFT(KC_6) 28#define NO_AMPR LSFT(KC_6)
29#define NO_SLSH LSFT(KC_7) 29#define NO_SLSH LSFT(KC_7)
30#define NO_LPRN LSFT(KC_8) 30#define NO_LPRN LSFT(KC_8)
31#define NO_RPRN LSFT(KC_9) 31#define NO_RPRN LSFT(KC_9)
diff --git a/quantum/keymap_extras/keymap_norwegian.c b/quantum/keymap_extras/keymap_norwegian.h
index 018bfeae5..5c4e8c495 100644
--- a/quantum/keymap_extras/keymap_norwegian.c
+++ b/quantum/keymap_extras/keymap_norwegian.h
@@ -13,7 +13,7 @@
13#undef NO_BSLS 13#undef NO_BSLS
14#define NO_BSLS KC_EQL // '\' 14#define NO_BSLS KC_EQL // '\'
15#undef NO_CIRC 15#undef NO_CIRC
16#define NO_CIRC LSFT(C_RBRC) // ^ 16#define NO_CIRC LSFT(KC_RBRC) // ^
17#undef NO_GRV 17#undef NO_GRV
18#define NO_GRV LSFT(NO_BSLS) // 18#define NO_GRV LSFT(NO_BSLS) //
19#undef NO_OSLH 19#undef NO_OSLH
diff --git a/quantum/keymap_extras/keymap_plover.h b/quantum/keymap_extras/keymap_plover.h
new file mode 100644
index 000000000..9b88f7d84
--- /dev/null
+++ b/quantum/keymap_extras/keymap_plover.h
@@ -0,0 +1,32 @@
1#ifndef KEYMAP_PLOVER_H
2#define KEYMAP_PLOVER_H
3
4#include "keymap.h"
5
6#define PV_NUM KC_1
7#define PV_LS KC_Q
8#define PV_LT KC_W
9#define PV_LP KC_E
10#define PV_LH KC_R
11#define PV_LK KC_S
12#define PV_LW KC_D
13#define PV_LR KC_F
14
15#define PV_STAR KC_Y
16#define PV_RF KC_U
17#define PV_RP KC_I
18#define PV_RL KC_O
19#define PV_RT KC_P
20#define PV_RD KC_LBRC
21#define PV_RR KC_J
22#define PV_RB KC_K
23#define PV_RG KC_L
24#define PV_RS KC_SCLN
25#define PV_RZ KC_QUOT
26
27#define PV_A KC_C
28#define PV_O KC_V
29#define PV_E KC_N
30#define PV_U KC_M
31
32#endif
diff --git a/quantum/keymap_extras/keymap_russian.h b/quantum/keymap_extras/keymap_russian.h
new file mode 100644
index 000000000..237e9abde
--- /dev/null
+++ b/quantum/keymap_extras/keymap_russian.h
@@ -0,0 +1,77 @@
1#ifndef KEYMAP_RUSSIAN_H
2#define KEYMAP_RUSSIAN_H
3
4#include "keymap.h"
5
6// Normal Chracters // reg SHIFT
7#define RU_A KC_F // а and А
8#define RU_BE KC_COMM // б and Б
9#define RU_VE KC_D // в and В
10#define RU_GHE KC_U // г and Г
11#define RU_DE KC_L // д and Д
12#define RU_IE KC_T // е and Е
13#define RU_IO KC_GRV // ё and Ё
14#define RU_ZHE KC_SCLN // ж and Ж
15#define RU_ZE KC_P // з and З
16#define RU_I KC_B // и and И
17#define RU_SRT_I KC_Q // й and Й
18#define RU_KA KC_R // к and К
19#define RU_EL KC_K // л and Л
20#define RU_EM KC_V // м and М
21#define RU_EN KC_Y // н and Н
22#define RU_O KC_J // о and О
23#define RU_PE KC_G // п and П
24#define RU_ER KC_H // р and Р
25#define RU_ES KC_C // с and С
26#define RU_TE KC_N // т and Т
27#define RU_U KC_E // у and У
28#define RU_EF KC_A // ф and Ф
29#define RU_HA KC_LBRC // х and Х
30#define RU_TSE KC_W // ц and Ц
31#define RU_CHE KC_X // ч and Ч
32#define RU_SHA KC_I // ш and Ш
33#define RU_SHCHA KC_O // щ and Щ
34#define RU_HSIGN KC_RBRC // ъ and Ъ
35#define RU_YERU KC_S // ы and Ы
36#define RU_SSIGN KC_M // ь and Ь
37#define RU_E KC_QUOT // э and Э
38#define RU_YU KC_DOT // ю and Ю
39#define RU_YA KC_Z // я and Я
40
41#define RU_1 KC_1 // 1 and !
42#define RU_2 KC_2 // 2 and "
43#define RU_3 KC_3 // 3 and №
44#define RU_4 KC_4 // 4 and ;
45#define RU_5 KC_5 // 5 and %
46#define RU_6 KC_6 // 6 and :
47#define RU_7 KC_7 // 7 and ?
48#define RU_8 KC_8 // 8 and *
49#define RU_9 KC_9 // 9 and (
50#define RU_0 KC_0 // 0 and )
51
52#define RU_MINS KC_MINS // - and _
53#define RU_EQL KC_EQL // = and +
54#define RU_BSLS KC_BSLS // \ and /
55#define RU_DOT KC_SLSH // . and ,
56
57// Shifted Chracters
58#define RU_EXLM LSFT(RU_1) // !
59#define RU_DQUT LSFT(RU_2) // "
60#define RU_NMRO LSFT(RU_3) // №
61#define RU_SCLN LSFT(RU_4) // ;
62#define RU_PERC LSFT(RU_5) // %
63#define RU_COLN LSFT(RU_6) // :
64#define RU_QUES LSFT(RU_7) // ?
65#define RU_ASTR LSFT(RU_8) // *
66#define RU_LPRN LSFT(RU_9) // (
67#define RU_RPRN LSFT(RU_0) // )
68
69#define RU_UNDR LSFT(RU_MINS) // _
70#define RU_PLUS LSFT(RU_EQL) // +
71#define RU_SLSH LSFT(RU_BSLS) // /
72#define RU_COMM LSFT(RU_DOT) // ,
73
74// Alt Gr-ed characters
75#define RU_RUBL RALT(RU_8) // ₽
76
77#endif
diff --git a/quantum/keymap_extras/keymap_spanish.h b/quantum/keymap_extras/keymap_spanish.h
index 7f980afbc..4ba568af2 100644
--- a/quantum/keymap_extras/keymap_spanish.h
+++ b/quantum/keymap_extras/keymap_spanish.h
@@ -1,10 +1,10 @@
1#ifndef KEYMAP_SPANISH_H 1#ifndef KEYMAP_SPANISH_H
2#define KEYMAP_SPANISH_H 2#define KEYMAP_SPANISH_H
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Alt gr 6// Alt gr
7#define ALGR(kc) kc | 0x1400 7#define ALGR(kc) RALT(kc)
8#define NO_ALGR KC_RALT 8#define NO_ALGR KC_RALT
9 9
10// Normal characters 10// Normal characters
@@ -49,7 +49,7 @@
49#define ES_PIPE ALGR(KC_1) 49#define ES_PIPE ALGR(KC_1)
50#define ES_AT ALGR(KC_2) 50#define ES_AT ALGR(KC_2)
51#define ES_HASH ALGR(KC_3) 51#define ES_HASH ALGR(KC_3)
52#define ES_TILD ALGR(KC_4) 52#define ES_TILD ALGR(ES_NTIL)
53#define ES_EURO ALGR(KC_5) 53#define ES_EURO ALGR(KC_5)
54#define ES_NOT ALGR(KC_6) 54#define ES_NOT ALGR(KC_6)
55 55
@@ -59,4 +59,4 @@
59#define ES_LCBR ALGR(ES_ACUT) 59#define ES_LCBR ALGR(ES_ACUT)
60#define ES_RCRB ALGR(ES_CCED) 60#define ES_RCRB ALGR(ES_CCED)
61 61
62#endif \ No newline at end of file 62#endif
diff --git a/quantum/keymap_extras/keymap_uk.h b/quantum/keymap_extras/keymap_uk.h
index 5b4bd3c0d..00c87afc3 100644
--- a/quantum/keymap_extras/keymap_uk.h
+++ b/quantum/keymap_extras/keymap_uk.h
@@ -1,10 +1,10 @@
1#ifndef KEYMAP_UK_H 1#ifndef KEYMAP_UK_H
2#define KEYMAP_UK_H 2#define KEYMAP_UK_H
3 3
4#include "keymap_common.h" 4#include "keymap.h"
5 5
6// Alt gr 6// Alt gr
7#define ALGR(kc) kc | 0x1400 7#define ALGR(kc) RALT(kc)
8#define NO_ALGR KC_RALT 8#define NO_ALGR KC_RALT
9 9
10// Normal characters 10// Normal characters
@@ -33,4 +33,4 @@
33 33
34#define UK_AACT ALGR(KC_A) 34#define UK_AACT ALGR(KC_A)
35 35
36#endif \ No newline at end of file 36#endif
diff --git a/quantum/keymap_extras/keymap_unicode_cyrillic.h b/quantum/keymap_extras/keymap_unicode_cyrillic.h
new file mode 100644
index 000000000..a40626d91
--- /dev/null
+++ b/quantum/keymap_extras/keymap_unicode_cyrillic.h
@@ -0,0 +1,163 @@
1#ifndef KEYMAP_CYRILLIC_H
2#define KEYMAP_CYRILLIC_H
3
4#include "keymap.h"
5
6/*
7 * This is based off of
8 * https://en.wikipedia.org/wiki/Cyrillic_script
9 *
10 * Unicode is iffy, a software implementation is preferred
11 */
12
13// Capital Char russian/ukrainian/bulgarian
14#define CY_A UC(0x0410) // А rus ukr bul
15#define CY_BE UC(0x0411) // Б rus ukr bul
16#define CY_VE UC(0x0412) // В rus ukr bul
17#define CY_GHE UC(0x0413) // Г rus ukr bul
18#define CY_GHEUP UC(0x0490) // Ґ ukr
19#define CY_DE UC(0x0414) // Д rus ukr bul
20#define CY_DJE UC(0x0402) // Ђ
21#define CY_GJE UC(0x0403) // Ѓ
22#define CY_IE UC(0x0415) // Е rus ukr bul
23#define CY_IO UC(0x0401) // Ё rus
24#define CY_UIE UC(0x0404) // Є ukr
25#define CY_ZHE UC(0x0416) // Ж rus ukr bul
26#define CY_ZE UC(0x0417) // З rus ukr bul
27#define CY_DZE UC(0x0405) // Ѕ
28#define CY_I UC(0x0418) // И rus ukr bul
29#define CY_B_U_I UC(0x0406) // І ukr
30#define CY_YI UC(0x0407) // Ї ukr
31#define CY_SRT_I UC(0x0419) // Й rus ukr bul
32#define CY_JE UC(0x0408) // Ј
33#define CY_KA UC(0x041a) // К rus ukr bul
34#define CY_EL UC(0x041b) // Л rus ukr bul
35#define CY_LJE UC(0x0409) // Љ
36#define CY_EM UC(0x041c) // М rus ukr bul
37#define CY_EN UC(0x041d) // Н rus ukr bul
38#define CY_NJE UC(0x040a) // Њ
39#define CY_O UC(0x041e) // О rus ukr bul
40#define CY_PE UC(0x041f) // П rus ukr bul
41#define CY_ER UC(0x0420) // Р rus ukr bul
42#define CY_ES UC(0x0421) // С rus ukr bul
43#define CY_TE UC(0x0422) // Т rus ukr bul
44#define CY_TSHE UC(0x040b) // Ћ
45#define CY_KJE UC(0x040c) // Ќ
46#define CY_U UC(0x0423) // У rus ukr bul
47#define CY_SRT_U UC(0x040e) // Ў
48#define CY_EF UC(0x0424) // Ф rus ukr bul
49#define CY_HA UC(0x0425) // Х rus bul
50#define CY_TSE UC(0x0426) // Ц rus ukr bul
51#define CY_CHE UC(0x0427) // Ч rus ukr bul
52#define CY_DZHE UC(0x040f) // Џ
53#define CY_SHA UC(0x0428) // Ш rus ukr bul
54#define CY_SHCHA UC(0x0429) // Щ rus ukr bul
55#define CY_HSIGN UC(0x042a) // Ъ rus bul
56#define CY_YERU UC(0x042b) // Ы rus
57#define CY_SSIGN UC(0x042c) // Ь rus ukr bul
58#define CY_E UC(0x042d) // Э rus
59#define CY_YU UC(0x042e) // Ю rus ukr bul
60#define CY_YA UC(0x042f) // Я rus ukr bul
61// Important Cyrillic non-Slavic letters
62#define CY_PALOCHKA UC(0x04c0) // Ӏ
63#define CY_SCHWA UC(0x04d8) // Ә
64#define CY_GHE_S UC(0x0492) // Ғ
65#define CY_ZE_D UC(0x0498) // Ҙ
66#define CY_ES_D UC(0x04aa) // Ҫ
67#define CY_BR_KA UC(0x04a0) // Ҡ
68#define CY_ZHE_D UC(0x0496) // Җ
69#define CY_KA_D UC(0x049a) // Қ
70#define CY_EN_D UC(0x04a2) // Ң
71#define CY_ENGHE UC(0x04a4) // Ҥ
72#define CY_BRD_O UC(0x04e8) // Ө
73#define CY_STR_U UC(0x04ae) // Ү
74#define CY_S_U_S UC(0x04b0) // Ұ
75#define CY_SHHA UC(0x04ba) // Һ
76#define CY_HA_D UC(0x04b2) // Ҳ
77
78
79// Small
80#define CY_a UC(0x0430) // a rus ukr bul
81#define CY_be UC(0x0431) // б rus ukr bul
82#define CY_ve UC(0x0432) // в rus ukr bul
83#define CY_ghe UC(0x0433) // г rus ukr bul
84#define CY_gheup UC(0x0491) // ґ ukr
85#define CY_de UC(0x0434) // д rus ukr bul
86#define CY_dje UC(0x0452) // ђ
87#define CY_gje UC(0x0453) // ѓ
88#define CY_ie UC(0x0435) // е rus ukr bul
89#define CY_io UC(0x0451) // ё rus
90#define CY_uie UC(0x0454) // є ukr
91#define CY_zhe UC(0x0436) // ж rus ukr bul
92#define CY_ze UC(0x0437) // з rus ukr bul
93#define CY_dze UC(0x0455) // ѕ
94#define CY_i UC(0x0438) // и rus ukr bul
95#define CY_b_u_i UC(0x0456) // і ukr
96#define CY_yi UC(0x0457) // ї ukr
97#define CY_srt_i UC(0x0439) // й rus ukr bul
98#define CY_je UC(0x0458) // ј
99#define CY_ka UC(0x043a) // к rus ukr bul
100#define CY_el UC(0x043b) // л rus ukr bul
101#define CY_lje UC(0x0459) // љ
102#define CY_em UC(0x043c) // м rus ukr bul
103#define CY_en UC(0x043d) // н rus ukr bul
104#define CY_nje UC(0x045a) // њ
105#define CY_o UC(0x043e) // о rus ukr bul
106#define CY_pe UC(0x043f) // п rus ukr bul
107#define CY_er UC(0x0440) // р rus ukr bul
108#define CY_es UC(0x0441) // с rus ukr bul
109#define CY_te UC(0x0442) // т rus ukr bul
110#define CY_tshe UC(0x045b) // ћ
111#define CY_kje UC(0x045c) // ќ
112#define CY_u UC(0x0443) // у rus ukr bul
113#define CY_srt_u UC(0x045e) // ў
114#define CY_ef UC(0x0444) // ф rus ukr bul
115#define CY_ha UC(0x0445) // х rus ukr bul
116#define CY_tse UC(0x0446) // ц rus ukr bul
117#define CY_che UC(0x0447) // ч rus ukr bul
118#define CY_dzhe UC(0x045f) // џ
119#define CY_sha UC(0x0448) // ш rus ukr bul
120#define CY_shcha UC(0x0449) // щ rus ukr bul
121#define CY_hsign UC(0x044a) // ъ rus bul
122#define CY_yeru UC(0x044b) // ы rus
123#define CY_ssign UC(0x044c) // ь rus ukr bul
124#define CY_e UC(0x044d) // э rus
125#define CY_yu UC(0x044e) // ю rus ukr bul
126#define CY_ya UC(0x044f) // я rus ukr bul
127// Important Cyrillic non-Slavic letters
128#define CY_palochka UC(0x04cf) // ӏ
129#define CY_schwa UC(0x04d9) // ә
130#define CY_ghe_s UC(0x0493) // ғ
131#define CY_ze_d UC(0x0499) // ҙ
132#define CY_es_d UC(0x04ab) // ҫ
133#define CY_br_ka UC(0x04a1) // ҡ
134#define CY_zhe_d UC(0x0497) // җ
135#define CY_ka_d UC(0x049b) // қ
136#define CY_en_d UC(0x04a3) // ң
137#define CY_enghe UC(0x04a5) // ҥ
138#define CY_brd_o UC(0x04e9) // ө
139#define CY_str_u UC(0x04af) // ү
140#define CY_s_u_s UC(0x04b1) // ұ
141#define CY_shha UC(0x04bb) // һ
142#define CY_ha_d UC(0x04b3) // ҳ
143
144
145// Extra
146#define CY_slr_ve UC(0x1c80) // ᲀ CYRILLIC SMALL LETTER ROUNDED VE
147#define CY_ll_de UC(0x1c81) // ᲁ CYRILLIC SMALL LETTER LONG-LEGGED DE
148#define CY_ZEMLYA UC(0xa640) // Ꙁ CYRILLIC CAPITAL LETTER ZEMLYA
149#define CY_zemlya UC(0xa641) // ꙁ CYRILLIC SMALL LETTER ZEMLYA
150#define CY_RV_DZE UC(0xa644) // Ꙅ CYRILLIC CAPITAL LETTER REVERSED DZE
151#define CY_rv_DZE UC(0xa645) // ꙅ CYRILLIC SMALL LETTER REVERSED DZE
152#define CY_slw_es UC(0x1c83) // ᲃ CYRILLIC SMALL LETTER WIDE ES
153#define CY_st_te UC(0x1c84) // ᲄ CYRILLIC SMALL LETTER TALL TE
154#define CY_3l_te UC(0x1c85) // ᲅ CYRILLIC SMALL LETTER THREE-LEGGED TE
155#define CY_thsign UC(0x1c86) // ᲆ CYRILLIC SMALL LETTER TALL HARD SIGN
156#define CY_YERUBY UC(0xa650) // Ꙑ CYRILLIC CAPITAL LETTER YERU WITH BACK YER
157#define CY_yeruby UC(0xa651) // ꙑ CYRILLIC SMALL LETTER YERU WITH BACK YER
158#define CY_RUBL UC(0x20bd) // ₽
159#define CY_NMRO UC(0x2116) // №
160
161// The letters Zje and Sje are made for other letters and accent marks
162
163#endif