From 233d904808d27030aea2dc1710c952bab5c01a2b Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 07:50:58 +0300 Subject: [PATCH 01/16] =?UTF-8?q?Create=20ru=5Fstatica=5F3x5.json=E2=80=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../layouts/ru_statica_3x5.json\342\200\216" | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 "packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" diff --git "a/packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" "b/packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" new file mode 100644 index 00000000..b7d5f606 --- /dev/null +++ "b/packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" @@ -0,0 +1,50 @@ +{ + "Backquote": "\"'", + "Digit1": "1!", + "Digit2": "2@", + "Digit3": "3#", + "Digit4": "4$", + "Digit5": "5%", + "Digit6": "6^", + "Digit7": "7&", + "Digit8": "8*", + "Digit9": "9(", + "Digit0": "0)", + "Minus": "-_", + "Equal": "=+", + "KeyQ": "ьЬъЪ", + "KeyW": "уУ", + "KeyE": "аА", + "KeyR": "жЖ", + "KeyT": "юЮ", + "KeyY": "гГ", + "KeyU": "бБ", + "KeyI": "рР", + "KeyO": "лЛ", + "KeyP": "хХ", + "BracketLeft": ",;", + "BracketRight": ".:", + "Backslash": "\\|", + "KeyA": "иИ", + "KeyS": "еЕёЁ", + "KeyD": "оО", + "KeyF": "кК", + "KeyG": "яЯ", + "KeyH": "мМ", + "KeyJ": "тТ", + "KeyK": "сС", + "KeyL": "нН", + "Semicolon": "зЗ", + "Quote": ".:", + "KeyZ": "фФ", + "KeyX": "эЭ", + "KeyC": "ыЫ", + "KeyV": "пП", + "KeyB": "йЙ", + "KeyN": "дД", + "KeyM": "вВ", + "Comma": "чЧ", + "Period": "шШщЩ", + "Slash": "цЦ", + "Space": " " +} From bcec8f90feb179209d883346b0d9f0de8a4d0b3a Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 07:57:22 +0300 Subject: [PATCH 02/16] =?UTF-8?q?Update=20and=20rename=20ru=5Fstatica=5F3x?= =?UTF-8?q?5.json=E2=80=8E=20to=20ru=5Fstatica=5F3x5.jso=E2=80=8E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" | 1 - 1 file changed, 1 deletion(-) rename "packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" => "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" (97%) diff --git "a/packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" "b/packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" similarity index 97% rename from "packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" rename to "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" index b7d5f606..d9e3a399 100644 --- "a/packages/keybr-generators/layouts/ru_statica_3x5.json\342\200\216" +++ "b/packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" @@ -1,5 +1,4 @@ { - "Backquote": "\"'", "Digit1": "1!", "Digit2": "2@", "Digit3": "3#", From 0ea7465e100f2c80e63e410e708dd2b3fc4c8103 Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 07:59:50 +0300 Subject: [PATCH 03/16] =?UTF-8?q?Update=20and=20rename=20ru=5Fstatica=5F3x?= =?UTF-8?q?5.jso=E2=80=8E=20to=20ru=5Fstatica=5F3x5.jso=E2=80=8En?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" | 1 + 1 file changed, 1 insertion(+) rename "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" => "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" (97%) diff --git "a/packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" "b/packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" similarity index 97% rename from "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" rename to "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" index d9e3a399..b7d5f606 100644 --- "a/packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216" +++ "b/packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" @@ -1,4 +1,5 @@ { + "Backquote": "\"'", "Digit1": "1!", "Digit2": "2@", "Digit3": "3#", From 2cf17a08859b8c901c7949a940c76b52eb9e212b Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 08:01:48 +0300 Subject: [PATCH 04/16] =?UTF-8?q?Rename=20ru=5Fstatica=5F3x5.jso=E2=80=8En?= =?UTF-8?q?=20to=205.jso=E2=80=8En?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keybr-generators/layouts/5.jso\342\200\216n" | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" => "packages/keybr-generators/layouts/5.jso\342\200\216n" (100%) diff --git "a/packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" "b/packages/keybr-generators/layouts/5.jso\342\200\216n" similarity index 100% rename from "packages/keybr-generators/layouts/ru_statica_3x5.jso\342\200\216n" rename to "packages/keybr-generators/layouts/5.jso\342\200\216n" From 50b0c181535f480d9ab8a13e94b4db683b262b75 Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 08:02:28 +0300 Subject: [PATCH 05/16] =?UTF-8?q?Rename=205.jso=E2=80=8En=20to=20ru=5Fstat?= =?UTF-8?q?ica=5F3x5.json?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../keybr-generators/layouts/ru_statica_3x5.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename "packages/keybr-generators/layouts/5.jso\342\200\216n" => packages/keybr-generators/layouts/ru_statica_3x5.json (100%) diff --git "a/packages/keybr-generators/layouts/5.jso\342\200\216n" b/packages/keybr-generators/layouts/ru_statica_3x5.json similarity index 100% rename from "packages/keybr-generators/layouts/5.jso\342\200\216n" rename to packages/keybr-generators/layouts/ru_statica_3x5.json From 5d1fb4a1884d2319b899238a5db362a0d07421ff Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 08:13:46 +0300 Subject: [PATCH 06/16] Update generate-layouts.ts --- packages/keybr-generators/lib/generate-layouts.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/keybr-generators/lib/generate-layouts.ts b/packages/keybr-generators/lib/generate-layouts.ts index 9b788ab9..91cd3f90 100755 --- a/packages/keybr-generators/lib/generate-layouts.ts +++ b/packages/keybr-generators/lib/generate-layouts.ts @@ -100,6 +100,7 @@ for (const [id, layout] of [ ["pt_pt", importCldr("cldr-keyboards-43.0/keyboards/windows/pt-PT-t-k0-windows.xml")], ["ro_ro", importCldr("cldr-keyboards-43.0/keyboards/windows/ro-t-k0-windows.xml")], ["ru_ru", importCldr("cldr-keyboards-43.0/keyboards/windows/ru-t-k0-windows.xml")], + ["ru_statica_3x5", importKeymap("layouts/ru_statica_3x5.json")], ["sl_si", importCldr("cldr-keyboards-43.0/keyboards/windows/sl-t-k0-windows.xml")], ["sv_se", importCldr("cldr-keyboards-43.0/keyboards/windows/sv-t-k0-windows.xml")], ["th_th", importCldr("cldr-keyboards-43.0/keyboards/windows/th-t-k0-windows.xml")], From 9e3a1ff2f9f112cac544f7c9bca34461696961ee Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 08:29:42 +0300 Subject: [PATCH 07/16] Update layout.ts --- packages/keybr-keyboard/lib/layout.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/keybr-keyboard/lib/layout.ts b/packages/keybr-keyboard/lib/layout.ts index 7a18d79d..39a3bf61 100755 --- a/packages/keybr-keyboard/lib/layout.ts +++ b/packages/keybr-keyboard/lib/layout.ts @@ -545,6 +545,15 @@ export class Layout implements XEnumItem { Geometry.MATRIX, ), ); + static readonly RU_STATICA_3X5 = new Layout( + /* id= */ "ru_statica_3x5", + /* xid= */ 0xb9,,,,,,,,,,,,,,,,,,,, + /* name= */ "Statica 3x5 (Matrix)", + /* family= */ "statica", + /* language= */ Language.RU, + /* emulate= */ false, + /* geometries= */ new Enum(Geometry.MATRIX), + ); static readonly BE_BY = new Layout( /* id= */ "be-by", /* xid= */ 0x74, From 3baf94d75f525a0185d3de1e2ac5442c3d8c7082 Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 08:34:44 +0300 Subject: [PATCH 08/16] Update layout.ts --- packages/keybr-keyboard/lib/layout.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/keybr-keyboard/lib/layout.ts b/packages/keybr-keyboard/lib/layout.ts index 39a3bf61..0e6b3b7e 100755 --- a/packages/keybr-keyboard/lib/layout.ts +++ b/packages/keybr-keyboard/lib/layout.ts @@ -1425,6 +1425,7 @@ export class Layout implements XEnumItem { Layout.SV_SE, Layout.UK_UA, Layout.RU_RU, + Layout.RU_STATICA_3X5, Layout.TR_TR_Q, Layout.TR_TR_F, Layout.AR_SA, From 78b4048242265a5db90f25e512b1e7e8b04366af Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 08:42:55 +0300 Subject: [PATCH 09/16] Create ru_statica_3x5.ts --- packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts | 1 + 1 file changed, 1 insertion(+) create mode 100644 packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts diff --git a/packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts b/packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts new file mode 100644 index 00000000..8b137891 --- /dev/null +++ b/packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts @@ -0,0 +1 @@ + From 376761ddc36af80bc91c5f0694937e2d7067e8fa Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 08:53:04 +0300 Subject: [PATCH 10/16] Update load.ts --- packages/keybr-keyboard/lib/load.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/keybr-keyboard/lib/load.ts b/packages/keybr-keyboard/lib/load.ts index ee89f165..7df6546d 100755 --- a/packages/keybr-keyboard/lib/load.ts +++ b/packages/keybr-keyboard/lib/load.ts @@ -98,6 +98,7 @@ import { LAYOUT_PT_BR } from "./layout/pt_br.ts"; import { LAYOUT_PT_PT } from "./layout/pt_pt.ts"; import { LAYOUT_RO_RO } from "./layout/ro_ro.ts"; import { LAYOUT_RU_RU } from "./layout/ru_ru.ts"; +import { LAYOUT_RU_STATICA_3X5 } from "./layout/ru_statica_3x5.ts"; import { LAYOUT_SL_SI } from "./layout/sl_si.ts"; import { LAYOUT_SV_SE } from "./layout/sv_se.ts"; import { LAYOUT_TH_TH } from "./layout/th_th.ts"; @@ -200,6 +201,7 @@ const layouts = new Map([ [Layout.PT_PT, LAYOUT_PT_PT], [Layout.RO_RO, LAYOUT_RO_RO], [Layout.RU_RU, LAYOUT_RU_RU], + [Layout.RU_STATICA_3X5, LAYOUT_RU_STATICA_3X5], [Layout.SL_SI, LAYOUT_SL_SI], [Layout.SV_SE, LAYOUT_SV_SE], [Layout.TH_MAN, LAYOUT_TH_TH_MAN], From 45921c9e758bbff8a530d7202bb37bf43ed59d2b Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 09:12:49 +0300 Subject: [PATCH 11/16] Update layout-id.md --- packages/keybr-keyboard/lib/layout-id.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/keybr-keyboard/lib/layout-id.md b/packages/keybr-keyboard/lib/layout-id.md index 8c34ed55..ef5d75f5 100644 --- a/packages/keybr-keyboard/lib/layout-id.md +++ b/packages/keybr-keyboard/lib/layout-id.md @@ -99,7 +99,7 @@ - `0x6e`: - `0x6f`: - `0x70`: Russian/Russia -- `0x71`: +- `0x71`: Russian/Statica 3x5 (Matrix) - `0x72`: - `0x73`: - `0x74`: Belarusian/Belarus From fc4fe49abb2fd83f7e538f320b9eba75cd021371 Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 09:13:53 +0300 Subject: [PATCH 12/16] Update layout.ts --- packages/keybr-keyboard/lib/layout.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/keybr-keyboard/lib/layout.ts b/packages/keybr-keyboard/lib/layout.ts index 0e6b3b7e..dc01d983 100755 --- a/packages/keybr-keyboard/lib/layout.ts +++ b/packages/keybr-keyboard/lib/layout.ts @@ -547,7 +547,7 @@ export class Layout implements XEnumItem { ); static readonly RU_STATICA_3X5 = new Layout( /* id= */ "ru_statica_3x5", - /* xid= */ 0xb9,,,,,,,,,,,,,,,,,,,, + /* xid= */ 0x71, /* name= */ "Statica 3x5 (Matrix)", /* family= */ "statica", /* language= */ Language.RU, From 7e92219a0225c3e8dd7c8e5a9afd1b59c43dff91 Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Sun, 1 Feb 2026 09:19:44 +0300 Subject: [PATCH 13/16] Update layout.ts --- packages/keybr-keyboard/lib/layout.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/keybr-keyboard/lib/layout.ts b/packages/keybr-keyboard/lib/layout.ts index dc01d983..3db75f5c 100755 --- a/packages/keybr-keyboard/lib/layout.ts +++ b/packages/keybr-keyboard/lib/layout.ts @@ -551,7 +551,7 @@ export class Layout implements XEnumItem { /* name= */ "Statica 3x5 (Matrix)", /* family= */ "statica", /* language= */ Language.RU, - /* emulate= */ false, + /* emulate= */ true, /* geometries= */ new Enum(Geometry.MATRIX), ); static readonly BE_BY = new Layout( From 6aeea6b431270dc6770311f59ec6408329145ffe Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Wed, 18 Mar 2026 12:11:58 +0300 Subject: [PATCH 14/16] Update ru_statica_3x5.ts --- .../lib/layout/ru_statica_3x5.ts | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts b/packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts index 8b137891..53f169bb 100644 --- a/packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts +++ b/packages/keybr-keyboard/lib/layout/ru_statica_3x5.ts @@ -1 +1,55 @@ +// Generated file, do not edit. +import { type CharacterDict } from "../types.ts"; + +// prettier-ignore +export const LAYOUT_RU_STATICA_MATRIX: CharacterDict = { + Backquote: [/* QUOTATION MARK */ 0x0022, /* APOSTROPHE */ 0x0027], + Digit1: [/* DIGIT ONE */ 0x0031, /* EXCLAMATION MARK */ 0x0021], + Digit2: [/* DIGIT TWO */ 0x0032, /* COMMERCIAL AT */ 0x0040], + Digit3: [/* DIGIT THREE */ 0x0033, /* NUMBER SIGN */ 0x0023], + Digit4: [/* DIGIT FOUR */ 0x0034, /* DOLLAR SIGN */ 0x0024], + Digit5: [/* DIGIT FIVE */ 0x0035, /* PERCENT SIGN */ 0x0025], + Digit6: [/* DIGIT SIX */ 0x0036, /* CIRCUMFLEX ACCENT */ 0x005e], + Digit7: [/* DIGIT SEVEN */ 0x0037, /* QUESTION MARK */ 0x003f], + Digit8: [/* DIGIT EIGHT */ 0x0038, /* ASTERISK */ 0x002a], + Digit9: [/* DIGIT NINE */ 0x0039, /* LEFT PARENTHESIS */ 0x0028], + Digit0: [/* DIGIT ZERO */ 0x0030, /* RIGHT PARENTHESIS */ 0x0029], + Minus: [/* HYPHEN-MINUS */ 0x002d, /* LOW LINE */ 0x005f], + Equal: [/* EQUALS SIGN */ 0x003d, /* PLUS SIGN */ 0x002b], + KeyQ: [/* CYRILLIC SMALL LETTER SOFT SIGN */ 0x044c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ 0x042c, /* CYRILLIC SMALL LETTER HARD SIGN */ 0x044a, /* CYRILLIC CAPITAL LETTER HARD SIGN */ 0x042a], + KeyW: [/* CYRILLIC SMALL LETTER U */ 0x0443, /* CYRILLIC CAPITAL LETTER U */ 0x0423], + KeyE: [/* CYRILLIC SMALL LETTER A */ 0x0430, /* CYRILLIC CAPITAL LETTER A */ 0x0410], + KeyR: [/* CYRILLIC SMALL LETTER ZHE */ 0x0436, /* CYRILLIC CAPITAL LETTER ZHE */ 0x0416], + KeyT: [/* CYRILLIC SMALL LETTER YU */ 0x044e, /* CYRILLIC CAPITAL LETTER YU */ 0x042e], + KeyY: [/* CYRILLIC SMALL LETTER GHE */ 0x0433, /* CYRILLIC CAPITAL LETTER GHE */ 0x0413], + KeyU: [/* CYRILLIC SMALL LETTER BE */ 0x0431, /* CYRILLIC CAPITAL LETTER BE */ 0x0411], + KeyI: [/* CYRILLIC SMALL LETTER ER */ 0x0440, /* CYRILLIC CAPITAL LETTER ER */ 0x0420], + KeyO: [/* CYRILLIC SMALL LETTER EL */ 0x043b, /* CYRILLIC CAPITAL LETTER EL */ 0x041b], + KeyP: [/* CYRILLIC SMALL LETTER HA */ 0x0445, /* CYRILLIC CAPITAL LETTER HA */ 0x0425], + BracketLeft: [/* COMMA */ 0x002c, /* SEMICOLON */ 0x003b], + BracketRight: [/* FULL STOP */ 0x002e, /* COLON */ 0x003a], + Backslash: [/* SOLIDUS */ 0x002f, /* VERTICAL LINE */ 0x007c], + KeyA: [/* CYRILLIC SMALL LETTER I */ 0x0438, /* CYRILLIC CAPITAL LETTER I */ 0x0418], + KeyS: [/* CYRILLIC SMALL LETTER IE */ 0x0435, /* CYRILLIC CAPITAL LETTER IE */ 0x0415, /* CYRILLIC SMALL LETTER IO */ 0x0451, /* CYRILLIC CAPITAL LETTER IO */ 0x0401], + KeyD: [/* CYRILLIC SMALL LETTER O */ 0x043e, /* CYRILLIC CAPITAL LETTER O */ 0x041e], + KeyF: [/* CYRILLIC SMALL LETTER KA */ 0x043a, /* CYRILLIC CAPITAL LETTER KA */ 0x041a], + KeyG: [/* CYRILLIC SMALL LETTER YA */ 0x044f, /* CYRILLIC CAPITAL LETTER YA */ 0x042f], + KeyH: [/* CYRILLIC SMALL LETTER EM */ 0x043c, /* CYRILLIC CAPITAL LETTER EM */ 0x041c], + KeyJ: [/* CYRILLIC SMALL LETTER TE */ 0x0442, /* CYRILLIC CAPITAL LETTER TE */ 0x0422], + KeyK: [/* CYRILLIC SMALL LETTER ES */ 0x0441, /* CYRILLIC CAPITAL LETTER ES */ 0x0421], + KeyL: [/* CYRILLIC SMALL LETTER EN */ 0x043d, /* CYRILLIC CAPITAL LETTER EN */ 0x041d], + Semicolon: [/* CYRILLIC SMALL LETTER ZE */ 0x0437, /* CYRILLIC CAPITAL LETTER ZE */ 0x0417], + Quote: [/* FULL STOP */ 0x002e, /* COLON */ 0x003a], + KeyZ: [/* CYRILLIC SMALL LETTER EF */ 0x0444, /* CYRILLIC CAPITAL LETTER EF */ 0x0424], + KeyX: [/* CYRILLIC SMALL LETTER E */ 0x044d, /* CYRILLIC CAPITAL LETTER E */ 0x042d], + KeyC: [/* CYRILLIC SMALL LETTER YERU */ 0x044b, /* CYRILLIC CAPITAL LETTER YERU */ 0x042b], + KeyV: [/* CYRILLIC SMALL LETTER PE */ 0x043f, /* CYRILLIC CAPITAL LETTER PE */ 0x041f], + KeyB: [/* CYRILLIC SMALL LETTER SHORT I */ 0x0439, /* CYRILLIC CAPITAL LETTER SHORT I */ 0x0419], + KeyN: [/* CYRILLIC SMALL LETTER DE */ 0x0434, /* CYRILLIC CAPITAL LETTER DE */ 0x0414], + KeyM: [/* CYRILLIC SMALL LETTER VE */ 0x0432, /* CYRILLIC CAPITAL LETTER VE */ 0x0412], + Comma: [/* CYRILLIC SMALL LETTER CHE */ 0x0447, /* CYRILLIC CAPITAL LETTER CHE */ 0x0427], + Period: [/* CYRILLIC SMALL LETTER SHA */ 0x0448, /* CYRILLIC CAPITAL LETTER SHA */ 0x0428, /* CYRILLIC SMALL LETTER SHCHA */ 0x0449, /* CYRILLIC CAPITAL LETTER SHCHA */ 0x0429], + Slash: [/* CYRILLIC SMALL LETTER TSE */ 0x0446, /* CYRILLIC CAPITAL LETTER TSE */ 0x0426], + Space: [/* SPACE */ 0x0020], +}; From 7a99e3a30f3afc454077f37e3e1c90e69c77d781 Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Wed, 18 Mar 2026 12:25:45 +0300 Subject: [PATCH 15/16] Update ru_statica_3x5.json --- packages/keybr-generators/layouts/ru_statica_3x5.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/keybr-generators/layouts/ru_statica_3x5.json b/packages/keybr-generators/layouts/ru_statica_3x5.json index b7d5f606..60472d94 100644 --- a/packages/keybr-generators/layouts/ru_statica_3x5.json +++ b/packages/keybr-generators/layouts/ru_statica_3x5.json @@ -6,7 +6,7 @@ "Digit4": "4$", "Digit5": "5%", "Digit6": "6^", - "Digit7": "7&", + "Digit7": "7?", "Digit8": "8*", "Digit9": "9(", "Digit0": "0)", From 2d9e153a986795fe5958922c54c7a6873a978935 Mon Sep 17 00:00:00 2001 From: ShyPsy Date: Wed, 18 Mar 2026 12:41:28 +0300 Subject: [PATCH 16/16] Update layout.ts --- packages/keybr-keyboard/lib/layout.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/keybr-keyboard/lib/layout.ts b/packages/keybr-keyboard/lib/layout.ts index 3db75f5c..f8a05017 100755 --- a/packages/keybr-keyboard/lib/layout.ts +++ b/packages/keybr-keyboard/lib/layout.ts @@ -546,7 +546,7 @@ export class Layout implements XEnumItem { ), ); static readonly RU_STATICA_3X5 = new Layout( - /* id= */ "ru_statica_3x5", + /* id= */ "ru-statica-3x5", /* xid= */ 0x71, /* name= */ "Statica 3x5 (Matrix)", /* family= */ "statica",