summaryrefslogtreecommitdiff
path: root/quantum
diff options
context:
space:
mode:
authorDidier Loiseau <didierloiseau+git@gmail.com>2016-02-26 00:55:39 +0100
committerDidier Loiseau <didierloiseau+git@gmail.com>2016-04-02 18:16:31 +0200
commit911222892ecb1c01551e0abdfbe98ed1dbf82139 (patch)
tree993edb22c5defd8d43a3b5889c001784289dd7f0 /quantum
parentfbf1333d87aa4487692f068881ab1ce46fa79be5 (diff)
downloadqmk_firmware-911222892ecb1c01551e0abdfbe98ed1dbf82139.tar.gz
qmk_firmware-911222892ecb1c01551e0abdfbe98ed1dbf82139.zip
BÉPO over CSA: GR2A characters in AltGr layer
- define aliases for all GR2A characters (unshifted) - use the available characters in the BÉPO over CSA AltGr layer
Diffstat (limited to 'quantum')
-rw-r--r--quantum/keymap_extras/keymap_canadian_multilingual.h81
1 files changed, 77 insertions, 4 deletions
diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h
index e30419b5be..9b13b1e4e6 100644
--- a/quantum/keymap_extras/keymap_canadian_multilingual.h
+++ b/quantum/keymap_extras/keymap_canadian_multilingual.h
@@ -103,14 +103,87 @@
#define CM_NBSP CM_NON_BREAKING_SPACE
// GR2A-ed characters (non-exhaustive list)
-// second row
-#define CM_OE_LIGATURE GR2A(KC_E) // œ
-#define CM_OE CM_OE_LIGATURE
+// First row
+#define CM_SUPERSCRIPT_ONE GR2A(KC_1) // ¹
+#define CM_SUP1 CM_SUPERSCRIPT_ONE
+#define CM_SUPERSCRIPT_TWO GR2A(KC_2) // ²
+#define CM_SUP2 CM_SUPERSCRIPT_TWO
+#define CM_SUPERSCRIPT_THREE GR2A(KC_3) // ³
+#define CM_SUP3 CM_SUPERSCRIPT_THREE
+#define CM_ONE_QUARTER GR2A(KC_4) // ¼
+#define CM_1QRT CM_ONE_QUARTER
+#define CM_ONE_HALF GR2A(KC_5) // ½
+#define CM_1HLF CM_ONE_HALF
+#define CM_THREE_QUARTERS GR2A(KC_6) // ¾
+#define CM_3QRT CM_THREE_QUARTERS
+// nothing on 7-0 and -
+#define CM_DEAD_CEDILLA GR2A(KC_EQUAL) // dead ¸
+#define CM_DCED CM_DEAD_CEDILLA
+
+// Second row
+#define CM_OMEGA GR2A(KC_Q) // ω
+#define CM_OMEG CM_OMEGA
+#define CM_L_STROKE GR2A(KC_W) // ł
+#define CM_LSTK CM_L_STROKE
+#define CM_OE_LIGATURE GR2A(KC_E) // œ
+#define CM_OE CM_OE_LIGATURE
+#define CM_PARAGRAPH GR2A(KC_R) // ¶
+#define CM_PARG CM_PARAGRAPH
+#define CM_T_STROKE GR2A(KC_T) // ŧ
+#define CM_LEFT_ARROW GR2A(KC_Y) // ←
+#define CM_LARW CM_LEFT_ARROW
+#define CM_DOWN_ARROW GR2A(KC_U) // ↓
+#define CM_DARW CM_DOWN_ARROW
+#define CM_RIGHT_ARROW GR2A(KC_I) // →
+#define CM_RARW CM_RIGHT_ARROW
+#define CM_O_STROKE GR2A(KC_O) // ø
+#define CM_OSTK CM_O_STROKE
+#define CM_THORN GR2A(KC_P) // þ
+#define CM_THRN CM_THORN
+// nothing on ^
+#define CM_DEAD_TILDE GR2A(CM_C_CEDILLA) // dead ~
+#define CM_DTLD CM_DEAD_TILDE
-// third row
+// Third row
#define CM_AE_LIGATURE GR2A(KC_A) // æ
#define CM_AE CM_AE_LIGATURE
+#define CM_SHARP_S GR2A(KC_S) // ß
+#define CM_SRPS CM_SHARP_S
+#define CM_ETH GR2A(KC_D) // ð
+// nothing on F
+#define CM_ENG GR2A(KC_G) // ŋ
+#define CM_H_SRTOKE GR2A(KC_H) // ħ
+#define CM_HSTK CM_H_SRTOKE
+#define CM_IJ_LIGATURE GR2A(KC_J) // ij
+#define CM_IJ CM_IJ_LIGATURE
+#define CM_KRA GR2A(KC_K) // ĸ
+#define CM_L_FLOWN_DOT GR2A(KC_L) // ŀ
+#define CM_LFLD CM_L_FLOWN_DOT
#define CM_DEAD_ACUTE GR2A(KC_SCLN) // dead acute accent
#define CM_DACT CM_DEAD_ACUTE
+// nothing on È & À
+
+// Fourth row
+#define CM_CENT GR2A(KC_C) // ¢
+#define CM_LEFT_DOUBLE_QUOTE GR2A(KC_V) // “
+#define CM_LDQT CM_LEFT_DOUBLE_QUOTE
+#define CM_RIGHT_DOUBLE_QUOTE GR2A(KC_B) // ”
+#define CM_RDQT CM_RIGHT_DOUBLE_QUOTE
+#define CM_N_APOSTROPHE GR2A(KC_N) // ʼn (deprecated unicode codepoint)
+#define CM_NAPO CM_N_APOSTROPHE
+#define CM_MU GR2A(KC_M) // μ
+// ─ TODO box drawing character?
+#define CM_HYPHENATION_POINT GR2A(CM_DOT) // ‧ TODO not an interpunct ?
+
+// GR2A-shifted characters (non-exhaustive list)
+// First row
+#define CM_PLUS_MINUS LSFT(GR2A(KC_9)) // ±
+#define CM_PSMS CM_PLUS_MINUS
+
+// Fourth row
+#define CM_LEFT_QUOTE LSFT(GR2A(KC_V)) // ‘
+#define CM_LQOT CM_LEFT_QUOTE
+#define CM_RIGHT_QUOTE LSFT(GR2A(KC_B)) // ’
+#define CM_RQOT CM_RIGHT_QUOTE
#endif