diff options
author | Didier Loiseau <didierloiseau+git@gmail.com> | 2016-02-07 19:29:49 +0100 |
---|---|---|
committer | Didier Loiseau <didierloiseau+git@gmail.com> | 2016-03-13 23:22:21 +0100 |
commit | 7c33f8493fb4ecd664390232c8de856158f9fcae (patch) | |
tree | cf2044c9e128cbbace6b8367af5de271fef19048 /quantum/keymap_extras/keymap_bepo.h | |
parent | 45de75f1791a226304e8d566cb1b75a4cc9e92b3 (diff) | |
download | qmk_firmware-7c33f8493fb4ecd664390232c8de856158f9fcae.tar.gz qmk_firmware-7c33f8493fb4ecd664390232c8de856158f9fcae.zip |
Keymap header for the BÉPO layout
Diffstat (limited to 'quantum/keymap_extras/keymap_bepo.h')
-rw-r--r-- | quantum/keymap_extras/keymap_bepo.h | 311 |
1 files changed, 311 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h new file mode 100644 index 000000000..1ab2d63dd --- /dev/null +++ b/quantum/keymap_extras/keymap_bepo.h | |||
@@ -0,0 +1,311 @@ | |||
1 | /* Keymap macros for the French BÉPO layout - http://bepo.fr */ | ||
2 | #ifndef KEYMAP_BEPO_H | ||
3 | #define KEYMAP_BEPO_H | ||
4 | |||
5 | #include "keymap_common.h" | ||
6 | |||
7 | // Alt gr | ||
8 | #ifndef ALTGR | ||
9 | #define ALTGR(kc) RALT(kc) | ||
10 | #endif | ||
11 | #ifndef ALGR | ||
12 | #define ALGR(kc) ALTGR(kc) | ||
13 | #endif | ||
14 | #define BP_ALGR KC_RALT | ||
15 | |||
16 | // Normal characters | ||
17 | // First row (on usual keyboards) | ||
18 | #define BP_DOLLAR KC_GRAVE // $ | ||
19 | #define BP_DLR BP_DOLLAR | ||
20 | #define BP_DOUBLE_QUOTE KC_1 // " | ||
21 | #define BP_DQOT BP_DOUBLE_QUOTE | ||
22 | #define BP_LEFT_GUILLEMET KC_2 // « | ||
23 | #define BP_LGIL BP_LEFT_GUILLEMET | ||
24 | #define BP_RIGHT_GUILLEMET KC_3 // » | ||
25 | #define BP_RGIL BP_RIGHT_GUILLEMET | ||
26 | #define BP_LEFT_PAREN KC_4 // ( | ||
27 | #define BP_LPRN BP_LEFT_PAREN | ||
28 | #define BP_RIGHT_PAREN KC_5 // ) | ||
29 | #define BP_RPRN BP_RIGHT_PAREN | ||
30 | #define BP_AT KC_6 // @ | ||
31 | #define BP_PLUS KC_7 // + | ||
32 | #define BP_MINUS KC_8 // - | ||
33 | #define BP_MINS BP_MINUS | ||
34 | #define BP_SLASH KC_9 // / | ||
35 | #define BP_SLSH BP_SLASH | ||
36 | #define BP_ASTERISK KC_0 // * | ||
37 | #define BP_ASTR BP_ASTERISK | ||
38 | #define BP_EQUAL KC_MINUS // = | ||
39 | #define BP_EQL BP_EQUAL | ||
40 | #define BP_PERCENT KC_EQUAL // % | ||
41 | #define BP_PERC BP_PERCENT | ||
42 | |||
43 | // Second row | ||
44 | #define BP_B KC_Q | ||
45 | #define BP_E_ACUTE KC_W // é | ||
46 | #define BP_ECUT BP_E_ACUTE | ||
47 | #define BP_P KC_E | ||
48 | #define BP_O KC_R | ||
49 | #define BP_E_GRAVE KC_T // è | ||
50 | #define BP_EGRV BP_E_GRAVE | ||
51 | #define BP_DEAD_CIRCUMFLEX KC_Y // dead ^ | ||
52 | #define BP_DCRC BP_DEAD_CIRCUMFLEX | ||
53 | #define BP_V KC_U | ||
54 | #define BP_D KC_I | ||
55 | #define BP_L KC_O | ||
56 | #define BP_J KC_P | ||
57 | #define BP_Z KC_LBRACKET | ||
58 | #define BP_W KC_RBRACKET | ||
59 | |||
60 | // Third row | ||
61 | #define BP_A KC_A | ||
62 | #define BP_U KC_S | ||
63 | #define BP_I KC_D | ||
64 | #define BP_E KC_F | ||
65 | #define BP_COMMA KC_G // , | ||
66 | #define BP_COMM BP_COMMA | ||
67 | #define BP_C KC_H | ||
68 | #define BP_T KC_J | ||
69 | #define BP_S KC_K | ||
70 | #define BP_R KC_L | ||
71 | #define BP_N KC_SCOLON | ||
72 | #define BP_M KC_QUOTE | ||
73 | #define BP_C_CEDILLA KC_BSLASH // ç | ||
74 | #define BP_CCED BP_C_CEDILLA | ||
75 | |||
76 | // Fourth row | ||
77 | #define BP_E_CIRCUMFLEX KC_NONUS_BSLASH // ê | ||
78 | #define BP_ECRC BP_E_CIRCUMFLEX | ||
79 | #define BP_A_GRAVE KC_Z // à | ||
80 | #define BP_AGRV BP_A_GRAVE | ||
81 | #define BP_Y KC_X | ||
82 | #define BP_X KC_C | ||
83 | #define BP_DOT KC_V // . | ||
84 | #define BP_K KC_B | ||
85 | #define BP_APOSTROPHE KC_N | ||
86 | #define BP_APOS BP_APOSTROPHE // ' | ||
87 | #define BP_Q KC_M | ||
88 | #define BP_G KC_COMMA | ||
89 | #define BP_H KC_DOT | ||
90 | #define BP_F KC_SLASH | ||
91 | |||
92 | // Shifted characters | ||
93 | // First row | ||
94 | #define BP_HASH LSFT(BP_DOLLAR) // # | ||
95 | #define BP_1 LSFT(KC_1) | ||
96 | #define BP_2 LSFT(KC_2) | ||
97 | #define BP_3 LSFT(KC_3) | ||
98 | #define BP_4 LSFT(KC_4) | ||
99 | #define BP_5 LSFT(KC_5) | ||
100 | #define BP_6 LSFT(KC_6) | ||
101 | #define BP_7 LSFT(KC_7) | ||
102 | #define BP_8 LSFT(KC_8) | ||
103 | #define BP_9 LSFT(KC_9) | ||
104 | #define BP_0 LSFT(KC_0) | ||
105 | #define BP_DEGREE LSFT(BP_EQUAL) // ° | ||
106 | #define BP_DEGR BP_DEGREE | ||
107 | #define BP_GRAVE LSFT(BP_PERCENT) // ` | ||
108 | #define BP_GRV BP_GRAVE | ||
109 | |||
110 | // Second row | ||
111 | #define BP_EXCLAIM LSFT(BP_DEAD_CIRCUMFLEX) // ! | ||
112 | #define BP_EXLM BP_EXCLAIM | ||
113 | |||
114 | // Third row | ||
115 | #define BP_SCOLON LSFT(BP_COMMA) // ; | ||
116 | #define BP_SCLN BP_SCOLON | ||
117 | |||
118 | // Fourth row | ||
119 | #define BP_COLON LSFT(BP_DOT) // : | ||
120 | #define BP_COLN BP_COLON | ||
121 | #define BP_QUESTION LSFT(BP_QUOTE) // ? | ||
122 | #define BP_QEST BP_QUESTION | ||
123 | |||
124 | // Space bar | ||
125 | #define BP_NON_BREAKING_SPACE LSFT(KC_SPACE) | ||
126 | #define BP_NBSP BP_NON_BREAKING_SPACE | ||
127 | |||
128 | // AltGr-ed characters | ||
129 | // First row | ||
130 | #define BP_EN_DASH ALTGR(BP_DOLLAR) // – | ||
131 | #define BP_NDSH BP_EN_DASH | ||
132 | #define BP_EM_DASH ALTGR(KC_1) // — | ||
133 | #define BP_MDSH BP_EM_DASH | ||
134 | #define BP_LESS ALTGR(KC_2) // < | ||
135 | #define BP_GREATER ALTGR(KC_3) // > | ||
136 | #define BP_GRTR BP_GREATER | ||
137 | #define BP_LBRACKET ALTGR(KC_4) // [ | ||
138 | #define BP_LBRC BP_LBRACKET | ||
139 | #define BP_RBRACKET ALTGR(KC_5) // ] | ||
140 | #define BP_RBRC BP_RBRACKET | ||
141 | #define BP_CIRCUMFLEX ALTGR(KC_6) // ^ | ||
142 | #define BP_CIRC BP_CIRCUMFLEX | ||
143 | #define BP_PLUS_MINUS ALTGR(KC_7) // ± | ||
144 | #define BP_PSMS BP_PLUS_MINUS | ||
145 | #define BP_MATH_MINUS ALTGR(KC_8) // − | ||
146 | #define BP_MMNS BP_MATH_MINUS | ||
147 | #define BP_OBELUS ALTGR(KC_9) // ÷ | ||
148 | #define BP_OBEL BP_OBELUS | ||
149 | // more conventional name of the symbol | ||
150 | #define BP_DIVISION_SIGN BP_OBELUS | ||
151 | #define BP_DVSN BP_DIVISION_SIGN | ||
152 | #define BP_TIMES ALTGR(KC_0) // × | ||
153 | #define BP_TIMS BP_TIMES | ||
154 | #define BP_DIFFERENT ALTGR(BP_EQUAL) // ≠ | ||
155 | #define BP_DIFF BP_DIFFERENT | ||
156 | #define BP_PERMILLE ALTGR(BP_PERCENT) // ‰ | ||
157 | #define BP_PMIL BP_PERMILLE | ||
158 | |||
159 | // Second row | ||
160 | #define BP_PIPE ALTGR(BP_B) // | | ||
161 | #define BP_DEAD_ACUTE ALTGR(BP_E_ACUTE) // dead ´ | ||
162 | #define BP_DACT BP_DEAD_ACUTE | ||
163 | #define BP_AMPERSAND ALTGR(BP_P) // & | ||
164 | #define BP_AMPR BP_AMPERSAND | ||
165 | #define BP_OE_LIGATURE ALTGR(BP_O) // œ | ||
166 | #define BP_OE BP_OE_LIGATURE | ||
167 | #define BP_DEAD_GRAVE ALTGR(BP_E_GRAVE) // ` | ||
168 | #define BP_DGRV BP_DEAD_GRAVE | ||
169 | #define BP_INVERTED_EXCLAIM ALTGR(BP_DEAD_CIRCUMFLEX) // ¡ | ||
170 | #define BP_IXLM BP_INVERTED_EXCLAIM | ||
171 | #define BP_DEAD_CARON ALTGR(BP_V) // dead ˇ | ||
172 | #define BP_DCAR BP_DEAD_CARON | ||
173 | #define BP_ETH ALTGR(BP_D) // ð | ||
174 | #define BP_DEAD_SLASH ALTGR(BP_L) // dead / | ||
175 | #define BP_DSLH BP_DEAD_SLASH | ||
176 | #define BP_IJ_LIGATURE ALTGR(BP_J) // ij | ||
177 | #define BP_IJ BP_IJ_LIGATURE | ||
178 | #define BP_SCHWA ALTGR(BP_Z) // ə | ||
179 | #define BP_SCWA BP_SCHWA | ||
180 | #define BP_DEAD_BREVE ALTGR(BP_W) // dead ˘ | ||
181 | #define BP_DBRV BP_DEAD_BREVE | ||
182 | |||
183 | // Third row | ||
184 | #define BP_AE_LIGATURE ALTGR(BP_A) // æ | ||
185 | #define BP_AE BP_AE_LIGATURE | ||
186 | #define BP_U_GRAVE AGR(BP_U) // ù | ||
187 | #define BP_UGRV BP_U_GRAVE | ||
188 | #define BP_DEAD_TREMA ALTGR(BP_I) // dead ¨ (trema/umlaut/diaresis) | ||
189 | #define BP_DTRM BP_DEAD_TREMA | ||
190 | #define BP_EURO ALTGR(BP_E) // € | ||
191 | #define BP_TYPOGRAPHICAL_APOSTROPHE ALTGR(BP_COMMMA) // ’ | ||
192 | #define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE | ||
193 | #define BP_COPYRIGHT ALTGR(BP_C) // © | ||
194 | #define BP_CPRT BP_COPYRIGHT | ||
195 | #define BP_THORN ALTGR(BP_T) // þ | ||
196 | #define BP_THRN BP_THORN | ||
197 | #define BP_SHARP_S ALTGR(BP_S) // ß | ||
198 | #define BP_SRPS BP_SHARP_S | ||
199 | #define BP_REGISTERED_TRADEMARK ALTGR(BP_R) // ® | ||
200 | #define BP_RTM BP_REGISTERED_TRADEMARK | ||
201 | #define BP_DEAD_TILDE ALTGR(BP_N) // dead ~ | ||
202 | #define BP_DTLD BP_DEAD_TILDE | ||
203 | #define BP_DEAD_MACRON ALTGR(BP_M) // dead ¯ | ||
204 | #define BP_DMCR BP_DEAD_MACRON | ||
205 | #define BP_DEAD_CEDILLA ALTGR(BP_C_CEDILLA) // dead ¸ | ||
206 | #define BP_DCED BP_DEAD_CEDILLA | ||
207 | |||
208 | // Fourth row | ||
209 | #define BP_NONUS_SLASH ALTGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo) | ||
210 | #define BP_NUSL BP_NONUS_SLASH | ||
211 | #define BP_BACKSLASH ALTGR(BP_A_GRAVE) /* \ */ | ||
212 | #define BP_BSLS BP_BACKSLASH | ||
213 | #define BP_LEFT_CURLY_BRACE ALTGR(BP_Y) // { | ||
214 | #define BP_LCBR BP_LEFT_CURLY_BRACE | ||
215 | #define BP_RIGHT_CURLY_BRACE ALTGR(BP_X) // } | ||
216 | #define BP_RCBR BP_RIGHT_CURLY_BRACE | ||
217 | #define BP_ELLIPSIS ALTGR(BP_DOT) // … | ||
218 | #define BP_ELPS BP_ELLIPSIS | ||
219 | #define BP_TILDE ALTGR(BP_K) // ~ | ||
220 | #define BP_TILD BP_TILDE | ||
221 | #define BP_INVERTED_QUESTION ALTGR(BP_QUESTION) // ¿ | ||
222 | #define BP_IQST BP_INVERTED_QUESTION | ||
223 | #define BP_DEAD_RING ALTGR(BP_Q) // dead ° | ||
224 | #define BP_DRNG BP_DEAD_RING | ||
225 | #define BP_DEAD_GREEK ALTGR(BP_G) // dead Greek key (following key will make a Greek letter) | ||
226 | #define BP_DGRK BP_DEAD_GREEK | ||
227 | #define BP_DAGGER ALTGR(BP_H) // † | ||
228 | #define BP_DAGR BP_DAGGER | ||
229 | #define BP_DEAD_OGONEK ALTGR(BP_F) // dead ˛ | ||
230 | #define BP_DOGO BP_DEAD_OGONEK | ||
231 | |||
232 | // Space bar | ||
233 | #define BP_UNDERSCORE ALTGR(KC_SPACE) // _ | ||
234 | #define BP_UNDS BP_UNDERSCORE | ||
235 | |||
236 | // AltGr-Shifted characters (different from capitalised AltGr-ed characters) | ||
237 | // First row | ||
238 | #define BP_PARAGRAPH ALTGR(BP_HASH) // ¶ | ||
239 | #define BP_PARG BP_PARAGRAPH | ||
240 | #define BP_LOW_DOUBLE_QUOTE ALTGR(BP_1) // „ | ||
241 | #define BP_LWQT BP_LOW_DOUBLE_QUOTE | ||
242 | #define BP_LEFT_DOUBLE_QUOTE ALTGR(BP_2) // “ | ||
243 | #define BP_LDQT BP_LEFT_DOUBLE_QUOTE | ||
244 | #define BP_RIGHT_DOUBLE_QUOTE ALTGR(BP_3) // ” | ||
245 | #define BP_RDQT BP_RIGHT_DOUBLE_QUOTE | ||
246 | #define BP_LESS_OR_EQUAL ALTGR(BP_4) // ≤ | ||
247 | #define BP_LEQL BP_LESS_OR_EQUAL | ||
248 | #define BP_GREATER_OR_EQUAL ALTGR(BP_5) // ≥ | ||
249 | #define BP_GEQL BP_GREATER_OR_EQUAL | ||
250 | // nothing on ALTGR(BP_6) | ||
251 | #define BP_NEGATION ALTGR(BP_7) // ¬ | ||
252 | #define BP_NEGT BP_NEGATION | ||
253 | #define BP_ONE_QUARTER ALTGR(BP_8) // ¼ | ||
254 | #define BP_1QRT BP_ONE_QUARTER | ||
255 | #define BP_ONE_HALF ALTGR(BP_9) // ½ | ||
256 | #define BP_1HLF BP_ONE_HALF | ||
257 | #define BP_THREE_QUARTERS ALTGR(BP_0) // ¾ | ||
258 | #define BP_3QRT BP_THREE_QUARTERS | ||
259 | #define BP_MINUTES ALTGR(BP_DEGREE) // ′ | ||
260 | #define BP_MNUT BP_MINUTES | ||
261 | #define BP_SECONDS ALTGR(BP_GRAVE) // ″ | ||
262 | #define BP_SCND BP_SECONDS | ||
263 | |||
264 | // Second row | ||
265 | #define BP_BROKEN_PIPE LSFT(BP_PIPE) // ¦ | ||
266 | #define BP_BPIP BP_BROKEN_PIPE | ||
267 | #define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝ | ||
268 | #define BP_DDCT BP_DEAD_DOUBLE_ACUTE | ||
269 | #define BP_SECTION ALTGR(LSFT(BP_P)) // § | ||
270 | #define BP_SECT BP_SECTION | ||
271 | // LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT) | ||
272 | #define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // ` | ||
273 | #define BP_GRVB BP_GRAVE_BIS | ||
274 | |||
275 | // Third row | ||
276 | #define BP_DEAD_DOT_ABOVE LSFT(BP_DEAD_TREMA) // dead ˙ | ||
277 | #define BP_DDTA BP_DEAD_DOT_ABOVE | ||
278 | #define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £) | ||
279 | #define BP_DCUR BP_DEAD_CURRENCY | ||
280 | #define BP_DEAD_HORN LSFT(ALTGR(BP_COMMA)) // dead ̛ | ||
281 | #define BP_DHRN BP_DEAD_HORN | ||
282 | #define BP_LONG_S LSFT(ALTGR(BP_C)) // ſ | ||
283 | #define BP_LNGS BP_LONG_S | ||
284 | #define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™ | ||
285 | #define BP_TM BP_TRADEMARK | ||
286 | #define BP_ORDINAL_INDICATOR_O LSFT(ALTGR(BP_M)) // º | ||
287 | #define BP_ORDO BP_ORDINAL_INDICATOR_O | ||
288 | #define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛ | ||
289 | #define BP_DCOM BP_DEAD_COMMA | ||
290 | |||
291 | // Fourth row | ||
292 | #define BP_LEFT_QUOTE LSFT(ALTGR(BP_Y)) // ‘ | ||
293 | #define BP_LQOT BP_LEFT_QUOTE | ||
294 | #define BP_RIGHT_QUOTE LSFT(ALTGR(BP_X)) // ’ | ||
295 | #define BP_RQOT BP_RIGHT_QUOTE | ||
296 | #define BP_INTERPUNCT LSFT(ALTGR(BP_DOT)) // · | ||
297 | #define BP_IPCT BP_INTERPUNCT | ||
298 | #define BP_DEAD_HOOK_ABOVE LSFT(ALTGR(BP_QUESTION)) // dead ̉ | ||
299 | #define BP_DHKA BP_DEAD_HOOK_ABOVE | ||
300 | #define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣ | ||
301 | #define BP_DUDT BP_DEAD_UNDERDOT | ||
302 | #define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡ | ||
303 | #define BP_DDGR BP_DOUBLE_DAGGER | ||
304 | #define BP_ORDINAL_INDICATOR_A LSFT(ALTGR(BP_F)) // ª | ||
305 | #define BP_ORDA BP_ORDINAL_INDICATOR_A | ||
306 | |||
307 | // Space bar | ||
308 | #define BP_NARROW_NON_BREAKING_SPACE ALTGR(BP_NON_BREAKING_SPACE) | ||
309 | #define BP_NNBS BP_NARROW_NON_BREAKING_SPACE | ||
310 | |||
311 | #endif | ||