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
example_keyboards
Didier Loiseau 9 years ago
parent fbf1333d87
commit 911222892e

@ -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,

@ -103,14 +103,87 @@
#define CM_NBSP CM_NON_BREAKING_SPACE
// GR2A-ed characters (non-exhaustive list)
// second row
// 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

Loading…
Cancel
Save