From 6f9d9698882f03885f1d4b2b0ad66b6d73d5d2ca Mon Sep 17 00:00:00 2001 From: rhusiev <63148080+rhusiev@users.noreply.github.com> Date: Sat, 24 May 2025 12:42:05 +0300 Subject: [PATCH 1/4] Add a facet layout for Ukrainian language --- .../keybr-generators/layouts/uk_facet_ua.json | 53 +++++++++++++++++ .../keybr-generators/lib/generate-layouts.ts | 1 + packages/keybr-keyboard/lib/layout.ts | 10 ++++ .../keybr-keyboard/lib/layout/uk_facet_ua.ts | 57 +++++++++++++++++++ packages/keybr-keyboard/lib/load.ts | 2 + 5 files changed, 123 insertions(+) create mode 100644 packages/keybr-generators/layouts/uk_facet_ua.json create mode 100644 packages/keybr-keyboard/lib/layout/uk_facet_ua.ts diff --git a/packages/keybr-generators/layouts/uk_facet_ua.json b/packages/keybr-generators/layouts/uk_facet_ua.json new file mode 100644 index 00000000..2f9213a9 --- /dev/null +++ b/packages/keybr-generators/layouts/uk_facet_ua.json @@ -0,0 +1,53 @@ +{ + "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": "ьЬ", + "IntlBackslash": "", + "KeyZ": "чЧ", + "KeyX": "пП", + "KeyC": "вВ", + "KeyV": "зЗ", + "KeyB": "бБ", + "KeyN": ",", + "KeyM": ".", + "Comma": "'\"", + "Period": "яЯ", + "Slash": "їЇ", + "Space": " ", + "ThumbClusterRight1": "рР", + "ThumbClusterRight2": " " +} diff --git a/packages/keybr-generators/lib/generate-layouts.ts b/packages/keybr-generators/lib/generate-layouts.ts index 2c9936a5..8f068b57 100755 --- a/packages/keybr-generators/lib/generate-layouts.ts +++ b/packages/keybr-generators/lib/generate-layouts.ts @@ -92,6 +92,7 @@ for (const [id, layout] of [ ["tr_tr_f", importCldr("cldr-keyboards-43.0/keyboards/windows/tr-t-k0-windows-legacy.xml")], ["tr_tr_q", importCldr("cldr-keyboards-43.0/keyboards/windows/tr-t-k0-windows.xml")], ["uk_ua", importCldr("cldr-keyboards-43.0/keyboards/windows/uk-t-k0-windows.xml")], + ["uk_facet_ua", importKeymap("layouts/uk_facet_ua.json")], ] as [string, CharacterDict][]) { writeGeneratedFile(layout, pathTo(`../keybr-keyboard/lib/layout/${id}.ts`)); } diff --git a/packages/keybr-keyboard/lib/layout.ts b/packages/keybr-keyboard/lib/layout.ts index 6a368382..e26da329 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 UK_FACET_UA = new Layout( + /* id= */ "uk-facet-ua", + /* xid= */ 0x79, + /* name= */ "Facet UA (Matrix)", + /* family= */ "uk-facet-ua", + /* language= */ Language.UK, + /* emulate= */ true, + /* geometries= */ new Enum(Geometry.MATRIX), + ); static readonly SV_SE = new Layout( /* id= */ "sv-se", /* xid= */ 0x80, @@ -1191,6 +1200,7 @@ export class Layout implements XEnumItem { Layout.SL_SI, Layout.SV_SE, Layout.UK_UA, + Layout.UK_FACET_UA, Layout.RU_RU, Layout.TR_TR_Q, Layout.TR_TR_F, diff --git a/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts new file mode 100644 index 00000000..811e973e --- /dev/null +++ b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts @@ -0,0 +1,57 @@ +// Generated file, do not edit. + +import { type CharacterDict } from "../types.ts"; + +// prettier-ignore +export const LAYOUT_UK_FACET_UA: CharacterDict = { + Backquote: [/* GRAVE ACCENT */ 0x0060, /* TILDE */ 0x007e], + 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, /* AMPERSAND */ 0x0026], + 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 HA */ 0x0445, /* CYRILLIC CAPITAL LETTER HA */ 0x0425], + KeyW: [/* CYRILLIC SMALL LETTER GHE */ 0x0433, /* CYRILLIC CAPITAL LETTER GHE */ 0x0413], + KeyE: [/* CYRILLIC SMALL LETTER EM */ 0x043c, /* CYRILLIC CAPITAL LETTER EM */ 0x041c], + KeyR: [/* CYRILLIC SMALL LETTER TSE */ 0x0446, /* CYRILLIC CAPITAL LETTER TSE */ 0x0426], + KeyT: [/* CYRILLIC SMALL LETTER SHA */ 0x0448, /* CYRILLIC CAPITAL LETTER SHA */ 0x0428], + KeyY: [/* CYRILLIC SMALL LETTER EF */ 0x0444, /* CYRILLIC CAPITAL LETTER EF */ 0x0424], + KeyU: [/* CYRILLIC SMALL LETTER U */ 0x0443, /* CYRILLIC CAPITAL LETTER U */ 0x0423], + KeyI: [/* CYRILLIC SMALL LETTER O */ 0x043e, /* CYRILLIC CAPITAL LETTER O */ 0x041e], + KeyO: [/* CYRILLIC SMALL LETTER I */ 0x0438, /* CYRILLIC CAPITAL LETTER I */ 0x0418], + KeyP: [/* CYRILLIC SMALL LETTER SHORT I */ 0x0439, /* CYRILLIC CAPITAL LETTER SHORT I */ 0x0419], + BracketLeft: [/* CYRILLIC SMALL LETTER ZHE */ 0x0436, /* CYRILLIC CAPITAL LETTER ZHE */ 0x0416], + BracketRight: [/* CYRILLIC SMALL LETTER SHCHA */ 0x0449, /* CYRILLIC CAPITAL LETTER SHCHA */ 0x0429], + Backslash: [/* CYRILLIC SMALL LETTER GHE WITH UPTURN */ 0x0491, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ 0x0490], + KeyA: [/* CYRILLIC SMALL LETTER EL */ 0x043b, /* CYRILLIC CAPITAL LETTER EL */ 0x041b], + KeyS: [/* CYRILLIC SMALL LETTER EN */ 0x043d, /* CYRILLIC CAPITAL LETTER EN */ 0x041d], + KeyD: [/* CYRILLIC SMALL LETTER KA */ 0x043a, /* CYRILLIC CAPITAL LETTER KA */ 0x041a], + KeyF: [/* CYRILLIC SMALL LETTER TE */ 0x0442, /* CYRILLIC CAPITAL LETTER TE */ 0x0422], + KeyG: [/* CYRILLIC SMALL LETTER DE */ 0x0434, /* CYRILLIC CAPITAL LETTER DE */ 0x0414], + KeyH: [/* CYRILLIC SMALL LETTER UKRAINIAN IE */ 0x0454, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ 0x0404], + KeyJ: [/* CYRILLIC SMALL LETTER A */ 0x0430, /* CYRILLIC CAPITAL LETTER A */ 0x0410], + KeyK: [/* CYRILLIC SMALL LETTER IE */ 0x0435, /* CYRILLIC CAPITAL LETTER IE */ 0x0415], + KeyL: [/* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ 0x0456, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ 0x0406], + Semicolon: [/* CYRILLIC SMALL LETTER ES */ 0x0441, /* CYRILLIC CAPITAL LETTER ES */ 0x0421], + Quote: [/* CYRILLIC SMALL LETTER SOFT SIGN */ 0x044c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ 0x042c], + KeyZ: [/* CYRILLIC SMALL LETTER CHE */ 0x0447, /* CYRILLIC CAPITAL LETTER CHE */ 0x0427], + KeyX: [/* CYRILLIC SMALL LETTER PE */ 0x043f, /* CYRILLIC CAPITAL LETTER PE */ 0x041f], + KeyC: [/* CYRILLIC SMALL LETTER VE */ 0x0432, /* CYRILLIC CAPITAL LETTER VE */ 0x0412], + KeyV: [/* CYRILLIC SMALL LETTER ZE */ 0x0437, /* CYRILLIC CAPITAL LETTER ZE */ 0x0417], + KeyB: [/* CYRILLIC SMALL LETTER BE */ 0x0431, /* CYRILLIC CAPITAL LETTER BE */ 0x0411], + KeyN: [/* COMMA */ 0x002c], + KeyM: [/* FULL STOP */ 0x002e], + Comma: [/* APOSTROPHE */ 0x0027, /* QUOTATION MARK */ 0x0022], + Period: [/* CYRILLIC SMALL LETTER YA */ 0x044f, /* CYRILLIC CAPITAL LETTER YA */ 0x042f], + Slash: [/* CYRILLIC SMALL LETTER YI */ 0x0457, /* CYRILLIC CAPITAL LETTER YI */ 0x0407], + Space: [/* SPACE */ 0x0020], + ThumbClusterRight1: [/* CYRILLIC SMALL LETTER ER */ 0x0440, /* CYRILLIC CAPITAL LETTER ER */ 0x0420], + ThumbClusterRight2: [/* SPACE */ 0x0020], +}; diff --git a/packages/keybr-keyboard/lib/load.ts b/packages/keybr-keyboard/lib/load.ts index 2b04200e..e740a26f 100755 --- a/packages/keybr-keyboard/lib/load.ts +++ b/packages/keybr-keyboard/lib/load.ts @@ -89,6 +89,7 @@ import { LAYOUT_TH_TH_PAT } from "./layout/th_th_pat.ts"; import { LAYOUT_TR_TR_F } from "./layout/tr_tr_f.ts"; import { LAYOUT_TR_TR_Q } from "./layout/tr_tr_q.ts"; import { LAYOUT_UK_UA } from "./layout/uk_ua.ts"; +import { LAYOUT_UK_FACET_UA } from "./layout/uk_facet_ua.ts"; import { nullMod, remapZones } from "./mod.ts"; import { KeyboardOptions } from "./settings.ts"; import { type CharacterDict, type GeometryDict } from "./types.ts"; @@ -170,6 +171,7 @@ const layouts = new Map([ [Layout.TR_TR_F, LAYOUT_TR_TR_F], [Layout.TR_TR_Q, LAYOUT_TR_TR_Q], [Layout.UK_UA, LAYOUT_UK_UA], + [Layout.UK_FACET_UA, LAYOUT_UK_FACET_UA], [Layout.DE_ADNW_BUT_XCV, LAYOUT_DE_ADNW_BUT_XCV], ]); From 69a1bcf53ef768fc9ca25bb26e769356f93a0e1b Mon Sep 17 00:00:00 2001 From: rhusiev <63148080+rhusiev@users.noreply.github.com> Date: Sat, 24 May 2025 16:17:11 +0300 Subject: [PATCH 2/4] =?UTF-8?q?Add=20a=20=D1=8E=20letter?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/keybr-generators/layouts/uk_facet_ua.json | 4 ++-- packages/keybr-keyboard/lib/layout/uk_facet_ua.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/packages/keybr-generators/layouts/uk_facet_ua.json b/packages/keybr-generators/layouts/uk_facet_ua.json index 2f9213a9..70da0d58 100644 --- a/packages/keybr-generators/layouts/uk_facet_ua.json +++ b/packages/keybr-generators/layouts/uk_facet_ua.json @@ -42,8 +42,8 @@ "KeyC": "вВ", "KeyV": "зЗ", "KeyB": "бБ", - "KeyN": ",", - "KeyM": ".", + "KeyN": ",ю", + "KeyM": ".Ю", "Comma": "'\"", "Period": "яЯ", "Slash": "їЇ", diff --git a/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts index 811e973e..0d8f1e9b 100644 --- a/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts +++ b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts @@ -46,8 +46,8 @@ export const LAYOUT_UK_FACET_UA: CharacterDict = { KeyC: [/* CYRILLIC SMALL LETTER VE */ 0x0432, /* CYRILLIC CAPITAL LETTER VE */ 0x0412], KeyV: [/* CYRILLIC SMALL LETTER ZE */ 0x0437, /* CYRILLIC CAPITAL LETTER ZE */ 0x0417], KeyB: [/* CYRILLIC SMALL LETTER BE */ 0x0431, /* CYRILLIC CAPITAL LETTER BE */ 0x0411], - KeyN: [/* COMMA */ 0x002c], - KeyM: [/* FULL STOP */ 0x002e], + KeyN: [/* COMMA */ 0x002c, /* CYRILLIC SMALL LETTER YU */ 0x044e], + KeyM: [/* FULL STOP */ 0x002e, /* CYRILLIC CAPITAL LETTER YU */ 0x042e], Comma: [/* APOSTROPHE */ 0x0027, /* QUOTATION MARK */ 0x0022], Period: [/* CYRILLIC SMALL LETTER YA */ 0x044f, /* CYRILLIC CAPITAL LETTER YA */ 0x042f], Slash: [/* CYRILLIC SMALL LETTER YI */ 0x0457, /* CYRILLIC CAPITAL LETTER YI */ 0x0407], From 477afe8aa94f7b4f1dc4bfff5d08e39ea4e04164 Mon Sep 17 00:00:00 2001 From: rhusiev <63148080+rhusiev@users.noreply.github.com> Date: Sat, 31 May 2025 11:20:28 +0300 Subject: [PATCH 3/4] Move facet_ua to v2 --- .../keybr-generators/layouts/uk_facet_ua.json | 48 +++++++++---------- .../keybr-keyboard/lib/layout/uk_facet_ua.ts | 48 +++++++++---------- 2 files changed, 48 insertions(+), 48 deletions(-) diff --git a/packages/keybr-generators/layouts/uk_facet_ua.json b/packages/keybr-generators/layouts/uk_facet_ua.json index 70da0d58..fd6c85be 100644 --- a/packages/keybr-generators/layouts/uk_facet_ua.json +++ b/packages/keybr-generators/layouts/uk_facet_ua.json @@ -12,40 +12,40 @@ "Digit0": "0)", "Minus": "-_", "Equal": "=+", - "KeyQ": "хХ", - "KeyW": "гГ", - "KeyE": "мМ", - "KeyR": "цЦ", - "KeyT": "шШ", - "KeyY": "фФ", - "KeyU": "уУ", + "KeyQ": "жЖ", + "KeyW": "пП", + "KeyE": "дД", + "KeyR": "чЧ", + "KeyT": "цЦ", + "KeyY": "юЮ", + "KeyU": "яЯ", "KeyI": "оО", - "KeyO": "иИ", - "KeyP": "йЙ", - "BracketLeft": "жЖ", + "KeyO": "уУ", + "KeyP": "фФ", + "BracketLeft": "шШ", "BracketRight": "щЩ", "Backslash": "ґҐ", - "KeyA": "лЛ", + "KeyA": "сС", "KeyS": "нН", - "KeyD": "кК", - "KeyF": "тТ", - "KeyG": "дД", + "KeyD": "тТ", + "KeyF": "кК", + "KeyG": "вВ", "KeyH": "єЄ", "KeyJ": "аА", "KeyK": "еЕ", "KeyL": "іІ", - "Semicolon": "сС", - "Quote": "ьЬ", + "Semicolon": "иИ", + "Quote": "хХ", "IntlBackslash": "", - "KeyZ": "чЧ", - "KeyX": "пП", - "KeyC": "вВ", - "KeyV": "зЗ", + "KeyZ": "зЗ", + "KeyX": "гГ", + "KeyC": "лЛ", + "KeyV": "мМ", "KeyB": "бБ", - "KeyN": ",ю", - "KeyM": ".Ю", - "Comma": "'\"", - "Period": "яЯ", + "KeyN": ",\"", + "KeyM": ".'", + "Comma": "йЙ", + "Period": "ьЬ", "Slash": "їЇ", "Space": " ", "ThumbClusterRight1": "рР", diff --git a/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts index 0d8f1e9b..5c464a06 100644 --- a/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts +++ b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts @@ -17,39 +17,39 @@ export const LAYOUT_UK_FACET_UA: CharacterDict = { 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 HA */ 0x0445, /* CYRILLIC CAPITAL LETTER HA */ 0x0425], - KeyW: [/* CYRILLIC SMALL LETTER GHE */ 0x0433, /* CYRILLIC CAPITAL LETTER GHE */ 0x0413], - KeyE: [/* CYRILLIC SMALL LETTER EM */ 0x043c, /* CYRILLIC CAPITAL LETTER EM */ 0x041c], - KeyR: [/* CYRILLIC SMALL LETTER TSE */ 0x0446, /* CYRILLIC CAPITAL LETTER TSE */ 0x0426], - KeyT: [/* CYRILLIC SMALL LETTER SHA */ 0x0448, /* CYRILLIC CAPITAL LETTER SHA */ 0x0428], - KeyY: [/* CYRILLIC SMALL LETTER EF */ 0x0444, /* CYRILLIC CAPITAL LETTER EF */ 0x0424], - KeyU: [/* CYRILLIC SMALL LETTER U */ 0x0443, /* CYRILLIC CAPITAL LETTER U */ 0x0423], + KeyQ: [/* CYRILLIC SMALL LETTER ZHE */ 0x0436, /* CYRILLIC CAPITAL LETTER ZHE */ 0x0416], + KeyW: [/* CYRILLIC SMALL LETTER PE */ 0x043f, /* CYRILLIC CAPITAL LETTER PE */ 0x041f], + KeyE: [/* CYRILLIC SMALL LETTER DE */ 0x0434, /* CYRILLIC CAPITAL LETTER DE */ 0x0414], + KeyR: [/* CYRILLIC SMALL LETTER CHE */ 0x0447, /* CYRILLIC CAPITAL LETTER CHE */ 0x0427], + KeyT: [/* CYRILLIC SMALL LETTER TSE */ 0x0446, /* CYRILLIC CAPITAL LETTER TSE */ 0x0426], + KeyY: [/* CYRILLIC SMALL LETTER YU */ 0x044e, /* CYRILLIC CAPITAL LETTER YU */ 0x042e], + KeyU: [/* CYRILLIC SMALL LETTER YA */ 0x044f, /* CYRILLIC CAPITAL LETTER YA */ 0x042f], KeyI: [/* CYRILLIC SMALL LETTER O */ 0x043e, /* CYRILLIC CAPITAL LETTER O */ 0x041e], - KeyO: [/* CYRILLIC SMALL LETTER I */ 0x0438, /* CYRILLIC CAPITAL LETTER I */ 0x0418], - KeyP: [/* CYRILLIC SMALL LETTER SHORT I */ 0x0439, /* CYRILLIC CAPITAL LETTER SHORT I */ 0x0419], - BracketLeft: [/* CYRILLIC SMALL LETTER ZHE */ 0x0436, /* CYRILLIC CAPITAL LETTER ZHE */ 0x0416], + KeyO: [/* CYRILLIC SMALL LETTER U */ 0x0443, /* CYRILLIC CAPITAL LETTER U */ 0x0423], + KeyP: [/* CYRILLIC SMALL LETTER EF */ 0x0444, /* CYRILLIC CAPITAL LETTER EF */ 0x0424], + BracketLeft: [/* CYRILLIC SMALL LETTER SHA */ 0x0448, /* CYRILLIC CAPITAL LETTER SHA */ 0x0428], BracketRight: [/* CYRILLIC SMALL LETTER SHCHA */ 0x0449, /* CYRILLIC CAPITAL LETTER SHCHA */ 0x0429], Backslash: [/* CYRILLIC SMALL LETTER GHE WITH UPTURN */ 0x0491, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ 0x0490], - KeyA: [/* CYRILLIC SMALL LETTER EL */ 0x043b, /* CYRILLIC CAPITAL LETTER EL */ 0x041b], + KeyA: [/* CYRILLIC SMALL LETTER ES */ 0x0441, /* CYRILLIC CAPITAL LETTER ES */ 0x0421], KeyS: [/* CYRILLIC SMALL LETTER EN */ 0x043d, /* CYRILLIC CAPITAL LETTER EN */ 0x041d], - KeyD: [/* CYRILLIC SMALL LETTER KA */ 0x043a, /* CYRILLIC CAPITAL LETTER KA */ 0x041a], - KeyF: [/* CYRILLIC SMALL LETTER TE */ 0x0442, /* CYRILLIC CAPITAL LETTER TE */ 0x0422], - KeyG: [/* CYRILLIC SMALL LETTER DE */ 0x0434, /* CYRILLIC CAPITAL LETTER DE */ 0x0414], + KeyD: [/* CYRILLIC SMALL LETTER TE */ 0x0442, /* CYRILLIC CAPITAL LETTER TE */ 0x0422], + KeyF: [/* CYRILLIC SMALL LETTER KA */ 0x043a, /* CYRILLIC CAPITAL LETTER KA */ 0x041a], + KeyG: [/* CYRILLIC SMALL LETTER VE */ 0x0432, /* CYRILLIC CAPITAL LETTER VE */ 0x0412], KeyH: [/* CYRILLIC SMALL LETTER UKRAINIAN IE */ 0x0454, /* CYRILLIC CAPITAL LETTER UKRAINIAN IE */ 0x0404], KeyJ: [/* CYRILLIC SMALL LETTER A */ 0x0430, /* CYRILLIC CAPITAL LETTER A */ 0x0410], KeyK: [/* CYRILLIC SMALL LETTER IE */ 0x0435, /* CYRILLIC CAPITAL LETTER IE */ 0x0415], KeyL: [/* CYRILLIC SMALL LETTER BYELORUSSIAN-UKRAINIAN I */ 0x0456, /* CYRILLIC CAPITAL LETTER BYELORUSSIAN-UKRAINIAN I */ 0x0406], - Semicolon: [/* CYRILLIC SMALL LETTER ES */ 0x0441, /* CYRILLIC CAPITAL LETTER ES */ 0x0421], - Quote: [/* CYRILLIC SMALL LETTER SOFT SIGN */ 0x044c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ 0x042c], - KeyZ: [/* CYRILLIC SMALL LETTER CHE */ 0x0447, /* CYRILLIC CAPITAL LETTER CHE */ 0x0427], - KeyX: [/* CYRILLIC SMALL LETTER PE */ 0x043f, /* CYRILLIC CAPITAL LETTER PE */ 0x041f], - KeyC: [/* CYRILLIC SMALL LETTER VE */ 0x0432, /* CYRILLIC CAPITAL LETTER VE */ 0x0412], - KeyV: [/* CYRILLIC SMALL LETTER ZE */ 0x0437, /* CYRILLIC CAPITAL LETTER ZE */ 0x0417], + Semicolon: [/* CYRILLIC SMALL LETTER I */ 0x0438, /* CYRILLIC CAPITAL LETTER I */ 0x0418], + Quote: [/* CYRILLIC SMALL LETTER HA */ 0x0445, /* CYRILLIC CAPITAL LETTER HA */ 0x0425], + KeyZ: [/* CYRILLIC SMALL LETTER ZE */ 0x0437, /* CYRILLIC CAPITAL LETTER ZE */ 0x0417], + KeyX: [/* CYRILLIC SMALL LETTER GHE */ 0x0433, /* CYRILLIC CAPITAL LETTER GHE */ 0x0413], + KeyC: [/* CYRILLIC SMALL LETTER EL */ 0x043b, /* CYRILLIC CAPITAL LETTER EL */ 0x041b], + KeyV: [/* CYRILLIC SMALL LETTER EM */ 0x043c, /* CYRILLIC CAPITAL LETTER EM */ 0x041c], KeyB: [/* CYRILLIC SMALL LETTER BE */ 0x0431, /* CYRILLIC CAPITAL LETTER BE */ 0x0411], - KeyN: [/* COMMA */ 0x002c, /* CYRILLIC SMALL LETTER YU */ 0x044e], - KeyM: [/* FULL STOP */ 0x002e, /* CYRILLIC CAPITAL LETTER YU */ 0x042e], - Comma: [/* APOSTROPHE */ 0x0027, /* QUOTATION MARK */ 0x0022], - Period: [/* CYRILLIC SMALL LETTER YA */ 0x044f, /* CYRILLIC CAPITAL LETTER YA */ 0x042f], + KeyN: [/* COMMA */ 0x002c, /* QUOTATION MARK */ 0x0022], + KeyM: [/* FULL STOP */ 0x002e, /* APOSTROPHE */ 0x0027], + Comma: [/* CYRILLIC SMALL LETTER SHORT I */ 0x0439, /* CYRILLIC CAPITAL LETTER SHORT I */ 0x0419], + Period: [/* CYRILLIC SMALL LETTER SOFT SIGN */ 0x044c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ 0x042c], Slash: [/* CYRILLIC SMALL LETTER YI */ 0x0457, /* CYRILLIC CAPITAL LETTER YI */ 0x0407], Space: [/* SPACE */ 0x0020], ThumbClusterRight1: [/* CYRILLIC SMALL LETTER ER */ 0x0440, /* CYRILLIC CAPITAL LETTER ER */ 0x0420], From 7ed41ca875de55419e9c15c47691b99e21fa3445 Mon Sep 17 00:00:00 2001 From: rhusiev <63148080+rhusiev@users.noreply.github.com> Date: Sat, 31 May 2025 13:53:39 +0300 Subject: [PATCH 4/4] Change facet_ua layout to have all keys, albeir in unintended places --- packages/keybr-generators/layouts/uk_facet_ua.json | 8 +++++--- packages/keybr-keyboard/lib/layout/uk_facet_ua.ts | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/packages/keybr-generators/layouts/uk_facet_ua.json b/packages/keybr-generators/layouts/uk_facet_ua.json index fd6c85be..194658dc 100644 --- a/packages/keybr-generators/layouts/uk_facet_ua.json +++ b/packages/keybr-generators/layouts/uk_facet_ua.json @@ -22,9 +22,9 @@ "KeyI": "оО", "KeyO": "уУ", "KeyP": "фФ", - "BracketLeft": "шШ", + "BracketLeft": "ґҐ", "BracketRight": "щЩ", - "Backslash": "ґҐ", + "Backslash": "шШ", "KeyA": "сС", "KeyS": "нН", "KeyD": "тТ", @@ -49,5 +49,7 @@ "Slash": "їЇ", "Space": " ", "ThumbClusterRight1": "рР", - "ThumbClusterRight2": " " + "ThumbClusterRight2": " ", + "ThumbClusterLeft1": "ґҐ", + "ThumbClusterLeft2": "щЩ" } diff --git a/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts index 5c464a06..57712de3 100644 --- a/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts +++ b/packages/keybr-keyboard/lib/layout/uk_facet_ua.ts @@ -27,9 +27,9 @@ export const LAYOUT_UK_FACET_UA: CharacterDict = { KeyI: [/* CYRILLIC SMALL LETTER O */ 0x043e, /* CYRILLIC CAPITAL LETTER O */ 0x041e], KeyO: [/* CYRILLIC SMALL LETTER U */ 0x0443, /* CYRILLIC CAPITAL LETTER U */ 0x0423], KeyP: [/* CYRILLIC SMALL LETTER EF */ 0x0444, /* CYRILLIC CAPITAL LETTER EF */ 0x0424], - BracketLeft: [/* CYRILLIC SMALL LETTER SHA */ 0x0448, /* CYRILLIC CAPITAL LETTER SHA */ 0x0428], + BracketLeft: [/* CYRILLIC SMALL LETTER GHE WITH UPTURN */ 0x0491, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ 0x0490], BracketRight: [/* CYRILLIC SMALL LETTER SHCHA */ 0x0449, /* CYRILLIC CAPITAL LETTER SHCHA */ 0x0429], - Backslash: [/* CYRILLIC SMALL LETTER GHE WITH UPTURN */ 0x0491, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ 0x0490], + Backslash: [/* CYRILLIC SMALL LETTER SHA */ 0x0448, /* CYRILLIC CAPITAL LETTER SHA */ 0x0428], KeyA: [/* CYRILLIC SMALL LETTER ES */ 0x0441, /* CYRILLIC CAPITAL LETTER ES */ 0x0421], KeyS: [/* CYRILLIC SMALL LETTER EN */ 0x043d, /* CYRILLIC CAPITAL LETTER EN */ 0x041d], KeyD: [/* CYRILLIC SMALL LETTER TE */ 0x0442, /* CYRILLIC CAPITAL LETTER TE */ 0x0422], @@ -52,6 +52,8 @@ export const LAYOUT_UK_FACET_UA: CharacterDict = { Period: [/* CYRILLIC SMALL LETTER SOFT SIGN */ 0x044c, /* CYRILLIC CAPITAL LETTER SOFT SIGN */ 0x042c], Slash: [/* CYRILLIC SMALL LETTER YI */ 0x0457, /* CYRILLIC CAPITAL LETTER YI */ 0x0407], Space: [/* SPACE */ 0x0020], + ThumbClusterLeft1: [/* CYRILLIC SMALL LETTER GHE WITH UPTURN */ 0x0491, /* CYRILLIC CAPITAL LETTER GHE WITH UPTURN */ 0x0490], + ThumbClusterLeft2: [/* CYRILLIC SMALL LETTER SHCHA */ 0x0449, /* CYRILLIC CAPITAL LETTER SHCHA */ 0x0429], ThumbClusterRight1: [/* CYRILLIC SMALL LETTER ER */ 0x0440, /* CYRILLIC CAPITAL LETTER ER */ 0x0420], ThumbClusterRight2: [/* SPACE */ 0x0020], };