forked from mirrors/qmk_userspace
		
	Russian typewriter keymap file for popular legacy layout (#21174)
Co-authored-by: Andrei Tutolmin <andrei@tutolmin.com>
This commit is contained in:
		
					parent
					
						
							
								8e614250b4
							
						
					
				
			
			
				commit
				
					
						4410e6b3bf
					
				
			
		
					 2 changed files with 384 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -0,0 +1,291 @@
 | 
			
		|||
{
 | 
			
		||||
    "aliases": {
 | 
			
		||||
/*
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ | │ № │ - │ / │ " │ : │ , │ . │ _ │ ? │ % │ ! │ ; │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │ Й │ Ц │ У │ К │ Е │ Н │ Г │ Ш │ Щ │ З │ Х │ Ъ │  )  │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │      │ Ф │ Ы │ В │ А │ П │ Р │ О │ Л │ Д │ Ж │ Э │        │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │        │ Я │ Ч │ С │ М │ И │ Т │ Ь │ Б │ Ю │ Ё │          │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "KC_GRV": {
 | 
			
		||||
            "key": "RU_PIPE",
 | 
			
		||||
            "label": "|",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_1": {
 | 
			
		||||
            "key": "RU_NUM",
 | 
			
		||||
            "label": "№",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_2": {
 | 
			
		||||
            "key": "RU_MINS",
 | 
			
		||||
            "label": "-",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_3": {
 | 
			
		||||
            "key": "RU_SLSH",
 | 
			
		||||
            "label": "/",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_4": {
 | 
			
		||||
            "key": "RU_DQUO",
 | 
			
		||||
            "label": "\"",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_5": {
 | 
			
		||||
            "key": "RU_COLN",
 | 
			
		||||
            "label": ":",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_6": {
 | 
			
		||||
            "key": "RU_COMM",
 | 
			
		||||
            "label": ",",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_7": {
 | 
			
		||||
            "key": "RU_DOT",
 | 
			
		||||
            "label": ".",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_8": {
 | 
			
		||||
            "key": "RU_UNDS",
 | 
			
		||||
            "label": "_",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_9": {
 | 
			
		||||
            "key": "RU_QUES",
 | 
			
		||||
            "label": "?",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_0": {
 | 
			
		||||
            "key": "RU_PERC",
 | 
			
		||||
            "label": "%",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_MINS": {
 | 
			
		||||
            "key": "RU_EXLM",
 | 
			
		||||
            "label": "!",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_EQL": {
 | 
			
		||||
            "key": "RU_SCLN",
 | 
			
		||||
            "label": ";",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_Q": {
 | 
			
		||||
            "key": "RU_SHTI",
 | 
			
		||||
            "label": "Й",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_W": {
 | 
			
		||||
            "key": "RU_TSE",
 | 
			
		||||
            "label": "Ц",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_E": {
 | 
			
		||||
            "key": "RU_U",
 | 
			
		||||
            "label": "У",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_R": {
 | 
			
		||||
            "key": "RU_KA",
 | 
			
		||||
            "label": "К",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_T": {
 | 
			
		||||
            "key": "RU_IE",
 | 
			
		||||
            "label": "Е",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_Y": {
 | 
			
		||||
            "key": "RU_EN",
 | 
			
		||||
            "label": "Н",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_U": {
 | 
			
		||||
            "key": "RU_GHE",
 | 
			
		||||
            "label": "Г",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_I": {
 | 
			
		||||
            "key": "RU_SHA",
 | 
			
		||||
            "label": "Ш",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_O": {
 | 
			
		||||
            "key": "RU_SHCH",
 | 
			
		||||
            "label": "Щ",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_P": {
 | 
			
		||||
            "key": "RU_ZE",
 | 
			
		||||
            "label": "З",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_LBRC": {
 | 
			
		||||
            "key": "RU_HA",
 | 
			
		||||
            "label": "Х",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_RBRC": {
 | 
			
		||||
            "key": "RU_HARD",
 | 
			
		||||
            "label": "Ъ",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_BSLS": {
 | 
			
		||||
            "key": "RU_RPRN",
 | 
			
		||||
            "label": ")",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_A": {
 | 
			
		||||
            "key": "RU_EF",
 | 
			
		||||
            "label": "Ф",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_S": {
 | 
			
		||||
            "key": "RU_YERU",
 | 
			
		||||
            "label": "Ы",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_D": {
 | 
			
		||||
            "key": "RU_VE",
 | 
			
		||||
            "label": "В",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_F": {
 | 
			
		||||
            "key": "RU_A",
 | 
			
		||||
            "label": "А",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_G": {
 | 
			
		||||
            "key": "RU_PE",
 | 
			
		||||
            "label": "П",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_H": {
 | 
			
		||||
            "key": "RU_ER",
 | 
			
		||||
            "label": "Р",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_J": {
 | 
			
		||||
            "key": "RU_O",
 | 
			
		||||
            "label": "О",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_K": {
 | 
			
		||||
            "key": "RU_EL",
 | 
			
		||||
            "label": "Л",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_L": {
 | 
			
		||||
            "key": "RU_DE",
 | 
			
		||||
            "label": "Д",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_SCLN": {
 | 
			
		||||
            "key": "RU_ZHE",
 | 
			
		||||
            "label": "Ж",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_QUOT": {
 | 
			
		||||
            "key": "RU_E",
 | 
			
		||||
            "label": "Э",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_Z": {
 | 
			
		||||
            "key": "RU_YA",
 | 
			
		||||
            "label": "Я",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_X": {
 | 
			
		||||
            "key": "RU_CHE",
 | 
			
		||||
            "label": "Ч",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_C": {
 | 
			
		||||
            "key": "RU_ES",
 | 
			
		||||
            "label": "С",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_V": {
 | 
			
		||||
            "key": "RU_EM",
 | 
			
		||||
            "label": "М",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_B": {
 | 
			
		||||
            "key": "RU_I",
 | 
			
		||||
            "label": "И",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_N": {
 | 
			
		||||
            "key": "RU_TE",
 | 
			
		||||
            "label": "Т",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_M": {
 | 
			
		||||
            "key": "RU_SOFT",
 | 
			
		||||
            "label": "Ь",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_COMM": {
 | 
			
		||||
            "key": "RU_BE",
 | 
			
		||||
            "label": "Б",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_DOT": {
 | 
			
		||||
            "key": "RU_YU",
 | 
			
		||||
            "label": "Ю",
 | 
			
		||||
        }
 | 
			
		||||
        "KC_SLSH": {
 | 
			
		||||
            "key": "RU_YO",
 | 
			
		||||
            "label": "Ё",
 | 
			
		||||
        }
 | 
			
		||||
/* Shifted symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │ + │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ 0 │ = │ \ │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │   │   │   │   │   │   │   │   │   │   │  (  │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │   │   │        │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │        │   │   │   │   │   │   │   │   │   │   │          │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "S(RU_PIPE)": {
 | 
			
		||||
            "key": "RU_PLUS",
 | 
			
		||||
            "label": "+",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_NUM)": {
 | 
			
		||||
            "key": "RU_1",
 | 
			
		||||
            "label": "1",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_MINS)": {
 | 
			
		||||
            "key": "RU_2",
 | 
			
		||||
            "label": "2",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_SLSH)": {
 | 
			
		||||
            "key": "RU_3",
 | 
			
		||||
            "label": "3",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_DQUO)": {
 | 
			
		||||
            "key": "RU_4",
 | 
			
		||||
            "label": "4",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_COLN)": {
 | 
			
		||||
            "key": "RU_5",
 | 
			
		||||
            "label": "5",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_COMM)": {
 | 
			
		||||
            "key": "RU_6",
 | 
			
		||||
            "label": "6",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_DOT)": {
 | 
			
		||||
            "key": "RU_7",
 | 
			
		||||
            "label": "7",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_UNDS)": {
 | 
			
		||||
            "key": "RU_8",
 | 
			
		||||
            "label": "8",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_QUES)": {
 | 
			
		||||
            "key": "RU_9",
 | 
			
		||||
            "label": "9",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_PERC)": {
 | 
			
		||||
            "key": "RU_0",
 | 
			
		||||
            "label": "0",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_EXLM)": {
 | 
			
		||||
            "key": "RU_EQL",
 | 
			
		||||
            "label": "=",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_SCLN)": {
 | 
			
		||||
            "key": "RU_BSLS",
 | 
			
		||||
            "label": "\\",
 | 
			
		||||
        }
 | 
			
		||||
        "S(RU_RPRN)": {
 | 
			
		||||
            "key": "RU_LPRN",
 | 
			
		||||
            "label": "(",
 | 
			
		||||
        }
 | 
			
		||||
/* AltGr symbols
 | 
			
		||||
 * ┌───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
 | 
			
		||||
 * │   │   │   │   │   │   │   │   │ ₽ │   │   │   │   │       │
 | 
			
		||||
 * ├───┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─────┤
 | 
			
		||||
 * │     │   │   │   │   │   │   │   │   │   │   │   │   │     │
 | 
			
		||||
 * ├─────┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴┬──┴─────┤
 | 
			
		||||
 * │      │   │   │   │   │   │   │   │   │   │   │   │        │
 | 
			
		||||
 * ├──────┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴─┬─┴────────┤
 | 
			
		||||
 * │        │   │   │   │   │   │   │   │   │   │   │          │
 | 
			
		||||
 * ├────┬───┴┬──┴─┬─┴───┴───┴───┴───┴───┴──┬┴───┼───┴┬────┬────┤
 | 
			
		||||
 * │    │    │    │                        │    │    │    │    │
 | 
			
		||||
 * └────┴────┴────┴────────────────────────┴────┴────┴────┴────┘
 | 
			
		||||
 */
 | 
			
		||||
        "ALGR(RU_UNDS)": {
 | 
			
		||||
            "key": "RU_RUBL",
 | 
			
		||||
            "label": "₽",
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										93
									
								
								quantum/keymap_extras/keymap_russian_typewriter.h
									
										
									
									
									
										Normal file
									
								
							
							
						
						
									
										93
									
								
								quantum/keymap_extras/keymap_russian_typewriter.h
									
										
									
									
									
										Normal file
									
								
							| 
						 | 
				
			
			@ -0,0 +1,93 @@
 | 
			
		|||
// 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 "keycodes.h"
 | 
			
		||||
// clang-format off
 | 
			
		||||
 | 
			
		||||
// Aliases
 | 
			
		||||
#define RU_PIPE KC_GRV  // |
 | 
			
		||||
#define RU_NUM  KC_1    // №
 | 
			
		||||
#define RU_MINS KC_2    // -
 | 
			
		||||
#define RU_SLSH KC_3    // /
 | 
			
		||||
#define RU_DQUO KC_4    // "
 | 
			
		||||
#define RU_COLN KC_5    // :
 | 
			
		||||
#define RU_COMM KC_6    // ,
 | 
			
		||||
#define RU_DOT  KC_7    // .
 | 
			
		||||
#define RU_UNDS KC_8    // _
 | 
			
		||||
#define RU_QUES KC_9    // ?
 | 
			
		||||
#define RU_PERC KC_0    // %
 | 
			
		||||
#define RU_EXLM KC_MINS // !
 | 
			
		||||
#define RU_SCLN KC_EQL  // ;
 | 
			
		||||
#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_RPRN KC_BSLS // )
 | 
			
		||||
#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 // Э
 | 
			
		||||
#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_YO   KC_SLSH // Ё
 | 
			
		||||
#define RU_PLUS S(RU_PIPE) // +
 | 
			
		||||
#define RU_1    S(RU_NUM)  // 1
 | 
			
		||||
#define RU_2    S(RU_MINS) // 2
 | 
			
		||||
#define RU_3    S(RU_SLSH) // 3
 | 
			
		||||
#define RU_4    S(RU_DQUO) // 4
 | 
			
		||||
#define RU_5    S(RU_COLN) // 5
 | 
			
		||||
#define RU_6    S(RU_COMM) // 6
 | 
			
		||||
#define RU_7    S(RU_DOT)  // 7
 | 
			
		||||
#define RU_8    S(RU_UNDS) // 8
 | 
			
		||||
#define RU_9    S(RU_QUES) // 9
 | 
			
		||||
#define RU_0    S(RU_PERC) // 0
 | 
			
		||||
#define RU_EQL  S(RU_EXLM) // =
 | 
			
		||||
#define RU_BSLS S(RU_SCLN) // (backslash)
 | 
			
		||||
#define RU_LPRN S(RU_RPRN) // (
 | 
			
		||||
#define RU_RUBL ALGR(RU_UNDS) // ₽
 | 
			
		||||
 | 
			
		||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue