Add Russian keymap (#8638)

* Add Russian keymap

* Switch to ANSI layout
This commit is contained in:
Drashna Jaelre 2020-04-05 00:53:52 -07:00 committed by GitHub
commit ccb37f673a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 133 additions and 0 deletions

View File

@ -0,0 +1,133 @@
/* 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 <http://www.gnu.org/licenses/>.
*/
#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 // =
// 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 // Ъ
#define RU_BSLS KC_BSLS // (backslash)
// 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) // +
// Row 2
#define RU_SLSH S(RU_BSLS) // /
// Row 4
#define RU_COMM S(RU_DOT) // ,
/* AltGr symbols
*
*                                              
*
*                                               
*
*                                                
*
*                                                 
*
*                                                     
*
*/
// Row 1
#define RU_RUBL ALGR(RU_8) // ₽