7 #define ALGR(kc) kc | 0x1400
8 #define FR_CH_ALGR KC_RALT
50 #define FR_CH_DOT KC_DOT
51 #define FR_CH_COMM KC_COMM
53 #define FR_CH_QUOT KC_MINS
54 #define FR_CH_AE KC_QUOT
55 #define FR_CH_UE KC_LBRC
56 #define FR_CH_OE KC_SCLN
58 #define FR_CH_CIRC KC_EQL // accent circumflex ^ and grave ` and ~
59 #define FR_CH_LESS KC_NUBS // < and > and backslash
60 #define FR_CH_MINS KC_SLSH // - and _
61 #define FR_CH_DLR KC_BSLS // $, £ and }
62 #define FR_CH_PARA KC_GRV // § and ring °
63 #define FR_CH_DIAE KC_RBRC // accent ¨
66 #define FR_CH_RING LSFT(KC_GRV) // °
67 #define FR_CH_EXLM LSFT(KC_RBRC) // !
68 #define FR_CH_PLUS LSFT(KC_1) // +
69 #define FR_CH_DQOT LSFT(KC_2) // "
70 #define FR_CH_ASTR LSFT(KC_3) // *
71 #define FR_CH_PERC LSFT(KC_5) // %
72 #define FR_CH_AMPR LSFT(KC_6) // &
73 #define FR_CH_SLSH LSFT(KC_7) // /
74 #define FR_CH_LPRN LSFT(KC_8) // (
75 #define FR_CH_RPRN LSFT(KC_9) // )
76 #define FR_CH_EQL LSFT(KC_0) // =
77 #define FR_CH_QST LSFT(FR_CH_QUOT) // ?
78 #define FR_CH_MORE LSFT(FR_CH_LESS) // >
79 #define FR_CH_COLN LSFT(KC_DOT) // :
80 #define FR_CH_SCLN LSFT(KC_COMM) // ;
81 #define FR_CH_UNDS LSFT(FR_CH_MINS) // _
82 #define FR_CH_CCED LSFT(KC_4) // ç
83 #define FR_CH_GRV LSFT(FR_CH_CIRC) // accent grave `
85 // Alt Gr-ed characters
86 #define FR_CH_LCBR ALGR(KC_QUOT) // {
87 #define FR_CH_LBRC ALGR(KC_LBRC) // [
88 #define FR_CH_RBRC ALGR(KC_9) // ]
89 #define FR_CH_RCBR ALGR(KC_0) // }
90 #define FR_CH_BSLS ALGR(FR_CH_LESS) // backslash
91 #define FR_CH_AT ALGR(KC_2) // @
92 #define FR_CH_EURO ALGR(KC_E) // €
93 #define FR_CH_TILD ALGR(FR_CH_CIRC) // ~
94 #define FR_CH_PIPE ALGR(KC_1) // |
95 #define FR_CH_HASH ALGR(KC_3) // #
96 #define FR_CH_ACUT ALGR(FR_CH_QUOT) // accent acute ´