aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--quantum/keymap_extras/keymap_belgian.h235
-rw-r--r--quantum/keymap_extras/sendstring_belgian.h26
2 files changed, 162 insertions, 99 deletions
diff --git a/quantum/keymap_extras/keymap_belgian.h b/quantum/keymap_extras/keymap_belgian.h
index 55a0d892c..a6912afef 100644
--- a/quantum/keymap_extras/keymap_belgian.h
+++ b/quantum/keymap_extras/keymap_belgian.h
@@ -13,96 +13,159 @@
13 * You should have received a copy of the GNU General Public License 13 * You should have received a copy of the GNU General Public License
14 * along with this program. If not, see <http://www.gnu.org/licenses/>. 14 * along with this program. If not, see <http://www.gnu.org/licenses/>.
15 */ 15 */
16#ifndef KEYMAP_BELGIAN_H
17#define KEYMAP_BELGIAN_H
18 16
19#include "keymap.h" 17#pragma once
20
21// Normal characters
22// Line 1
23#define BE_SUP2 KC_GRV
24#define BE_AMP KC_1
25#define BE_EACU KC_2
26#define BE_QUOT KC_3
27#define BE_APOS KC_4
28#define BE_LPRN KC_5
29#define BE_PARA KC_6
30#define BE_EGRV KC_7
31#define BE_EXLM KC_8
32#define BE_CCED KC_9
33#define BE_AGRV KC_0
34#define BE_RPRN KC_MINS
35#define BE_MINS KC_EQL
36
37// Line 2
38#define BE_A KC_Q
39#define BE_Z KC_W
40#define BE_CIRC KC_LBRC
41#define BE_DLR KC_RBRC
42
43// Line 3
44#define BE_Q KC_A
45#define BE_M KC_SCLN
46#define BE_UGRV KC_QUOT
47#define BE_MU KC_NUHS
48
49// Line 4
50#define BE_LESS KC_NUBS
51#define BE_W KC_Z
52#define BE_COMM KC_M
53#define BE_SCLN KC_COMM
54#define BE_COLN KC_DOT
55#define BE_EQL KC_SLSH
56
57// Shifted characters
58// Line 1
59#define BE_SUP3 KC_TILD
60#define BE_1 LSFT(KC_1)
61#define BE_2 LSFT(KC_2)
62#define BE_3 LSFT(KC_3)
63#define BE_4 LSFT(KC_4)
64#define BE_5 LSFT(KC_5)
65#define BE_6 LSFT(KC_6)
66#define BE_7 LSFT(KC_7)
67#define BE_8 LSFT(KC_8)
68#define BE_9 LSFT(KC_9)
69#define BE_0 LSFT(KC_0)
70#define BE_OVRR KC_UNDS
71#define BE_UNDS KC_PLUS
72 18
73// Line 2 19#include "keymap.h"
74#define BE_UMLT LSFT(BE_CIRC)
75#define BE_PND LSFT(BE_DLR)
76
77// Line 3
78#define BE_PERC LSFT(BE_UGRV)
79
80// Line 4
81#define BE_GRTR LSFT(BE_LESS)
82#define BE_QUES LSFT(BE_COMM)
83#define BE_DOT LSFT(BE_SCLN)
84#define BE_SLSH LSFT(BE_COLN)
85#define BE_PLUS LSFT(BE_EQL)
86 20
87// Alt Gr-ed characters 21// clang-format off
88// Line 1
89#define BE_PIPE ALGR(KC_1)
90#define BE_AT ALGR(KC_2)
91#define BE_HASH ALGR(KC_3)
92#define BE_LCBR ALGR(KC_9)
93#define BE_RCBR ALGR(KC_0)
94 22
95// Line 2 23/*
96#define BE_EURO ALGR(KC_E) 24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
97#define BE_LSBR ALGR(BE_CIRC) 25 * │ ² │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │       │
98#define BE_RSBR ALGR(BE_DLR) 26 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
27 * │     │ A │ Z │ E │ R │ T │ Y │ U │ I │ O │ P │ ^ │ $ │     │
28 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
29 * │      │ Q │ S │ D │ F │ G │ H │ J │ K │ L │ M │ ù │ µ │    │
30 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
31 * │    │ < │ W │ X │ C │ V │ B │ N │ , │ ; │ : │ = │          │
32 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
33 * │    │    │    │                        │    │    │    │    │
34 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
35 */
36// Row 1
37#define BE_SUP2 KC_GRV // ²
38#define BE_AMPR KC_1 // &
39#define BE_EACU KC_2 // é
40#define BE_DQUO KC_3 // "
41#define BE_QUOT KC_4 // '
42#define BE_LPRN KC_5 // (
43#define BE_SECT KC_6 // §
44#define BE_EGRV KC_7 // è
45#define BE_EXLM KC_8 // !
46#define BE_CCED KC_9 // ç
47#define BE_AGRV KC_0 // à
48#define BE_RPRN KC_MINS // )
49#define BE_MINS KC_EQL // -
50// Row 2
51#define BE_A KC_Q // A
52#define BE_Z KC_W // Z
53#define BE_E KC_E // E
54#define BE_R KC_R // R
55#define BE_T KC_T // T
56#define BE_Y KC_Y // Y
57#define BE_U KC_U // U
58#define BE_I KC_I // I
59#define BE_O KC_O // O
60#define BE_P KC_P // P
61#define BE_DCIR KC_LBRC // ^ (dead)
62#define BE_DLR KC_RBRC // $
63// Row 3
64#define BE_Q KC_A // Q
65#define BE_S KC_S // S
66#define BE_D KC_D // D
67#define BE_F KC_F // F
68#define BE_G KC_G // G
69#define BE_H KC_H // H
70#define BE_J KC_K // J
71#define BE_K KC_K // K
72#define BE_L KC_L // L
73#define BE_M KC_SCLN // M
74#define BE_UGRV KC_QUOT // ù
75#define BE_MICR KC_NUHS // µ
76// Row 4
77#define BE_LABK KC_NUBS // <
78#define BE_W KC_Z // W
79#define BE_X KC_X // X
80#define BE_C KC_C // C
81#define BE_V KC_V // V
82#define BE_B KC_B // B
83#define BE_N KC_N // N
84#define BE_COMM KC_M // ,
85#define BE_SCLN KC_COMM // ;
86#define BE_COLN KC_DOT // :
87#define BE_EQL KC_SLSH // =
99 88
100// Line 3 89/* Shifted symbols
101#define BE_ACUT ALGR(BE_UGRV) 90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
102#define BE_GRV ALGR(BE_MU) 91 * │ ³ │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │       │
92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
93 * │     │   │   │   │   │   │   │   │   │   │   │ ¨ │ * │     │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
95 * │      │   │   │   │   │   │   │   │   │   │   │ % │ £ │    │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
97 * │    │ > │   │   │   │   │   │   │ ? │ . │ / │ + │          │
98 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
99 * │    │    │    │                        │    │    │    │    │
100 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
101 */
102// Row 1
103#define BE_SUP3 S(BE_SUP2) // ³
104#define BE_1 S(BE_AMPR) // 1
105#define BE_2 S(BE_EACU) // 2
106#define BE_3 S(BE_DQUO) // 3
107#define BE_4 S(BE_QUOT) // 4
108#define BE_5 S(BE_LPRN) // 5
109#define BE_6 S(BE_SECT) // 6
110#define BE_7 S(BE_EGRV) // 7
111#define BE_8 S(BE_EXLM) // 8
112#define BE_9 S(BE_CCED) // 9
113#define BE_0 S(BE_AGRV) // 0
114#define BE_RNGA S(BE_RPRN) // °
115#define BE_UNDS S(BE_MINS) // _
116// Row 2
117#define BE_DIAE S(BE_DCIR) // ¨ (dead)
118#define BE_ASTR S(BE_DLR) // *
119// Row 3
120#define BE_PERC S(BE_UGRV) // %
121#define BE_PND S(BE_MICR) // £
122// Row 4
123#define BE_RABK S(BE_LABK) // >
124#define BE_QUES S(BE_COMM) // ?
125#define BE_DOT S(BE_SCLN) // .
126#define BE_SLSH S(BE_COLN) // /
127#define BE_PLUS S(BE_EQL) // +
103 128
104// Line 4 129/* AltGr symbols
105#define BE_BSLS ALGR(BE_LESS) 130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
106#define BE_TILT ALGR(BE_EQL) 131 * │   │ | │ @ │ # │   │   │ ^ │   │   │ { │ } │   │   │       │
132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
133 * │     │   │   │ € │   │   │   │   │   │   │   │ [ │ ] │     │
134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐    │
135 * │      │   │   │   │   │   │   │   │   │   │   │ ´ │ ` │    │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴────┤
137 * │    │ \ │   │   │   │   │   │   │   │   │   │ ~ │          │
138 * ├────┼───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
139 * │    │    │    │                        │    │    │    │    │
140 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
141 */
142// Row 1
143#define BE_PIPE ALGR(BE_AMPR) // |
144#define BE_AT ALGR(BE_EACU) // @
145#define BE_HASH ALGR(BE_DQUO) // #
146#define BE_CIRC ALGR(BE_SECT) // ^
147#define BE_LCBR ALGR(BE_CCED) // {
148#define BE_RCBR ALGR(BE_AGRV) // }
149// Row 2
150#define BE_EURO ALGR(BE_E) // €
151#define BE_LBRC ALGR(BE_DCIR) // [
152#define BE_RBRC ALGR(BE_DLR) // ]
153// Row 3
154#define BE_ACUT ALGR(BE_UGRV) // ´ (dead)
155#define BE_GRV ALGR(BE_MICR) // ` (dead)
156// Row 4
157#define BE_BSLS ALGR(BE_LABK) // (backslash)
158#define BE_TILD ALGR(BE_EQL) // ~
107 159
108#endif 160// DEPRECATED
161#define BE_AMP BE_AMPR
162#define BE_APOS BE_QUOT
163#define BE_PARA BE_SECT
164#define BE_MU BE_MICR
165#define BE_LESS BE_LABK
166#define BE_OVRR BE_RNGA
167#define BE_UMLT BE_DIAE
168#define BE_GRTR BE_RABK
169#define BE_LSBR BE_LBRC
170#define BE_RSBR BE_RBRC
171#define BE_TILT BE_TILD
diff --git a/quantum/keymap_extras/sendstring_belgian.h b/quantum/keymap_extras/sendstring_belgian.h
index ef5a2f049..5e9a079a9 100644
--- a/quantum/keymap_extras/sendstring_belgian.h
+++ b/quantum/keymap_extras/sendstring_belgian.h
@@ -40,7 +40,7 @@ const uint8_t ascii_to_shift_lut[16] PROGMEM = {
40 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), 40 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
41 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), 41 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
42 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), 42 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
43 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), 43 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0)
44}; 44};
45 45
46const uint8_t ascii_to_altgr_lut[16] PROGMEM = { 46const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
@@ -60,7 +60,7 @@ const uint8_t ascii_to_altgr_lut[16] PROGMEM = {
60 KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0), 60 KCLUT_ENTRY(1, 0, 0, 0, 0, 0, 0, 0),
61 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), 61 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
62 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0), 62 KCLUT_ENTRY(0, 0, 0, 0, 0, 0, 0, 0),
63 KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0), 63 KCLUT_ENTRY(0, 0, 0, 1, 1, 1, 1, 0)
64}; 64};
65 65
66const uint8_t ascii_to_keycode_lut[128] PROGMEM = { 66const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
@@ -74,27 +74,27 @@ const uint8_t ascii_to_keycode_lut[128] PROGMEM = {
74 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, 74 XXXXXXX, XXXXXXX, XXXXXXX, KC_ESC, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX,
75 75
76 // ! " # $ % & ' 76 // ! " # $ % & '
77 KC_SPC, BE_EXLM, BE_QUOT, BE_QUOT, BE_DLR, BE_UGRV, BE_AMP, BE_APOS, 77 KC_SPC, BE_EXLM, BE_DQUO, BE_DQUO, BE_DLR, BE_UGRV, BE_AMPR, BE_QUOT,
78 // ( ) * + , - . / 78 // ( ) * + , - . /
79 BE_LPRN, BE_RPRN, BE_DLR, BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN, 79 BE_LPRN, BE_RPRN, BE_DLR, BE_EQL, BE_COMM, BE_MINS, BE_SCLN, BE_COLN,
80 // 0 1 2 3 4 5 6 7 80 // 0 1 2 3 4 5 6 7
81 BE_AGRV, BE_AMP, BE_EACU, BE_QUOT, BE_APOS, BE_LPRN, BE_PARA, BE_EGRV, 81 BE_AGRV, BE_AMPR, BE_EACU, BE_DQUO, BE_QUOT, BE_LPRN, BE_SECT, BE_EGRV,
82 // 8 9 : ; < = > ? 82 // 8 9 : ; < = > ?
83 BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LESS, BE_EQL, BE_LESS, BE_COMM, 83 BE_EXLM, BE_CCED, BE_COLN, BE_SCLN, BE_LABK, BE_EQL, BE_LABK, BE_COMM,
84 // @ A B C D E F G 84 // @ A B C D E F G
85 BE_EACU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 85 BE_EACU, BE_A, BE_B, BE_C, BE_D, BE_E, BE_F, BE_G,
86 // H I J K L M N O 86 // H I J K L M N O
87 KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O, 87 BE_H, BE_I, BE_J, BE_K, BE_L, BE_M, BE_N, BE_O,
88 // P Q R S T U V W 88 // P Q R S T U V W
89 KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W, 89 BE_P, BE_Q, BE_R, BE_S, BE_T, BE_U, BE_V, BE_W,
90 // X Y Z [ \ ] ^ _ 90 // X Y Z [ \ ] ^ _
91 KC_X, KC_Y, BE_Z, BE_CIRC, BE_LESS, BE_DLR, BE_PARA, BE_MINS, 91 BE_X, BE_Y, BE_Z, BE_CIRC, BE_LABK, BE_DLR, BE_SECT, BE_MINS,
92 // ` a b c d e f g 92 // ` a b c d e f g
93 BE_MU, BE_A, KC_B, KC_C, KC_D, KC_E, KC_F, KC_G, 93 BE_MICR, BE_A, BE_B, BE_C, BE_D, BE_E, BE_F, BE_G,
94 // h i j k l m n o 94 // h i j k l m n o
95 KC_H, KC_I, KC_J, KC_K, KC_L, BE_M, KC_N, KC_O, 95 BE_H, BE_I, BE_J, BE_K, BE_L, BE_M, BE_N, BE_O,
96 // p q r s t u v w 96 // p q r s t u v w
97 KC_P, BE_Q, KC_R, KC_S, KC_T, KC_U, KC_V, BE_W, 97 BE_P, BE_Q, BE_R, BE_S, BE_T, BE_U, BE_V, BE_W,
98 // x y z { | } ~ DEL 98 // x y z { | } ~ DEL
99 KC_X, KC_Y, BE_Z, BE_CCED, BE_AMP, BE_AGRV, BE_EQL, KC_DEL 99 BE_X, BE_Y, BE_Z, BE_CCED, BE_AMPR, BE_AGRV, BE_EQL, KC_DEL
100}; 100};