diff options
| author | Jack Humbert <jack.humb@gmail.com> | 2016-03-14 13:42:47 -0400 |
|---|---|---|
| committer | Jack Humbert <jack.humb@gmail.com> | 2016-03-14 13:42:47 -0400 |
| commit | 35393fa9dc3d14ea80ce72f27c13b1759600b245 (patch) | |
| tree | 1b2d77c854a14dca3e577e614a5483a49bc9e20b | |
| parent | 914f1d6f984c828d2b17aa7ac3c229bc0050cbbc (diff) | |
| parent | 7c33f8493fb4ecd664390232c8de856158f9fcae (diff) | |
| download | qmk_firmware-35393fa9dc3d14ea80ce72f27c13b1759600b245.tar.gz qmk_firmware-35393fa9dc3d14ea80ce72f27c13b1759600b245.zip | |
Merge pull request #194 from DidierLoiseau/bépo-keymap-header
Keymap header for the BÉPO layout
| -rw-r--r-- | quantum/keymap_extras/keymap_bepo.h | 311 |
1 files changed, 311 insertions, 0 deletions
diff --git a/quantum/keymap_extras/keymap_bepo.h b/quantum/keymap_extras/keymap_bepo.h new file mode 100644 index 000000000..1ab2d63dd --- /dev/null +++ b/quantum/keymap_extras/keymap_bepo.h | |||
| @@ -0,0 +1,311 @@ | |||
| 1 | /* Keymap macros for the French BÉPO layout - http://bepo.fr */ | ||
| 2 | #ifndef KEYMAP_BEPO_H | ||
| 3 | #define KEYMAP_BEPO_H | ||
| 4 | |||
| 5 | #include "keymap_common.h" | ||
| 6 | |||
| 7 | // Alt gr | ||
| 8 | #ifndef ALTGR | ||
| 9 | #define ALTGR(kc) RALT(kc) | ||
| 10 | #endif | ||
| 11 | #ifndef ALGR | ||
| 12 | #define ALGR(kc) ALTGR(kc) | ||
| 13 | #endif | ||
| 14 | #define BP_ALGR KC_RALT | ||
| 15 | |||
| 16 | // Normal characters | ||
| 17 | // First row (on usual keyboards) | ||
| 18 | #define BP_DOLLAR KC_GRAVE // $ | ||
| 19 | #define BP_DLR BP_DOLLAR | ||
| 20 | #define BP_DOUBLE_QUOTE KC_1 // " | ||
| 21 | #define BP_DQOT BP_DOUBLE_QUOTE | ||
| 22 | #define BP_LEFT_GUILLEMET KC_2 // « | ||
| 23 | #define BP_LGIL BP_LEFT_GUILLEMET | ||
| 24 | #define BP_RIGHT_GUILLEMET KC_3 // » | ||
| 25 | #define BP_RGIL BP_RIGHT_GUILLEMET | ||
| 26 | #define BP_LEFT_PAREN KC_4 // ( | ||
| 27 | #define BP_LPRN BP_LEFT_PAREN | ||
| 28 | #define BP_RIGHT_PAREN KC_5 // ) | ||
| 29 | #define BP_RPRN BP_RIGHT_PAREN | ||
| 30 | #define BP_AT KC_6 // @ | ||
| 31 | #define BP_PLUS KC_7 // + | ||
| 32 | #define BP_MINUS KC_8 // - | ||
| 33 | #define BP_MINS BP_MINUS | ||
| 34 | #define BP_SLASH KC_9 // / | ||
| 35 | #define BP_SLSH BP_SLASH | ||
| 36 | #define BP_ASTERISK KC_0 // * | ||
| 37 | #define BP_ASTR BP_ASTERISK | ||
| 38 | #define BP_EQUAL KC_MINUS // = | ||
| 39 | #define BP_EQL BP_EQUAL | ||
| 40 | #define BP_PERCENT KC_EQUAL // % | ||
| 41 | #define BP_PERC BP_PERCENT | ||
| 42 | |||
| 43 | // Second row | ||
| 44 | #define BP_B KC_Q | ||
| 45 | #define BP_E_ACUTE KC_W // é | ||
| 46 | #define BP_ECUT BP_E_ACUTE | ||
| 47 | #define BP_P KC_E | ||
| 48 | #define BP_O KC_R | ||
| 49 | #define BP_E_GRAVE KC_T // è | ||
| 50 | #define BP_EGRV BP_E_GRAVE | ||
| 51 | #define BP_DEAD_CIRCUMFLEX KC_Y // dead ^ | ||
| 52 | #define BP_DCRC BP_DEAD_CIRCUMFLEX | ||
| 53 | #define BP_V KC_U | ||
| 54 | #define BP_D KC_I | ||
| 55 | #define BP_L KC_O | ||
| 56 | #define BP_J KC_P | ||
| 57 | #define BP_Z KC_LBRACKET | ||
| 58 | #define BP_W KC_RBRACKET | ||
| 59 | |||
| 60 | // Third row | ||
| 61 | #define BP_A KC_A | ||
| 62 | #define BP_U KC_S | ||
| 63 | #define BP_I KC_D | ||
| 64 | #define BP_E KC_F | ||
| 65 | #define BP_COMMA KC_G // , | ||
| 66 | #define BP_COMM BP_COMMA | ||
| 67 | #define BP_C KC_H | ||
| 68 | #define BP_T KC_J | ||
| 69 | #define BP_S KC_K | ||
| 70 | #define BP_R KC_L | ||
| 71 | #define BP_N KC_SCOLON | ||
| 72 | #define BP_M KC_QUOTE | ||
| 73 | #define BP_C_CEDILLA KC_BSLASH // ç | ||
| 74 | #define BP_CCED BP_C_CEDILLA | ||
| 75 | |||
| 76 | // Fourth row | ||
| 77 | #define BP_E_CIRCUMFLEX KC_NONUS_BSLASH // ê | ||
| 78 | #define BP_ECRC BP_E_CIRCUMFLEX | ||
| 79 | #define BP_A_GRAVE KC_Z // à | ||
| 80 | #define BP_AGRV BP_A_GRAVE | ||
| 81 | #define BP_Y KC_X | ||
| 82 | #define BP_X KC_C | ||
| 83 | #define BP_DOT KC_V // . | ||
| 84 | #define BP_K KC_B | ||
| 85 | #define BP_APOSTROPHE KC_N | ||
| 86 | #define BP_APOS BP_APOSTROPHE // ' | ||
| 87 | #define BP_Q KC_M | ||
| 88 | #define BP_G KC_COMMA | ||
| 89 | #define BP_H KC_DOT | ||
| 90 | #define BP_F KC_SLASH | ||
| 91 | |||
| 92 | // Shifted characters | ||
| 93 | // First row | ||
| 94 | #define BP_HASH LSFT(BP_DOLLAR) // # | ||
| 95 | #define BP_1 LSFT(KC_1) | ||
| 96 | #define BP_2 LSFT(KC_2) | ||
| 97 | #define BP_3 LSFT(KC_3) | ||
| 98 | #define BP_4 LSFT(KC_4) | ||
| 99 | #define BP_5 LSFT(KC_5) | ||
| 100 | #define BP_6 LSFT(KC_6) | ||
| 101 | #define BP_7 LSFT(KC_7) | ||
| 102 | #define BP_8 LSFT(KC_8) | ||
| 103 | #define BP_9 LSFT(KC_9) | ||
| 104 | #define BP_0 LSFT(KC_0) | ||
| 105 | #define BP_DEGREE LSFT(BP_EQUAL) // ° | ||
| 106 | #define BP_DEGR BP_DEGREE | ||
| 107 | #define BP_GRAVE LSFT(BP_PERCENT) // ` | ||
| 108 | #define BP_GRV BP_GRAVE | ||
| 109 | |||
| 110 | // Second row | ||
| 111 | #define BP_EXCLAIM LSFT(BP_DEAD_CIRCUMFLEX) // ! | ||
| 112 | #define BP_EXLM BP_EXCLAIM | ||
| 113 | |||
| 114 | // Third row | ||
| 115 | #define BP_SCOLON LSFT(BP_COMMA) // ; | ||
| 116 | #define BP_SCLN BP_SCOLON | ||
| 117 | |||
| 118 | // Fourth row | ||
| 119 | #define BP_COLON LSFT(BP_DOT) // : | ||
| 120 | #define BP_COLN BP_COLON | ||
| 121 | #define BP_QUESTION LSFT(BP_QUOTE) // ? | ||
| 122 | #define BP_QEST BP_QUESTION | ||
| 123 | |||
| 124 | // Space bar | ||
| 125 | #define BP_NON_BREAKING_SPACE LSFT(KC_SPACE) | ||
| 126 | #define BP_NBSP BP_NON_BREAKING_SPACE | ||
| 127 | |||
| 128 | // AltGr-ed characters | ||
| 129 | // First row | ||
| 130 | #define BP_EN_DASH ALTGR(BP_DOLLAR) // – | ||
| 131 | #define BP_NDSH BP_EN_DASH | ||
| 132 | #define BP_EM_DASH ALTGR(KC_1) // — | ||
| 133 | #define BP_MDSH BP_EM_DASH | ||
| 134 | #define BP_LESS ALTGR(KC_2) // < | ||
| 135 | #define BP_GREATER ALTGR(KC_3) // > | ||
| 136 | #define BP_GRTR BP_GREATER | ||
| 137 | #define BP_LBRACKET ALTGR(KC_4) // [ | ||
| 138 | #define BP_LBRC BP_LBRACKET | ||
| 139 | #define BP_RBRACKET ALTGR(KC_5) // ] | ||
| 140 | #define BP_RBRC BP_RBRACKET | ||
| 141 | #define BP_CIRCUMFLEX ALTGR(KC_6) // ^ | ||
| 142 | #define BP_CIRC BP_CIRCUMFLEX | ||
| 143 | #define BP_PLUS_MINUS ALTGR(KC_7) // ± | ||
| 144 | #define BP_PSMS BP_PLUS_MINUS | ||
| 145 | #define BP_MATH_MINUS ALTGR(KC_8) // − | ||
| 146 | #define BP_MMNS BP_MATH_MINUS | ||
| 147 | #define BP_OBELUS ALTGR(KC_9) // ÷ | ||
| 148 | #define BP_OBEL BP_OBELUS | ||
| 149 | // more conventional name of the symbol | ||
| 150 | #define BP_DIVISION_SIGN BP_OBELUS | ||
| 151 | #define BP_DVSN BP_DIVISION_SIGN | ||
| 152 | #define BP_TIMES ALTGR(KC_0) // × | ||
| 153 | #define BP_TIMS BP_TIMES | ||
| 154 | #define BP_DIFFERENT ALTGR(BP_EQUAL) // ≠ | ||
| 155 | #define BP_DIFF BP_DIFFERENT | ||
| 156 | #define BP_PERMILLE ALTGR(BP_PERCENT) // ‰ | ||
| 157 | #define BP_PMIL BP_PERMILLE | ||
| 158 | |||
| 159 | // Second row | ||
| 160 | #define BP_PIPE ALTGR(BP_B) // | | ||
| 161 | #define BP_DEAD_ACUTE ALTGR(BP_E_ACUTE) // dead ´ | ||
| 162 | #define BP_DACT BP_DEAD_ACUTE | ||
| 163 | #define BP_AMPERSAND ALTGR(BP_P) // & | ||
| 164 | #define BP_AMPR BP_AMPERSAND | ||
| 165 | #define BP_OE_LIGATURE ALTGR(BP_O) // œ | ||
| 166 | #define BP_OE BP_OE_LIGATURE | ||
| 167 | #define BP_DEAD_GRAVE ALTGR(BP_E_GRAVE) // ` | ||
| 168 | #define BP_DGRV BP_DEAD_GRAVE | ||
| 169 | #define BP_INVERTED_EXCLAIM ALTGR(BP_DEAD_CIRCUMFLEX) // ¡ | ||
| 170 | #define BP_IXLM BP_INVERTED_EXCLAIM | ||
| 171 | #define BP_DEAD_CARON ALTGR(BP_V) // dead ˇ | ||
| 172 | #define BP_DCAR BP_DEAD_CARON | ||
| 173 | #define BP_ETH ALTGR(BP_D) // ð | ||
| 174 | #define BP_DEAD_SLASH ALTGR(BP_L) // dead / | ||
| 175 | #define BP_DSLH BP_DEAD_SLASH | ||
| 176 | #define BP_IJ_LIGATURE ALTGR(BP_J) // ij | ||
| 177 | #define BP_IJ BP_IJ_LIGATURE | ||
| 178 | #define BP_SCHWA ALTGR(BP_Z) // ə | ||
| 179 | #define BP_SCWA BP_SCHWA | ||
| 180 | #define BP_DEAD_BREVE ALTGR(BP_W) // dead ˘ | ||
| 181 | #define BP_DBRV BP_DEAD_BREVE | ||
| 182 | |||
| 183 | // Third row | ||
| 184 | #define BP_AE_LIGATURE ALTGR(BP_A) // æ | ||
| 185 | #define BP_AE BP_AE_LIGATURE | ||
| 186 | #define BP_U_GRAVE AGR(BP_U) // ù | ||
| 187 | #define BP_UGRV BP_U_GRAVE | ||
| 188 | #define BP_DEAD_TREMA ALTGR(BP_I) // dead ¨ (trema/umlaut/diaresis) | ||
| 189 | #define BP_DTRM BP_DEAD_TREMA | ||
| 190 | #define BP_EURO ALTGR(BP_E) // € | ||
| 191 | #define BP_TYPOGRAPHICAL_APOSTROPHE ALTGR(BP_COMMMA) // ’ | ||
| 192 | #define BP_TAPO BP_TYPOGRAPHICAL_APOSTROPHE | ||
| 193 | #define BP_COPYRIGHT ALTGR(BP_C) // © | ||
| 194 | #define BP_CPRT BP_COPYRIGHT | ||
| 195 | #define BP_THORN ALTGR(BP_T) // þ | ||
| 196 | #define BP_THRN BP_THORN | ||
| 197 | #define BP_SHARP_S ALTGR(BP_S) // ß | ||
| 198 | #define BP_SRPS BP_SHARP_S | ||
| 199 | #define BP_REGISTERED_TRADEMARK ALTGR(BP_R) // ® | ||
| 200 | #define BP_RTM BP_REGISTERED_TRADEMARK | ||
| 201 | #define BP_DEAD_TILDE ALTGR(BP_N) // dead ~ | ||
| 202 | #define BP_DTLD BP_DEAD_TILDE | ||
| 203 | #define BP_DEAD_MACRON ALTGR(BP_M) // dead ¯ | ||
| 204 | #define BP_DMCR BP_DEAD_MACRON | ||
| 205 | #define BP_DEAD_CEDILLA ALTGR(BP_C_CEDILLA) // dead ¸ | ||
| 206 | #define BP_DCED BP_DEAD_CEDILLA | ||
| 207 | |||
| 208 | // Fourth row | ||
| 209 | #define BP_NONUS_SLASH ALTGR(BP_E_CIRCUMFLEX) // / on non-us backslash key (102nd key, ê in bépo) | ||
| 210 | #define BP_NUSL BP_NONUS_SLASH | ||
| 211 | #define BP_BACKSLASH ALTGR(BP_A_GRAVE) /* \ */ | ||
| 212 | #define BP_BSLS BP_BACKSLASH | ||
| 213 | #define BP_LEFT_CURLY_BRACE ALTGR(BP_Y) // { | ||
| 214 | #define BP_LCBR BP_LEFT_CURLY_BRACE | ||
| 215 | #define BP_RIGHT_CURLY_BRACE ALTGR(BP_X) // } | ||
| 216 | #define BP_RCBR BP_RIGHT_CURLY_BRACE | ||
| 217 | #define BP_ELLIPSIS ALTGR(BP_DOT) // … | ||
| 218 | #define BP_ELPS BP_ELLIPSIS | ||
| 219 | #define BP_TILDE ALTGR(BP_K) // ~ | ||
| 220 | #define BP_TILD BP_TILDE | ||
| 221 | #define BP_INVERTED_QUESTION ALTGR(BP_QUESTION) // ¿ | ||
| 222 | #define BP_IQST BP_INVERTED_QUESTION | ||
| 223 | #define BP_DEAD_RING ALTGR(BP_Q) // dead ° | ||
| 224 | #define BP_DRNG BP_DEAD_RING | ||
| 225 | #define BP_DEAD_GREEK ALTGR(BP_G) // dead Greek key (following key will make a Greek letter) | ||
| 226 | #define BP_DGRK BP_DEAD_GREEK | ||
| 227 | #define BP_DAGGER ALTGR(BP_H) // † | ||
| 228 | #define BP_DAGR BP_DAGGER | ||
| 229 | #define BP_DEAD_OGONEK ALTGR(BP_F) // dead ˛ | ||
| 230 | #define BP_DOGO BP_DEAD_OGONEK | ||
| 231 | |||
| 232 | // Space bar | ||
| 233 | #define BP_UNDERSCORE ALTGR(KC_SPACE) // _ | ||
| 234 | #define BP_UNDS BP_UNDERSCORE | ||
| 235 | |||
| 236 | // AltGr-Shifted characters (different from capitalised AltGr-ed characters) | ||
| 237 | // First row | ||
| 238 | #define BP_PARAGRAPH ALTGR(BP_HASH) // ¶ | ||
| 239 | #define BP_PARG BP_PARAGRAPH | ||
| 240 | #define BP_LOW_DOUBLE_QUOTE ALTGR(BP_1) // „ | ||
| 241 | #define BP_LWQT BP_LOW_DOUBLE_QUOTE | ||
| 242 | #define BP_LEFT_DOUBLE_QUOTE ALTGR(BP_2) // “ | ||
| 243 | #define BP_LDQT BP_LEFT_DOUBLE_QUOTE | ||
| 244 | #define BP_RIGHT_DOUBLE_QUOTE ALTGR(BP_3) // ” | ||
| 245 | #define BP_RDQT BP_RIGHT_DOUBLE_QUOTE | ||
| 246 | #define BP_LESS_OR_EQUAL ALTGR(BP_4) // ≤ | ||
| 247 | #define BP_LEQL BP_LESS_OR_EQUAL | ||
| 248 | #define BP_GREATER_OR_EQUAL ALTGR(BP_5) // ≥ | ||
| 249 | #define BP_GEQL BP_GREATER_OR_EQUAL | ||
| 250 | // nothing on ALTGR(BP_6) | ||
| 251 | #define BP_NEGATION ALTGR(BP_7) // ¬ | ||
| 252 | #define BP_NEGT BP_NEGATION | ||
| 253 | #define BP_ONE_QUARTER ALTGR(BP_8) // ¼ | ||
| 254 | #define BP_1QRT BP_ONE_QUARTER | ||
| 255 | #define BP_ONE_HALF ALTGR(BP_9) // ½ | ||
| 256 | #define BP_1HLF BP_ONE_HALF | ||
| 257 | #define BP_THREE_QUARTERS ALTGR(BP_0) // ¾ | ||
| 258 | #define BP_3QRT BP_THREE_QUARTERS | ||
| 259 | #define BP_MINUTES ALTGR(BP_DEGREE) // ′ | ||
| 260 | #define BP_MNUT BP_MINUTES | ||
| 261 | #define BP_SECONDS ALTGR(BP_GRAVE) // ″ | ||
| 262 | #define BP_SCND BP_SECONDS | ||
| 263 | |||
| 264 | // Second row | ||
| 265 | #define BP_BROKEN_PIPE LSFT(BP_PIPE) // ¦ | ||
| 266 | #define BP_BPIP BP_BROKEN_PIPE | ||
| 267 | #define BP_DEAD_DOUBLE_ACUTE LSFT(BP_DEAD_ACUTE) // ˝ | ||
| 268 | #define BP_DDCT BP_DEAD_DOUBLE_ACUTE | ||
| 269 | #define BP_SECTION ALTGR(LSFT(BP_P)) // § | ||
| 270 | #define BP_SECT BP_SECTION | ||
| 271 | // LSFT(BP_DEAD_GRAVE) is actually the same character as LSFT(BP_PERCENT) | ||
| 272 | #define BP_GRAVE_BIS LSFT(BP_DEAD_GRAVE) // ` | ||
| 273 | #define BP_GRVB BP_GRAVE_BIS | ||
| 274 | |||
| 275 | // Third row | ||
| 276 | #define BP_DEAD_DOT_ABOVE LSFT(BP_DEAD_TREMA) // dead ˙ | ||
| 277 | #define BP_DDTA BP_DEAD_DOT_ABOVE | ||
| 278 | #define BP_DEAD_CURRENCY LSFT(BP_EURO) // dead ¤ (next key will generate a currency code like ¥ or £) | ||
| 279 | #define BP_DCUR BP_DEAD_CURRENCY | ||
| 280 | #define BP_DEAD_HORN LSFT(ALTGR(BP_COMMA)) // dead ̛ | ||
| 281 | #define BP_DHRN BP_DEAD_HORN | ||
| 282 | #define BP_LONG_S LSFT(ALTGR(BP_C)) // ſ | ||
| 283 | #define BP_LNGS BP_LONG_S | ||
| 284 | #define BP_TRADEMARK LSFT(BP_REGISTERED_TRADEMARK) // ™ | ||
| 285 | #define BP_TM BP_TRADEMARK | ||
| 286 | #define BP_ORDINAL_INDICATOR_O LSFT(ALTGR(BP_M)) // º | ||
| 287 | #define BP_ORDO BP_ORDINAL_INDICATOR_O | ||
| 288 | #define BP_DEAD_COMMA LSFT(BP_DEAD_CEDILLA) // dead ˛ | ||
| 289 | #define BP_DCOM BP_DEAD_COMMA | ||
| 290 | |||
| 291 | // Fourth row | ||
| 292 | #define BP_LEFT_QUOTE LSFT(ALTGR(BP_Y)) // ‘ | ||
| 293 | #define BP_LQOT BP_LEFT_QUOTE | ||
| 294 | #define BP_RIGHT_QUOTE LSFT(ALTGR(BP_X)) // ’ | ||
| 295 | #define BP_RQOT BP_RIGHT_QUOTE | ||
| 296 | #define BP_INTERPUNCT LSFT(ALTGR(BP_DOT)) // · | ||
| 297 | #define BP_IPCT BP_INTERPUNCT | ||
| 298 | #define BP_DEAD_HOOK_ABOVE LSFT(ALTGR(BP_QUESTION)) // dead ̉ | ||
| 299 | #define BP_DHKA BP_DEAD_HOOK_ABOVE | ||
| 300 | #define BP_DEAD_UNDERDOT LSFT(BP_DEAD_RING) // dead ̣ | ||
| 301 | #define BP_DUDT BP_DEAD_UNDERDOT | ||
| 302 | #define BP_DOUBLE_DAGGER LSFT(BP_DAGGER) // ‡ | ||
| 303 | #define BP_DDGR BP_DOUBLE_DAGGER | ||
| 304 | #define BP_ORDINAL_INDICATOR_A LSFT(ALTGR(BP_F)) // ª | ||
| 305 | #define BP_ORDA BP_ORDINAL_INDICATOR_A | ||
| 306 | |||
| 307 | // Space bar | ||
| 308 | #define BP_NARROW_NON_BREAKING_SPACE ALTGR(BP_NON_BREAKING_SPACE) | ||
| 309 | #define BP_NNBS BP_NARROW_NON_BREAKING_SPACE | ||
| 310 | |||
| 311 | #endif | ||
