From 9e137981cd51aeebad17a895e882333ad355b715 Mon Sep 17 00:00:00 2001 From: Carter Cormier Date: Tue, 28 Jul 2026 03:49:12 -0700 Subject: [PATCH] feat(layout): add russian+qwerty layout --- frontend/static/layouts/russian+qwerty.json | 62 +++++++++++++++++++++ packages/schemas/src/layouts.ts | 1 + 2 files changed, 63 insertions(+) create mode 100644 frontend/static/layouts/russian+qwerty.json diff --git a/frontend/static/layouts/russian+qwerty.json b/frontend/static/layouts/russian+qwerty.json new file mode 100644 index 000000000000..356b6cadf7ab --- /dev/null +++ b/frontend/static/layouts/russian+qwerty.json @@ -0,0 +1,62 @@ +{ + "keymapShowTopRow": false, + "type": "ansi", + "keys": { + "row1": [ + ["ё", "Ё", "`", "~"], + ["1", "!", "1", "!"], + ["2", "\"", "2", "@"], + ["3", "№", "3", "#"], + ["4", ";", "4", "$"], + ["5", "%", "5", "%"], + ["6", ":", "6", "^"], + ["7", "?", "7", "&"], + ["8", "*", "8", "*"], + ["9", "(", "9", "("], + ["0", ")", "0", ")"], + ["-", "_", "-", "_"], + ["=", "+", "=", "+"] + ], + "row2": [ + ["й", "Й", "q", "Q"], + ["ц", "Ц", "w", "W"], + ["у", "У", "e", "E"], + ["к", "К", "r", "R"], + ["е", "Е", "t", "T"], + ["н", "Н", "y", "Y"], + ["г", "Г", "u", "U"], + ["ш", "Ш", "i", "I"], + ["щ", "Щ", "o", "O"], + ["з", "З", "p", "P"], + ["х", "Х", "[", "{"], + ["ъ", "Ъ", "]", "}"], + ["\\", "/", "\\", "|"] + ], + "row3": [ + ["ф", "Ф", "a", "A"], + ["ы", "Ы", "s", "S"], + ["в", "В", "d", "D"], + ["а", "А", "f", "F"], + ["п", "П", "g", "G"], + ["р", "Р", "h", "H"], + ["о", "О", "j", "J"], + ["л", "Л", "k", "K"], + ["д", "Д", "l", "L"], + ["ж", "Ж", ";", ":"], + ["э", "Э", "'", "\""] + ], + "row4": [ + ["я", "Я", "z", "Z"], + ["ч", "Ч", "x", "X"], + ["с", "С", "c", "C"], + ["м", "М", "v", "V"], + ["и", "И", "b", "B"], + ["т", "Т", "n", "N"], + ["ь", "Ь", "m", "M"], + ["б", "Б", ",", "<"], + ["ю", "Ю", ".", ">"], + [".", ",", "/", "?"] + ], + "row5": [[" "]] + } +} diff --git a/packages/schemas/src/layouts.ts b/packages/schemas/src/layouts.ts index cfb277077522..7cdee157c9f9 100644 --- a/packages/schemas/src/layouts.ts +++ b/packages/schemas/src/layouts.ts @@ -242,6 +242,7 @@ export const LayoutNameSchema = z.enum( "nokwts", "vylet_v4", "armenian_hm_qwerty", + "russian+qwerty", ], { errorMap: customEnumErrorHandler("Must be a supported layout"),