From ccb956f1e258c632bc609691c5fe0477332d7a3d Mon Sep 17 00:00:00 2001 From: Atta Ul Haleem <58297355+Attaulhaleem@users.noreply.github.com> Date: Sat, 31 Jan 2026 18:06:50 +0100 Subject: [PATCH 1/2] feat(layout): add urdu_macos layout (@Attaulhaleem) --- frontend/static/layouts/urdu_macos.json | 62 +++++++++++++++++++++++++ packages/schemas/src/layouts.ts | 1 + 2 files changed, 63 insertions(+) create mode 100644 frontend/static/layouts/urdu_macos.json diff --git a/frontend/static/layouts/urdu_macos.json b/frontend/static/layouts/urdu_macos.json new file mode 100644 index 000000000000..b901214de68a --- /dev/null +++ b/frontend/static/layouts/urdu_macos.json @@ -0,0 +1,62 @@ +{ + "keymapShowTopRow": true, + "type": "ansi", + "keys": { + "row1": [ + ["؀", " ؔ"], + ["۱", "!"], + ["۲", "@"], + ["۳", "#"], + ["۴", "$"], + ["۵", "٪"], + ["۶", "^"], + ["۷", "ٴ "], + ["۸", "*"], + ["۹", ")"], + ["۰", "("], + ["-", "_"], + ["=", "+"] + ], + "row2": [ + ["ق", " ْ"], + ["و", "ؤ"], + ["ع", " ّ"], + ["ر", "ڑ"], + ["ت", "ٹ"], + ["ے", " ٖ"], + ["ئ", "ء"], + ["ی", " ٰ"], + ["ہ", "ۂ"], + ["پ", " ٗ"], + [" ُ", " ٌ"], + [" َ", " ً"], + [" ِ", " ٍ"] + ], + "row3": [ + ["ا", "آ"], + ["س", "ص"], + ["د", "ڈ"], + ["ف"], + ["گ", "غ"], + ["ھ", "ح"], + ["ج", "ض"], + ["ک", "خ"], + ["ل"], + ["؛", ":"], + ["'", "\""] + ], + "row4": [ + ["ز", "ذ"], + ["ش", "ژ"], + ["چ", "ث"], + ["ط", "ظ"], + ["ب"], + ["ن", "ں"], + ["م"], + ["،", "٬"], + ["۔", "."], + ["/", "؟"] + ], + "row5": [[" "]] + } +} diff --git a/packages/schemas/src/layouts.ts b/packages/schemas/src/layouts.ts index 94de81ef32df..fdd2d46f290d 100644 --- a/packages/schemas/src/layouts.ts +++ b/packages/schemas/src/layouts.ts @@ -232,6 +232,7 @@ export const LayoutNameSchema = z.enum( "persian_standard_colemak", "ergo_split46", "tamil99", + "urdu_macos", ], { errorMap: customEnumErrorHandler("Must be a supported layout"), From 1154c71d4357cbdf983eb4343fd66fb5e463d152 Mon Sep 17 00:00:00 2001 From: Atta Ul Haleem <58297355+Attaulhaleem@users.noreply.github.com> Date: Sat, 31 Jan 2026 18:32:46 +0100 Subject: [PATCH 2/2] fix strings to contain exactly 1 character --- frontend/static/layouts/urdu_macos.json | 20 ++++++++++---------- 1 file changed, 10 insertions(+), 10 deletions(-) diff --git a/frontend/static/layouts/urdu_macos.json b/frontend/static/layouts/urdu_macos.json index b901214de68a..0f95c5d1c3c0 100644 --- a/frontend/static/layouts/urdu_macos.json +++ b/frontend/static/layouts/urdu_macos.json @@ -3,14 +3,14 @@ "type": "ansi", "keys": { "row1": [ - ["؀", " ؔ"], + ["؀", "ؔ"], ["۱", "!"], ["۲", "@"], ["۳", "#"], ["۴", "$"], ["۵", "٪"], ["۶", "^"], - ["۷", "ٴ "], + ["۷", "ٴ"], ["۸", "*"], ["۹", ")"], ["۰", "("], @@ -18,19 +18,19 @@ ["=", "+"] ], "row2": [ - ["ق", " ْ"], + ["ق", "ْ"], ["و", "ؤ"], - ["ع", " ّ"], + ["ع", "ّ"], ["ر", "ڑ"], ["ت", "ٹ"], - ["ے", " ٖ"], + ["ے", "ٖ"], ["ئ", "ء"], - ["ی", " ٰ"], + ["ی", "ٰ"], ["ہ", "ۂ"], - ["پ", " ٗ"], - [" ُ", " ٌ"], - [" َ", " ً"], - [" ِ", " ٍ"] + ["پ", "ٗ"], + ["ُ", "ٌ"], + ["َ", "ً"], + ["ِ", "ٍ"] ], "row3": [ ["ا", "آ"],