qmk-keychron-q3-colemak-dh/quantum/keymap_extras/keymap_french.h
2023-01-01 02:20:11 +00:00

113 lines
4.0 KiB
C

// Copyright 2023 QMK
// SPDX-License-Identifier: GPL-2.0-or-later
/*******************************************************************************
88888888888 888 d8b .d888 d8b 888 d8b
888 888 Y8P d88P" Y8P 888 Y8P
888 888 888 888
888 88888b. 888 .d8888b 888888 888 888 .d88b. 888 .d8888b
888 888 "88b 888 88K 888 888 888 d8P Y8b 888 88K
888 888 888 888 "Y8888b. 888 888 888 88888888 888 "Y8888b.
888 888 888 888 X88 888 888 888 Y8b. 888 X88
888 888 888 888 88888P' 888 888 888 "Y8888 888 88888P'
888 888
888 888
888 888
.d88b. .d88b. 88888b. .d88b. 888d888 8888b. 888888 .d88b. .d88888
d88P"88b d8P Y8b 888 "88b d8P Y8b 888P" "88b 888 d8P Y8b d88" 888
888 888 88888888 888 888 88888888 888 .d888888 888 88888888 888 888
Y88b 888 Y8b. 888 888 Y8b. 888 888 888 Y88b. Y8b. Y88b 888
"Y88888 "Y8888 888 888 "Y8888 888 "Y888888 "Y888 "Y8888 "Y88888
888
Y8b d88P
"Y88P"
*******************************************************************************/
#pragma once
#include "keymap.h"
// clang-format off
// Aliases
#define FR_SUP2 KC_GRV // ²
#define FR_AMPR KC_1 // &
#define FR_EACU KC_2 // é
#define FR_DQUO KC_3 // "
#define FR_QUOT KC_4 // '
#define FR_LPRN KC_5 // (
#define FR_MINS KC_6 // -
#define FR_EGRV KC_7 // è
#define FR_UNDS KC_8 // _
#define FR_CCED KC_9 // ç
#define FR_AGRV KC_0 // à
#define FR_RPRN KC_MINS // )
#define FR_EQL KC_EQL // =
#define FR_A KC_Q // A
#define FR_Z KC_W // Z
#define FR_E KC_E // E
#define FR_R KC_R // R
#define FR_T KC_T // T
#define FR_Y KC_Y // Y
#define FR_U KC_U // U
#define FR_I KC_I // I
#define FR_O KC_O // O
#define FR_P KC_P // P
#define FR_CIRC KC_LBRC // ^ (dead)
#define FR_DLR KC_RBRC // $
#define FR_Q KC_A // Q
#define FR_S KC_S // S
#define FR_D KC_D // D
#define FR_F KC_F // F
#define FR_G KC_G // G
#define FR_H KC_H // H
#define FR_J KC_J // J
#define FR_K KC_K // K
#define FR_L KC_L // L
#define FR_M KC_SCLN // M
#define FR_UGRV KC_QUOT // ù
#define FR_ASTR KC_NUHS // *
#define FR_LABK KC_NUBS // <
#define FR_W KC_Z // W
#define FR_X KC_X // X
#define FR_C KC_C // C
#define FR_V KC_V // V
#define FR_B KC_B // B
#define FR_N KC_N // N
#define FR_COMM KC_M // ,
#define FR_SCLN KC_COMM // ;
#define FR_COLN KC_DOT // :
#define FR_EXLM KC_SLSH // !
#define FR_1 S(FR_AMPR) // 1
#define FR_2 S(FR_EACU) // 2
#define FR_3 S(FR_DQUO) // 3
#define FR_4 S(FR_QUOT) // 4
#define FR_5 S(FR_LPRN) // 5
#define FR_6 S(FR_MINS) // 6
#define FR_7 S(FR_EGRV) // 7
#define FR_8 S(FR_UNDS) // 8
#define FR_9 S(FR_CCED) // 9
#define FR_0 S(FR_AGRV) // 0
#define FR_DEG S(FR_RPRN) // °
#define FR_PLUS S(FR_EQL) // +
#define FR_DIAE S(FR_CIRC) // ¨ (dead)
#define FR_PND S(FR_DLR) // £
#define FR_PERC S(FR_UGRV) // %
#define FR_MICR S(FR_ASTR) // µ
#define FR_RABK S(FR_LABK) // >
#define FR_QUES S(FR_COMM) // ?
#define FR_DOT S(FR_SCLN) // .
#define FR_SLSH S(FR_COLN) // /
#define FR_SECT S(FR_EXLM) // §
#define FR_TILD ALGR(FR_EACU) // ~ (dead)
#define FR_HASH ALGR(FR_DQUO) // #
#define FR_LCBR ALGR(FR_QUOT) // {
#define FR_LBRC ALGR(FR_LPRN) // [
#define FR_PIPE ALGR(FR_MINS) // |
#define FR_GRV ALGR(FR_EGRV) // ` (dead)
#define FR_BSLS ALGR(FR_UNDS) // (backslash)
#define FR_AT ALGR(FR_AGRV) // @
#define FR_RBRC ALGR(FR_RPRN) // ]
#define FR_RCBR ALGR(FR_EQL) // }
#define FR_EURO ALGR(KC_E) // €
#define FR_CURR ALGR(FR_DLR) // ¤