Skip to content

Commit 821c640

Browse files
authored
feat(layout): add Rulemak layout (@poli0iq) (monkeytypegame#6835)
### Description Add Rulemak Cyrillic layout, as found in https://gitlab.freedesktop.org/xkeyboard-config/xkeyboard-config/-/blob/23fec5367a042639ed93f7cf3878fbe9ddb84115/symbols/ru#L722. It's primarily designed for Russian, but can also be used for Ukrainian, Serbian, Bulgarian, Belarusian and Macedonian, thanks to its layer 3-4 symbols. ### Checks - [ ] Adding quotes? - [ ] Make sure to include translations for the quotes in the description (or another comment) so we can verify their content. - [ ] Adding a language? - Make sure to follow the [languages documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md) - [ ] Add language to `packages/schemas/src/languages.ts` - [ ] Add language to exactly one group in `frontend/src/ts/constants/languages.ts` - [ ] Add language json file to `frontend/static/languages` - [ ] Adding a theme? - Make sure to follow the [themes documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md) - [ ] Add theme to `packages/schemas/src/themes.ts` - [ ] Add theme to `frontend/src/ts/constants/themes.ts` - [ ] Add theme css file to `frontend/static/themes` - [ ] Add some screenshot of the theme, especially with different test settings (colorful, flip colors) to your pull request - [x] Adding a layout? - [x] Make sure to follow the [layouts documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md) - [x] Add layout to `packages/schemas/src/layouts.ts` - [x] Add layout json file to `frontend/static/layouts` - [ ] Adding a font? - Make sure to follow the [themes documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md) - [ ] Add font file to `frontend/static/webfonts` - [ ] Add font to `packages/schemas/src/fonts.ts` - [ ] Add font to `frontend/src/ts/constants/fonts.ts` - [ ] Check if any open issues are related to this PR; if so, be sure to tag them below. - [ ] Make sure the PR title follows the Conventional Commits standard. (https://www.conventionalcommits.org for more info) - [ ] Make sure to include your GitHub username prefixed with @ inside parentheses at the end of the PR title. <!-- label(optional scope): pull request title (@your_github_username) --> <!-- I know I know they seem boring but please do them, they help us and you will find out it also helps you.--> Closes # <!-- the issue(s) your PR resolves if any (delete if that is not the case) --> <!-- please also reference any issues and or PRs related to your pull request --> <!-- Also remove it if you are not following any issues. --> <!-- pro tip: you can mention an issue, PR, or discussion on GitHub by referencing its hash number e.g: [monkeytypegame#1234](monkeytypegame#1234) --> <!-- pro tip: you can press . (dot or period) in the code tab of any GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->
1 parent af0f23c commit 821c640

File tree

2 files changed

+63
-0
lines changed

2 files changed

+63
-0
lines changed
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
{
2+
"keymapShowTopRow": false,
3+
"type": "ansi",
4+
"keys": {
5+
"row1": [
6+
["ё", "Ё"],
7+
["1", "!"],
8+
["2", "\""],
9+
["3", "", "#", "³"],
10+
["4", ";", "$", "£"],
11+
["5", "%", "", "%"],
12+
["6", ":"],
13+
["7", "?", "&"],
14+
["8", "*", "", ""],
15+
["9", "(", "[", "{"],
16+
["0", ")", "]", "}"],
17+
["-", "_", "", ""],
18+
["=", "+", "×", "÷"]
19+
],
20+
"row2": [
21+
["я", "Я", "ѣ", "Ѣ"],
22+
["ж", "Ж", "ѵ", "Ѵ"],
23+
["ф", "Ф", "ѳ", "Ѳ"],
24+
["п", "П", "п", "П"],
25+
["г", "Г", "ґ", "Ґ"],
26+
["й", "Й", "ј", "Ј"],
27+
["л", "Л", "љ", "Љ"],
28+
["у", "У", "ў", "Ў"],
29+
["ы", "Ы", "ї", "Ї"],
30+
["ю", "Ю", ";", ":"],
31+
["ш", "Ш", "«", ""],
32+
["щ", "Щ", "»", ""],
33+
["э", "Э", "", ""]
34+
],
35+
"row3": [
36+
["а", "А", "'", "ʼ"],
37+
["р", "Р", "®"],
38+
["с", "С", "@"],
39+
["т", "Т", "ћ", "Ћ"],
40+
["д", "Д", "ђ", "Ђ"],
41+
["ч", "Ч", "џ", "Џ"],
42+
["н", "Н", "њ", "Њ"],
43+
["е", "Е", "є", "Є"],
44+
["и", "И", "і", "І"],
45+
["о", "О", "о", "О"],
46+
["ь", "Ь", "ъ", "Ъ"]
47+
],
48+
"row4": [
49+
["з", "З", "ѕ", "Ѕ"],
50+
["х", "Х", "х", "Х"],
51+
["ц", "Ц", "©"],
52+
["в", "В", "в", "В"],
53+
["б", "Б", "ѓ", "Ѓ"],
54+
["к", "К", "ќ", "Ќ"],
55+
["м", "М", "м", "М"],
56+
[",", ";", "<"],
57+
[".", ":", ">"],
58+
["/", "?", "\\", "|"]
59+
],
60+
"row5": [[" "]]
61+
}
62+
}

packages/schemas/src/layouts.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -218,6 +218,7 @@ export const LayoutNameSchema = z.enum([
218218
"tarmak_2",
219219
"tarmak_3",
220220
"tarmak_4",
221+
"rulemak",
221222
],
222223
{
223224
errorMap: customEnumErrorHandler("Must be a supported layout"),

0 commit comments

Comments
 (0)