feat(layout): add Tarmak layouts (@siily-g) (#6574)

### Description

The tarmak layout(s) is a set of transition layouts for qwerty user
switching to colemak, it changes only about 3-4 keys for every stage.

[More about tarmak](https://dreymar.colemak.org/tarmak-intro.html)

### 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/contracts/src/schemas/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/contracts/src/schemas/themes.ts`
  - [ ] Add theme to `frontend/src/ts/constants/themes.ts`
  - [ ] Add theme css file to `frontend/static/themes` 
- [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/contracts/src/schemas/layouts.ts`
  - [x] Add layout json file to `frontend/static/layouts` 
  
- [x] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [x] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.
This commit is contained in:
siilyg 2025-05-26 21:03:25 +07:00 committed by GitHub
parent 4fe11aceee
commit 1826948886
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
5 changed files with 161 additions and 1 deletions

View file

@ -0,0 +1,39 @@
{
"keymapShowTopRow": false,
"type": "ansi",
"keys": {
"row1": [
"`~",
"1!",
"2@",
"3#",
"4$",
"5%",
"6^",
"7&",
"8*",
"9(",
"0)",
"-_",
"=+"
],
"row2": [
"qQ",
"wW",
"jJ",
"rR",
"tT",
"yY",
"uU",
"iI",
"oO",
"pP",
"[{",
"]}",
"\\|"
],
"row3": ["aA", "sS", "dD", "fF", "gG", "hH", "nN", "eE", "lL", ";:", "'\""],
"row4": ["zZ", "xX", "cC", "vV", "bB", "kK", "mM", ",<", ".>", "/?"],
"row5": [" "]
}
}

View file

@ -0,0 +1,39 @@
{
"keymapShowTopRow": false,
"type": "ansi",
"keys": {
"row1": [
"`~",
"1!",
"2@",
"3#",
"4$",
"5%",
"6^",
"7&",
"8*",
"9(",
"0)",
"-_",
"=+"
],
"row2": [
"qQ",
"wW",
"fF",
"rR",
"gG",
"yY",
"uU",
"iI",
"oO",
"pP",
"[{",
"]}",
"\\|"
],
"row3": ["aA", "sS", "dD", "tT", "jJ", "hH", "nN", "eE", "lL", ";:", "'\""],
"row4": ["zZ", "xX", "cC", "vV", "bB", "kK", "mM", ",<", ".>", "/?"],
"row5": [" "]
}
}

View file

@ -0,0 +1,39 @@
{
"keymapShowTopRow": false,
"type": "ansi",
"keys": {
"row1": [
"`~",
"1!",
"2@",
"3#",
"4$",
"5%",
"6^",
"7&",
"8*",
"9(",
"0)",
"-_",
"=+"
],
"row2": [
"qQ",
"wW",
"fF",
"jJ",
"gG",
"yY",
"uU",
"iI",
"oO",
"pP",
"[{",
"]}",
"\\|"
],
"row3": ["aA", "rR", "sS", "tT", "dD", "hH", "nN", "eE", "lL", ";:", "'\""],
"row4": ["zZ", "xX", "cC", "vV", "bB", "kK", "mM", ",<", ".>", "/?"],
"row5": [" "]
}
}

View file

@ -0,0 +1,39 @@
{
"keymapShowTopRow": false,
"type": "ansi",
"keys": {
"row1": [
"`~",
"1!",
"2@",
"3#",
"4$",
"5%",
"6^",
"7&",
"8*",
"9(",
"0)",
"-_",
"=+"
],
"row2": [
"qQ",
"wW",
"fF",
"pP",
"gG",
"jJ",
"uU",
"iI",
"yY",
";:",
"[{",
"]}",
"\\|"
],
"row3": ["aA", "rR", "sS", "tT", "dD", "hH", "nN", "eE", "lL", "oO", "'\""],
"row4": ["zZ", "xX", "cC", "vV", "bB", "kK", "mM", ",<", ".>", "/?"],
"row5": [" "]
}
}

View file

@ -213,7 +213,11 @@ export const LayoutNameSchema = z.enum([
"ergopti",
"sword",
"opy",
"tarmak_1",
"tarmak_2",
"tarmak_3",
"tarmak_4",
]
);
export type LayoutName = z.infer<typeof LayoutNameSchema>;
export type LayoutName = z.infer<typeof LayoutNameSchema>;