feat(layout): add Gallium-NL layout (@ririshi) (#7029)

### Description
I recently created a modded version of Gallium that is more suited for
typing a mix of English and Dutch, rather than just being optimized for
English. I'd love to start learning the layout, so having a visual guide
would be very useful. I think others in my situation (who type a mix of
English and Dutch) could also benefit from having this layout added.
<!-- Please describe the change(s) made in your PR -->

### Checks

- [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` 

<!-- label(optional scope): pull request title (@your_github_username)
-->

<!-- I know I know they seem boring but please do them, they help us and
you will find out it also helps you.-->

<!-- the issue(s) your PR resolves if any (delete if that is not the
case) -->
<!-- please also reference any issues and or PRs related to your pull
request -->
<!-- Also remove it if you are not following any issues. -->

<!-- pro tip: you can mention an issue, PR, or discussion on GitHub by
referencing its hash number e.g:
[#1234](https://github.com/monkeytypegame/monkeytype/pull/1234) -->

<!-- pro tip: you can press . (dot or period) in the code tab of any
GitHub repo to get access to GitHub's VS Code web editor Enjoy! :) -->
This commit is contained in:
Andele Swierstra 2025-10-21 13:24:18 +02:00 committed by GitHub
parent 46fa005feb
commit e4afca1ff1
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 63 additions and 0 deletions

View file

@ -0,0 +1,62 @@
{
"keymapShowTopRow": false,
"type": "ansi",
"keys": {
"row1": [
["`", "~"],
["1", "!"],
["2", "@"],
["3", "#"],
["4", "$"],
["5", "%"],
["6", "^"],
["7", "&"],
["8", "*"],
["9", "("],
["0", ")"],
["-", "_"],
["=", "+"]
],
"row2": [
["b", "B"],
["l", "L"],
["d", "D"],
["c", "C"],
["v", "V"],
["y", "Y"],
["p", "P"],
["u", "U"],
["o", "O"],
[",", "<"],
["[", "{"],
["]", "}"],
["\\", "|"]
],
"row3": [
["n", "N"],
["r", "R"],
["t", "T"],
["s", "S"],
["w", "W"],
["f", "F"],
["h", "H"],
["e", "E"],
["a", "A"],
["i", "I"],
["/", "?"]
],
"row4": [
["x", "X"],
["q", "Q"],
["m", "M"],
["g", "G"],
["j", "J"],
["z", "Z"],
["k", "K"],
["'", "\""],
[";", ":"],
[".", ">"]
],
"row5": [[" "]]
}
}

View file

@ -155,6 +155,7 @@ export const LayoutNameSchema = z.enum(
"gallium_angle",
"gallium_v2",
"gallium_v2_matrix",
"gallium_nl",
"maya",
"gallaya_angle_ansi",
"gallaya_angle_iso",