From 3fe8d604a4ff1cc3c422ae10caa7e462aaae33f1 Mon Sep 17 00:00:00 2001 From: fauxpark Date: Wed, 1 Apr 2020 14:09:34 +1100 Subject: [PATCH] Add Russian keymap --- quantum/keymap_extras/keymap_russian.h | 132 +++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 quantum/keymap_extras/keymap_russian.h diff --git a/quantum/keymap_extras/keymap_russian.h b/quantum/keymap_extras/keymap_russian.h new file mode 100644 index 00000000000..bb13c66517b --- /dev/null +++ b/quantum/keymap_extras/keymap_russian.h @@ -0,0 +1,132 @@ +/* Copyright 2020 + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#pragma once + +#include "keymap.h" + +// clang-format off + +/* + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │ Ё │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ - │ = │ \ │   │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │     │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘     │ + * │      │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │        │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │        │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ . │          │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define RU_YO KC_GRV // Ё +#define RU_1 KC_1 // 1 +#define RU_2 KC_2 // 2 +#define RU_3 KC_3 // 3 +#define RU_4 KC_4 // 4 +#define RU_5 KC_5 // 5 +#define RU_6 KC_6 // 6 +#define RU_7 KC_7 // 7 +#define RU_8 KC_8 // 8 +#define RU_9 KC_9 // 9 +#define RU_0 KC_0 // 0 +#define RU_MINS KC_MINS // - +#define RU_EQL KC_EQL // = +#define RU_BSLS KC_BSLS // (backslash) +// Row 2 +#define RU_SHTI KC_Q // Й +#define RU_TSE KC_W // Ц +#define RU_U KC_E // У +#define RU_KA KC_R // К +#define RU_IE KC_T // Е +#define RU_EN KC_Y // Н +#define RU_GHE KC_U // Г +#define RU_SHA KC_I // Ш +#define RU_SHCH KC_O // Щ +#define RU_ZE KC_P // З +#define RU_HA KC_LBRC // Х +#define RU_HARD KC_RBRC // Ъ +// Row 3 +#define RU_EF KC_A // Ф +#define RU_YERU KC_S // Ы +#define RU_VE KC_D // В +#define RU_A KC_F // А +#define RU_PE KC_G // П +#define RU_ER KC_H // Р +#define RU_O KC_J // О +#define RU_EL KC_K // Л +#define RU_DE KC_L // Д +#define RU_ZHE KC_SCLN // Ж +#define RU_E KC_QUOT // Э +// Row 4 +#define RU_YA KC_Z // Я +#define RU_CHE KC_X // Ч +#define RU_ES KC_C // С +#define RU_EM KC_V // М +#define RU_I KC_B // И +#define RU_TE KC_N // Т +#define RU_SOFT KC_M // Ь +#define RU_BE KC_COMM // Б +#define RU_YU KC_DOT // Ю +#define RU_DOT KC_SLSH // . + +/* Shifted symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │   │ ! │ " │ № │ ; │ % │ : │ ? │ * │ ( │ ) │ _ │ + │ / │   │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘     │ + * │      │   │   │   │   │   │   │   │   │   │   │   │        │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │        │   │   │   │   │   │   │   │   │   │ , │          │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define RU_EXLM S(RU_1) // ! +#define RU_DQUO S(RU_2) // " +#define RU_NUM S(RU_3) // № +#define RU_SCLN S(RU_4) // ; +#define RU_PERC S(RU_5) // % +#define RU_COLN S(RU_6) // : +#define RU_QUES S(RU_7) // ? +#define RU_ASTR S(RU_8) // * +#define RU_LPRN S(RU_9) // ( +#define RU_RPRN S(RU_0) // ) +#define RU_UNDS S(RU_MINS) // _ +#define RU_PLUS S(RU_EQL) // + +#define RU_SLSH S(RU_BSLS) // / +// Row 4 +#define RU_COMM S(RU_DOT) // , + +/* AltGr symbols + * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┐ + * │   │   │   │   │   │   │   │   │ ₽ │   │   │   │   │   │   │ + * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴───┤ + * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │ + * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┘     │ + * │      │   │   │   │   │   │   │   │   │   │   │   │        │ + * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤ + * │        │   │   │   │   │   │   │   │   │   │   │          │ + * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤ + * │    │    │    │                        │    │    │    │    │ + * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘ + */ +// Row 1 +#define RU_RUBL ALGR(RU_8) // ₽