From bd2df3971fa858c922d2624f24cdf061f4a1d3d7 Mon Sep 17 00:00:00 2001 From: Vignesh <75526550+ving-sh@users.noreply.github.com> Date: Tue, 6 Jan 2026 20:50:15 +0530 Subject: [PATCH] feat(layout): add tamil99 layout (@ving-sh) (#7313) ### Description ### Checks - [ ] Adding/modifying Typescript code? - [ ] I have used `qs`, `qsa` or `qsr` instead of JQuery selectors. - [ ] Adding quotes? - [ ] Make sure to include translations for the quotes in the description (or another comment) so we can verify their content. - [ ] Adding a language? - Make sure to follow the [languages documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LANGUAGES.md) - [ ] Add language to `packages/schemas/src/languages.ts` - [ ] Add language to exactly one group in `frontend/src/ts/constants/languages.ts` - [ ] Add language json file to `frontend/static/languages` - [ ] Adding a theme? - Make sure to follow the [themes documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/THEMES.md) - [ ] Add theme to `packages/schemas/src/themes.ts` - [ ] Add theme to `frontend/src/ts/constants/themes.ts` - [ ] Add theme css file to `frontend/static/themes` - [ ] Add some screenshots of the theme, especially with different test settings (colorful, flip colors) to your pull request - [x] Adding a layout? - [x] Make sure to follow the [layouts documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/LAYOUTS.md) - [x] Add layout to `packages/schemas/src/layouts.ts` - [x] Add layout json file to `frontend/static/layouts` - [ ] Adding a font? - Make sure to follow the [themes documentation](https://github.com/monkeytypegame/monkeytype/blob/master/docs/FONTS.md) - [ ] Add font file to `frontend/static/webfonts` - [ ] Add font to `packages/schemas/src/fonts.ts` - [ ] Add font to `frontend/src/ts/constants/fonts.ts` - [x] Make sure the PR title follows the Conventional Commits standard. (https://www.conventionalcommits.org for more info) - [x] Check if any open issues are related to this PR; if so, be sure to tag them below. - [x] Make sure to include your GitHub username prefixed with @ inside parentheses at the end of the PR title. Closes # [Discussion #6483](https://github.com/monkeytypegame/monkeytype/discussions/6483) Layout Documentation https://learn.microsoft.com/en-us/globalization/keyboards/kbdtam99 http://kbdlayout.info/KBDTAM99?arrangement=ANSI104 --------- Co-authored-by: Jack --- frontend/static/layouts/tamil99.json | 62 ++++++++++++++++++++++++++++ packages/schemas/src/layouts.ts | 1 + 2 files changed, 63 insertions(+) create mode 100644 frontend/static/layouts/tamil99.json diff --git a/frontend/static/layouts/tamil99.json b/frontend/static/layouts/tamil99.json new file mode 100644 index 000000000..7331df0ed --- /dev/null +++ b/frontend/static/layouts/tamil99.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 9cc82b0e4..94de81ef3 100644 --- a/packages/schemas/src/layouts.ts +++ b/packages/schemas/src/layouts.ts @@ -231,6 +231,7 @@ export const LayoutNameSchema = z.enum( "persian_farsi_colemak", "persian_standard_colemak", "ergo_split46", + "tamil99", ], { errorMap: customEnumErrorHandler("Must be a supported layout"),