]> git.donarmstrong.com Git - qmk_firmware.git/commitdiff
BÉPO over CSA: GR2A characters in AltGr layer
authorDidier Loiseau <didierloiseau+git@gmail.com>
Thu, 25 Feb 2016 23:55:39 +0000 (00:55 +0100)
committerDidier Loiseau <didierloiseau+git@gmail.com>
Sat, 2 Apr 2016 16:16:31 +0000 (18:16 +0200)
- define aliases for all GR2A characters (unshifted)
- use the available characters in the BÉPO over CSA AltGr layer

keyboard/ergodox_ez/keymaps/bepo/keymap.c
quantum/keymap_extras/keymap_canadian_multilingual.h

index b08b47217c69633d174491353118ac19b91204ba..a3b8d9c49f1deff9da8f842e7d1cd1161da407ff 100644 (file)
@@ -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,
index e30419b5bef7f7664355db14d4d308a686d60665..9b13b1e4e60f730777711abeac33fe9e926bb9dd 100644 (file)
 #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