aboutsummaryrefslogtreecommitdiff
path: root/quantum/keymap_extras/keymap_french_osx.h
diff options
context:
space:
mode:
authorRyan <fauxpark@gmail.com>2020-04-19 06:57:05 +1000
committerGitHub <noreply@github.com>2020-04-19 06:57:05 +1000
commitf43cb314767403b8289fc957bd1d3b8250874192 (patch)
treeb1d04ab08011a7e10702db25eb253ad14c5be494 /quantum/keymap_extras/keymap_french_osx.h
parent89eb3a9e429de9bfc2bd3c0eefc3dc6e3dcfc57d (diff)
downloadqmk_firmware-f43cb314767403b8289fc957bd1d3b8250874192.tar.gz
qmk_firmware-f43cb314767403b8289fc957bd1d3b8250874192.zip
Update French and German macOS keymaps and add sendstring LUTs (#8700)
Diffstat (limited to 'quantum/keymap_extras/keymap_french_osx.h')
-rw-r--r--quantum/keymap_extras/keymap_french_osx.h306
1 files changed, 237 insertions, 69 deletions
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 @@
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_FRENCH_OSX_H
17#define KEYMAP_FRENCH_OSX_H
18 16
19#include "keymap.h" 17#pragma once
20
21// Normal characters
22#define FR_AT KC_GRV
23#define FR_AMP KC_1
24#define FR_EACU KC_2
25#define FR_QUOT KC_3
26#define FR_APOS KC_4
27#define FR_LPRN KC_5
28#define FR_SECT KC_6
29#define FR_EGRV KC_7
30#define FR_EXLM KC_8
31#define FR_CCED KC_9
32#define FR_AGRV KC_0
33#define FR_RPRN KC_MINS
34#define FR_MINS KC_EQL
35
36#define FR_A KC_Q
37#define FR_Z KC_W
38#define FR_CIRC KC_LBRC
39#define FR_DLR KC_RBRC
40
41#define FR_Q KC_A
42#define FR_M KC_SCLN
43#define FR_UGRV KC_QUOT
44#define FR_GRV KC_NUHS
45
46#define FR_LESS KC_NUBS
47#define FR_W KC_Z
48#define FR_COMM KC_M
49#define FR_SCLN KC_COMM
50#define FR_COLN KC_DOT
51#define FR_EQL KC_SLSH
52 18
53// Shifted characters 19#include "keymap.h"
54#define FR_HASH LSFT(KC_GRV)
55#define FR_1 LSFT(KC_1)
56#define FR_2 LSFT(KC_2)
57#define FR_3 LSFT(KC_3)
58#define FR_4 LSFT(KC_4)
59#define FR_5 LSFT(KC_5)
60#define FR_6 LSFT(KC_6)
61#define FR_7 LSFT(KC_7)
62#define FR_8 LSFT(KC_8)
63#define FR_9 LSFT(KC_9)
64#define FR_0 LSFT(KC_0)
65#define FR_UNDS LSFT(FR_MINS)
66 20
67#define FR_UMLT LSFT(FR_CIRC) 21// clang-format off
68#define FR_ASTR LSFT(FR_DLR)
69 22
70#define FR_PERC LSFT(FR_UGRV) 23/*
71#define FR_PND LSFT(FR_GRV) 24 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
25 * │ @ │ & │ é │ " │ ' │ ( │ § │ è │ ! │ ç │ à │ ) │ - │     │
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 FR_AT KC_GRV // @
38#define FR_AMPR KC_1 // &
39#define FR_LEAC KC_2 // é
40#define FR_DQUO KC_3 // "
41#define FR_QUOT KC_4 // '
42#define FR_LPRN KC_5 // (
43#define FR_SECT KC_6 // §
44#define FR_LEGR KC_7 // è
45#define FR_EXLM KC_8 // !
46#define FR_LCCE KC_9 // ç
47#define FR_LAGR KC_0 // à
48#define FR_RPRN KC_MINS // )
49#define FR_MINS KC_EQL // -
50// Row 2
51#define FR_A KC_Q // A
52#define FR_Z KC_W // Z
53#define FR_E KC_E // E
54#define FR_R KC_R // R
55#define FR_T KC_T // T
56#define FR_Y KC_Y // Y
57#define FR_U KC_U // U
58#define FR_I KC_I // I
59#define FR_O KC_O // O
60#define FR_P KC_P // P
61#define FR_CIRC KC_LBRC // ^
62#define FR_DLR KC_RBRC // $
63// Row 3
64#define FR_Q KC_A // Q
65#define FR_S KC_S // S
66#define FR_D KC_D // D
67#define FR_F KC_F // F
68#define FR_G KC_G // G
69#define FR_H KC_H // H
70#define FR_J KC_J // J
71#define FR_K KC_K // K
72#define FR_L KC_L // L
73#define FR_M KC_SCLN // M
74#define FR_LUGR KC_QUOT // ù
75#define FR_GRV KC_NUHS // `
76// Row 4
77#define FR_LABK KC_NUBS // <
78#define FR_W KC_Z // W
79#define FR_X KC_X // X
80#define FR_C KC_C // C
81#define FR_V KC_V // V
82#define FR_B KC_B // B
83#define FR_N KC_N // N
84#define FR_COMM KC_M // ,
85#define FR_SCLN KC_COMM // ;
86#define FR_COLN KC_DOT // :
87#define FR_EQL KC_SLSH // =
72 88
73#define FR_GRTR LSFT(FR_LESS) 89/* Shifted symbols
74#define FR_QUES LSFT(FR_COMM) 90 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
75#define FR_DOT LSFT(FR_SCLN) 91 * │ # │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ ° │ _ │     │
76#define FR_SLSH LSFT(FR_COLN) 92 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
77#define FR_PLUS LSFT(FR_EQL) 93 * │     │   │   │   │   │   │   │   │   │   │   │ ¨ │ * │   │
94 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐  │
95 * │      │   │   │   │   │   │   │   │   │   │   │ % │ £ │  │
96 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
97 * │    │ > │   │   │   │   │   │   │ ? │ . │ / │ + │        │
98 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
99 * │     │    │     │                       │     │    │     │
100 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
101 */
102// Row 1
103#define FR_HASH S(FR_AT) // #
104#define FR_1 S(FR_AMPR) // 1
105#define FR_2 S(FR_LEAC) // 2
106#define FR_3 S(FR_DQUO) // 3
107#define FR_4 S(FR_QUOT) // 4
108#define FR_5 S(FR_LPRN) // 5
109#define FR_6 S(FR_SECT) // 6
110#define FR_7 S(FR_LEGR) // 7
111#define FR_8 S(FR_EXLM) // 8
112#define FR_9 S(FR_LCCE) // 9
113#define FR_0 S(FR_LAGR) // 0
114#define FR_DEG S(FR_RPRN) // °
115#define FR_UNDS S(FR_MINS) // _
116// Row 2
117#define FR_DIAE S(FR_CIRC) // ¨ (dead)
118#define FR_ASTR S(FR_DLR) // *
119// Row 3
120#define FR_PERC S(FR_LUGR) // %
121#define FR_PND S(FR_GRV) // £
122// Row 4
123#define FR_RABK S(FR_LABK) // >
124#define FR_QUES S(FR_COMM) // ?
125#define FR_DOT S(FR_SCLN) // .
126#define FR_SLSH S(FR_COLN) // /
127#define FR_PLUS S(FR_EQL) // +
78 128
79// Alted characters 129/* Alted symbols
80#define FR_LCBR LALT(KC_5) 130 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
81#define FR_RCBR LALT(FR_RPRN) 131 * │ • │  │ ë │ “ │ ‘ │ { │ ¶ │ « │ ¡ │ Ç │ Ø │ } │ — │     │
82#define FR_EURO LALT(KC_E) 132 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
83#define FR_BULT LALT(FR_DLR) 133 * │     │ Æ │ Â │ Ê │ ® │ † │ Ú │ º │ î │ Œ │ π │ Ô │ € │   │
84#define FR_TILD LALT(KC_N) 134 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐  │
135 * │      │ ‡ │ Ò │ ∂ │ ƒ │ fi │ Ì │ Ï │ È │ ¬ │ µ │ Ù │   │  │
136 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
137 * │    │ ≤ │ ‹ │ ≈ │ © │ ◊ │ ß │ ~ │ ∞ │ … │ ÷ │ ≠ │        │
138 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
139 * │     │    │     │                       │     │    │     │
140 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
141 */
142// Row 1
143#define FR_BULT A(FR_AT) // •
144#define FR_APPL A(FR_AMPR) //  (Apple logo)
145#define FR_LEDI A(FR_LEAC) // ë
146#define FR_LDQU A(FR_DQUO) // “
147#define FR_LSQU A(FR_QUOT) // ‘
148#define FR_LCBR A(FR_LPRN) // {
149#define FR_PILC A(FR_SECT) // ¶
150#define FR_LDAQ A(FR_LEGR) // «
151#define FR_IEXL A(FR_EXLM) // ¡
152#define FR_CCCE A(FR_LCCE) // Ç
153#define FR_OSTR A(FR_LAGR) // Ø
154#define FR_RCBR A(FR_RPRN) // }
155#define FR_MDSH A(FR_MINS) // —
156// Row 2
157#define FR_AE A(FR_A) // Æ
158#define FR_CACI A(FR_Z) // Â
159#define FR_ECIR A(FR_E) // Ê
160#define FR_REGD A(FR_R) // ®
161#define FR_DAGG A(FR_T) // †
162#define FR_CUAC A(FR_Y) // Ú
163#define FR_MORD A(FR_U) // º
164#define FR_LICI A(FR_I) // î
165#define FR_OE A(FR_O) // Œ
166#define FR_PI A(FR_P) // π
167#define FR_OCIR A(FR_CIRC) // Ô
168#define FR_EURO A(FR_DLR) // €
169// Row 3
170#define FR_DDAG A(FR_Q) // ‡
171#define FR_COGR A(FR_S) // Ò
172#define FR_PDIF A(FR_D) // ∂
173#define FR_FHK A(FR_F) // ƒ
174#define FR_FI A(FR_G) // fi
175#define FR_CIGR A(FR_H) // Ì
176#define FR_CIDI A(FR_J) // Ï
177#define FR_CEGR A(FR_K) // È
178#define FR_NOT A(FR_L) // ¬
179#define FR_MICR A(FR_M) // µ
180#define FR_CUGR A(FR_LUGR) // Ù
181// Row 4
182#define FR_LTEQ A(FR_LABK) // ≤
183#define FR_LSAQ A(FR_W) // ‹
184#define FR_AEQL A(FR_X) // ≈
185#define FR_COPY A(FR_C) // ©
186#define FR_LOZN A(FR_V) // ◊
187#define FR_SS A(FR_B) // ß
188#define FR_TILD A(FR_N) // ~ (dead)
189#define FR_INFN A(FR_COMM) // ∞
190#define FR_ELLP A(FR_SCLN) // …
191#define FR_DIV A(FR_COLN) // ÷
192#define FR_NEQL A(FR_EQL) // ≠
85 193
86// Shift+Alt-ed characters 194/* Shift+Alted symbols
87#define FR_LBRC LSFT(LALT(KC_5)) 195 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬─────┐
88#define FR_RBRC LSFT(LALT(FR_RPRN)) 196 * │ Ÿ │ ´ │ „ │   │   │ [ │ å │ » │ Û │ Á │   │ ] │ – │     │
89#define FR_PIPE LSFT(LALT(KC_L)) 197 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬───┤
90#define FR_BSLS LSFT(LALT(FR_COLN)) 198 * │     │   │ Å │   │ ‚ │ ™ │   │ ª │ ï │   │ ∏ │   │ ¥ │   │
199 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┐  │
200 * │      │ Ω │ ∑ │ ∆ │ · │ fl │ Î │ Í │ Ë │ | │ Ó │ ‰ │   │  │
201 * ├────┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┴──┤
202 * │    │ ≥ │ › │ ⁄ │ ¢ │ √ │ ∫ │ ı │ ¿ │   │ \ │ ± │        │
203 * ├────┴┬──┴─┬─┴───┼───┴───┴───┴───┴───┴───┼───┴─┬─┴──┬─────┤
204 * │     │    │     │                       │     │    │     │
205 * └─────┴────┴─────┴───────────────────────┴─────┴────┴─────┘
206 */
207// Row 1
208#define FR_CYDI S(A(FR_AT)) // Ÿ
209#define FR_ACUT S(A(FR_AMPR)) // ´ (dead)
210#define FR_DLQU S(A(FR_LEAC)) // „
211#define FR_LBRC S(A(FR_LPRN)) // [
212#define FR_LARI S(A(FR_SECT)) // å
213#define FR_RDAQ S(A(FR_LEGR)) // »
214#define FR_CUCI S(A(FR_EXLM)) // Û
215#define FR_CAAC S(A(FR_LCCE)) // Á
216#define FR_RBRC S(A(FR_RPRN)) // ]
217#define FR_NDSH S(A(FR_MINS)) // –
218// Row 2
219#define FR_CARI S(A(FR_Z)) // Å
220#define FR_SLQU S(A(FR_R)) // ‚
221#define FR_TM S(A(FR_T)) // ™
222#define FR_FORD S(A(FR_U)) // ª
223#define FR_LIDI S(A(FR_I)) // ï
224#define FR_NARP S(A(FR_P)) // ∏
225#define FR_YEN S(A(FR_DLR)) // ¥
226// Row 3
227#define FR_OMEG S(A(FR_Q)) // Ω
228#define FR_NARS S(A(FR_S)) // ∑
229#define FR_INCR S(A(FR_D)) // ∆
230#define FR_MDDT S(A(FR_F)) // ·
231#define FR_FL S(A(FR_G)) // fl
232#define FR_CICI S(A(FR_H)) // Î
233#define FR_CIAC S(A(FR_J)) // Í
234#define FR_CEDI S(A(FR_K)) // Ë
235#define FR_PIPE S(A(FR_L)) // |
236#define FR_COAC S(A(FR_M)) // Ó
237#define FR_PERM S(A(FR_LUGR)) // ‰
238// Row 4
239#define FR_GTEQ S(A(FR_LABK)) // ≥
240#define FR_LSAQ S(A(FR_W)) // ›
241#define FR_FRSL S(A(FR_X)) // ⁄
242#define FR_CENT S(A(FR_C)) // ¢
243#define FR_SQRT S(A(FR_V)) // √
244#define FR_INTG S(A(FR_B)) // ∫
245#define FR_DLSI S(A(FR_N)) // ı
246#define FR_IQUE S(A(FR_COMM)) // ¿
247#define FR_BSLS S(A(FR_COLN)) // (backslash)
248#define FR_PLMN S(A(FR_EQL)) // ±
91 249
92#endif 250// DEPRECATED
251#define FR_AMP FR_AMPR
252#define FR_EACU FR_LEAC
253#define FR_APOS FR_QUOT
254#define FR_EGRV FR_LEGR
255#define FR_CCED FR_LCCE
256#define FR_AGRV FR_LAGR
257#define FR_UGRV FR_LUGR
258#define FR_LESS FR_LABK
259#define FR_UMLT FR_DIAE
260#define FR_GRTR FR_RABK