summaryrefslogtreecommitdiffstats
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
parentfbf1333d87aa4487692f068881ab1ce46fa79be5 (diff)
downloadqmk_firmware-911222892ecb1c01551e0abdfbe98ed1dbf82139.tar.gz
qmk_firmware-911222892ecb1c01551e0abdfbe98ed1dbf82139.tar.xz
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
-rw-r--r--keyboard/ergodox_ez/keymaps/bepo/keymap.c22
-rw-r--r--quantum/keymap_extras/keymap_canadian_multilingual.h81
2 files changed, 88 insertions, 15 deletions
diff --git a/keyboard/ergodox_ez/keymaps/bepo/keymap.c b/keyboard/ergodox_ez/keymaps/bepo/keymap.c
index b08b47217..a3b8d9c49 100644
--- a/keyboard/ergodox_ez/keymaps/bepo/keymap.c
+++ b/keyboard/ergodox_ez/keymaps/bepo/keymap.c
@@ -180,15 +180,15 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* "////" indicates that the key is disabled (unsupported bépo character)
*
* ,--------------------------------------------------. ,--------------------------------------------------.
- * | – | — | < | > | [ | ] | | | | ^ | //// | //// | //// | //// | ////// |
+ * | – | — | < | > | [ | ] | | | | ^ | ± | //// | //// | //// | ////// |
* |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------|
- * | | | |dead '| & | œ |dead `| | | | //// | //// | //// | //// | //// | ////// |
+ * | | | |dead '| & | œ |dead `| | | | //// | //// | ð | //// | ij | ////// |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | ////// | æ | ù |dead "| € | //// |------| |------| //// | //// | //// | //// | //// | ////// |
+ * | ////// | æ | ù |dead "| € | ̛’ |------| |------| //// | þ | ß | //// |dead ~| ////// |
* |--------+------+------+------+------+------| | | |------+------+------+------+------+--------|
- * | | \ | { | } | … | ~ | | | | //// | //// | //// | //// | //// | |
+ * | | \ | { | } | … | ~ | | | | //// | //// | μ | //// | //// | |
* `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------'
- * | | | | | | | | //// | | //// | |
+ * | | | | | | | | //// | |dead ¸| |
* `----------------------------------' `-----------------------------------'
* ,-------------. ,-------------.
* | | | | | |
@@ -202,7 +202,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
// left hand
MUC(NDSH),MUC(MDSH),CM_LESS, CM_GRTR, CM_LBRC, CM_RBRC, KC_TRNS,
KC_TRNS, CM_PIPE, CM_DACT, KC_AMPR, CM_OE, CM_DGRV, KC_TRNS,
- KC_NO, CM_AE, CM_UGRV, CM_DTRM, CM_EURO, KC_NO,
+ KC_NO, CM_AE, CM_UGRV, CM_DTRM, CM_EURO, CM_RQOT,
KC_TRNS, CM_BSLS, CM_LCBR, CM_RCBR, MUC(ELPS),CM_TILD, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
@@ -211,11 +211,11 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KC_UNDS, KC_TRNS, KC_TRNS,
// right hand
- KC_TRNS, M(M_CRC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS,
- KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO,
- KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_TRNS,
+ KC_TRNS, M(M_CRC), CM_PSMS, KC_NO, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_NO, CM_ETH, KC_NO, CM_IJ, KC_NO,
+ KC_NO, CM_THRN, CM_SRPS, KC_NO, CM_DTLD, KC_TRNS,
+ KC_TRNS, KC_NO, KC_NO, CM_MU, KC_NO, KC_NO, KC_NO,
+ KC_TRNS, KC_NO, KC_TRNS, CM_DCED, KC_TRNS,
KC_TRNS, KC_TRNS,
KC_TRNS,
diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h
index e30419b5b..9b13b1e4e 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