diff --git a/frontend/static/layouts/rulemak.json b/frontend/static/layouts/rulemak.json new file mode 100644 index 000000000..815a2d010 --- /dev/null +++ b/frontend/static/layouts/rulemak.json @@ -0,0 +1,62 @@ +{ + "keymapShowTopRow": false, + "type": "ansi", + "keys": { + "row1": [ + ["ё", "Ё"], + ["1", "!"], + ["2", "\""], + ["3", "№", "#", "³"], + ["4", ";", "$", "£"], + ["5", "%", "€", "%"], + ["6", ":"], + ["7", "?", "&"], + ["8", "*", "₽", "₴"], + ["9", "(", "[", "{"], + ["0", ")", "]", "}"], + ["-", "_", "–", "—"], + ["=", "+", "×", "÷"] + ], + "row2": [ + ["я", "Я", "ѣ", "Ѣ"], + ["ж", "Ж", "ѵ", "Ѵ"], + ["ф", "Ф", "ѳ", "Ѳ"], + ["п", "П", "п", "П"], + ["г", "Г", "ґ", "Ґ"], + ["й", "Й", "ј", "Ј"], + ["л", "Л", "љ", "Љ"], + ["у", "У", "ў", "Ў"], + ["ы", "Ы", "ї", "Ї"], + ["ю", "Ю", ";", ":"], + ["ш", "Ш", "«", "„"], + ["щ", "Щ", "»", "“"], + ["э", "Э", "’", "”"] + ], + "row3": [ + ["а", "А", "'", "ʼ"], + ["р", "Р", "®"], + ["с", "С", "@"], + ["т", "Т", "ћ", "Ћ"], + ["д", "Д", "ђ", "Ђ"], + ["ч", "Ч", "џ", "Џ"], + ["н", "Н", "њ", "Њ"], + ["е", "Е", "є", "Є"], + ["и", "И", "і", "І"], + ["о", "О", "о", "О"], + ["ь", "Ь", "ъ", "Ъ"] + ], + "row4": [ + ["з", "З", "ѕ", "Ѕ"], + ["х", "Х", "х", "Х"], + ["ц", "Ц", "©"], + ["в", "В", "в", "В"], + ["б", "Б", "ѓ", "Ѓ"], + ["к", "К", "ќ", "Ќ"], + ["м", "М", "м", "М"], + [",", ";", "<"], + [".", ":", ">"], + ["/", "?", "\\", "|"] + ], + "row5": [[" "]] + } +} diff --git a/packages/schemas/src/layouts.ts b/packages/schemas/src/layouts.ts index d19329382..e20d0c2e4 100644 --- a/packages/schemas/src/layouts.ts +++ b/packages/schemas/src/layouts.ts @@ -218,6 +218,7 @@ export const LayoutNameSchema = z.enum([ "tarmak_2", "tarmak_3", "tarmak_4", + "rulemak", ], { errorMap: customEnumErrorHandler("Must be a supported layout"),