diff options
| author | Didier Loiseau <didierloiseau+git@gmail.com> | 2016-02-18 00:47:23 +0100 |
|---|---|---|
| committer | Didier Loiseau <didierloiseau+git@gmail.com> | 2016-04-02 18:16:30 +0200 |
| commit | 7840e69bfaee1d67de273c235b532d6f20c905a9 (patch) | |
| tree | 42e72e40766c3aed235d999ac1b99a059201c749 | |
| parent | a7cef2ca0a2322448d02008337013936b1d550ec (diff) | |
| download | qmk_firmware-7840e69bfaee1d67de273c235b532d6f20c905a9.tar.gz qmk_firmware-7840e69bfaee1d67de273c235b532d6f20c905a9.zip | |
BÉPO over CSA: AltGr layer
- implemented the most useful characters:
- all French characters + €
- common programmer characters
- other keys implemented as KC_NO to avoid mistyping a character
from a lower layer
- AltGr+Shift not supported (yet)
| -rw-r--r-- | keyboard/ergodox_ez/keymaps/bepo/keymap.c | 54 | ||||
| -rw-r--r-- | quantum/keymap_extras/keymap_canadian_multilingual.h | 11 |
2 files changed, 64 insertions, 1 deletions
diff --git a/keyboard/ergodox_ez/keymaps/bepo/keymap.c b/keyboard/ergodox_ez/keymaps/bepo/keymap.c index ce887997e..64fac7f9b 100644 --- a/keyboard/ergodox_ez/keymaps/bepo/keymap.c +++ b/keyboard/ergodox_ez/keymaps/bepo/keymap.c | |||
| @@ -36,6 +36,8 @@ enum macros { | |||
| 36 | M_SCLN, | 36 | M_SCLN, |
| 37 | M_GRV, | 37 | M_GRV, |
| 38 | M_NBSP, | 38 | M_NBSP, |
| 39 | // macros for characters that don't have a simple key combination in LR_CA_MULT_ALTGR | ||
| 40 | M_CRC, | ||
| 39 | // other layer macros | 41 | // other layer macros |
| 40 | M_DBL0, | 42 | M_DBL0, |
| 41 | M_FNLR, | 43 | M_FNLR, |
| @@ -108,7 +110,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 108 | KC_BSPC, CM_DCRC, KC_V, KC_D, KC_L, KC_J, KC_Z, | 110 | KC_BSPC, CM_DCRC, KC_V, KC_D, KC_L, KC_J, KC_Z, |
| 109 | KC_C, KC_T, KC_S, KC_R, KC_N, KC_M, | 111 | KC_C, KC_T, KC_S, KC_R, KC_N, KC_M, |
| 110 | KC_ENT, CM_APOS, KC_Q, KC_G, KC_H, KC_F, M(M_CMSFT), | 112 | KC_ENT, CM_APOS, KC_Q, KC_G, KC_H, KC_F, M(M_CMSFT), |
| 111 | CM_ALGR, KC_PERC, KC_HOME, CM_CCED, CTL_T(KC_END), | 113 | MO(LR_CSA_AGR), KC_PERC, KC_HOME, CM_CCED, CTL_T(KC_END), |
| 112 | 114 | ||
| 113 | KC_LEFT, KC_RGHT, | 115 | KC_LEFT, KC_RGHT, |
| 114 | KC_UP, | 116 | KC_UP, |
| @@ -158,6 +160,51 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { | |||
| 158 | KC_TRNS, | 160 | KC_TRNS, |
| 159 | KC_TRNS, KC_TRNS, M(M_NBSP) | 161 | KC_TRNS, KC_TRNS, M(M_NBSP) |
| 160 | ), | 162 | ), |
| 163 | /* AltGr-ed BÉPO over Canadian Multilingual | ||
| 164 | * "////" indicates that the key is disabled (unsupported bépo character) | ||
| 165 | * | ||
| 166 | * ,--------------------------------------------------. ,--------------------------------------------------. | ||
| 167 | * | ////// | //// | < | > | [ | ] | | | | ^ | //// | //// | //// | //// | ////// | | ||
| 168 | * |--------+------+------+------+------+-------------| |------+------+------+------+------+------+--------| | ||
| 169 | * | | | |dead '| & | œ |dead `| | | | //// | //// | //// | //// | //// | ////// | | ||
| 170 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 171 | * | ////// | æ | ù |dead "| € | //// |------| |------| //// | //// | //// | //// | //// | ////// | | ||
| 172 | * |--------+------+------+------+------+------| | | |------+------+------+------+------+--------| | ||
| 173 | * | | \ | { | } | //// | ~ | | | | //// | //// | //// | //// | //// | | | ||
| 174 | * `--------+------+------+------+------+-------------' `-------------+------+------+------+------+--------' | ||
| 175 | * | | | | | | | | //// | | //// | | | ||
| 176 | * `----------------------------------' `-----------------------------------' | ||
| 177 | * ,-------------. ,-------------. | ||
| 178 | * | | | | | | | ||
| 179 | * ,------|------|------| |------+------+------. | ||
| 180 | * | | | | | | | | | ||
| 181 | * | _ | |------| |------| | _ | | ||
| 182 | * | | | | | | | | | ||
| 183 | * `--------------------' `--------------------' | ||
| 184 | */ | ||
| 185 | [LR_CSA_AGR] = KEYMAP( | ||
| 186 | // left hand | ||
| 187 | KC_NO, KC_NO, CM_LESS, CM_GRTR, CM_LBRC, CM_RBRC, KC_TRNS, | ||
| 188 | KC_TRNS, CM_PIPE, CM_DACT, KC_AMPR, CM_OE, CM_DGRV, KC_TRNS, | ||
| 189 | KC_NO, CM_AE, CM_UGRV, CM_DTRM, CM_EURO, KC_NO, | ||
| 190 | KC_TRNS, CM_BSLS, CM_LCBR, CM_RCBR, KC_NO, CM_TILD, KC_TRNS, | ||
| 191 | KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, | ||
| 192 | |||
| 193 | KC_TRNS, KC_TRNS, | ||
| 194 | KC_TRNS, | ||
| 195 | KC_UNDS, KC_TRNS, KC_TRNS, | ||
| 196 | |||
| 197 | // right hand | ||
| 198 | KC_TRNS, M(M_CRC), KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 199 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 200 | KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_TRNS, | ||
| 201 | KC_TRNS, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, | ||
| 202 | KC_TRNS, KC_NO, KC_TRNS, KC_NO, KC_TRNS, | ||
| 203 | |||
| 204 | KC_TRNS, KC_TRNS, | ||
| 205 | KC_TRNS, | ||
| 206 | KC_TRNS, KC_TRNS, KC_UNDS | ||
| 207 | ), | ||
| 161 | /* Numeric Layer | 208 | /* Numeric Layer |
| 162 | * | 209 | * |
| 163 | * ,--------------------------------------------------. ,--------------------------------------------------. | 210 | * ,--------------------------------------------------. ,--------------------------------------------------. |
| @@ -310,6 +357,11 @@ const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) | |||
| 310 | } | 357 | } |
| 311 | } | 358 | } |
| 312 | break; | 359 | break; |
| 360 | case M_CRC: | ||
| 361 | if (record->event.pressed) { | ||
| 362 | return MACRO(TYPE(CM_DCRC), T(SPACE), END); | ||
| 363 | } | ||
| 364 | break; | ||
| 313 | case M_DBL0: | 365 | case M_DBL0: |
| 314 | if (record->event.pressed) { | 366 | if (record->event.pressed) { |
| 315 | return MACRO( I(25), T(P0), T(P0), END ); | 367 | return MACRO( I(25), T(P0), T(P0), END ); |
diff --git a/quantum/keymap_extras/keymap_canadian_multilingual.h b/quantum/keymap_extras/keymap_canadian_multilingual.h index ae60ffe37..e30419b5b 100644 --- a/quantum/keymap_extras/keymap_canadian_multilingual.h +++ b/quantum/keymap_extras/keymap_canadian_multilingual.h | |||
| @@ -102,4 +102,15 @@ | |||
| 102 | #define CM_NON_BREAKING_SPACE ALTGR(KC_SPACE) | 102 | #define CM_NON_BREAKING_SPACE ALTGR(KC_SPACE) |
| 103 | #define CM_NBSP CM_NON_BREAKING_SPACE | 103 | #define CM_NBSP CM_NON_BREAKING_SPACE |
| 104 | 104 | ||
| 105 | // GR2A-ed characters (non-exhaustive list) | ||
| 106 | // second row | ||
| 107 | #define CM_OE_LIGATURE GR2A(KC_E) // œ | ||
| 108 | #define CM_OE CM_OE_LIGATURE | ||
| 109 | |||
| 110 | // third row | ||
| 111 | #define CM_AE_LIGATURE GR2A(KC_A) // æ | ||
| 112 | #define CM_AE CM_AE_LIGATURE | ||
| 113 | #define CM_DEAD_ACUTE GR2A(KC_SCLN) // dead acute accent | ||
| 114 | #define CM_DACT CM_DEAD_ACUTE | ||
| 115 | |||
| 105 | #endif | 116 | #endif |
