Repository: vscode
Issue: Custom keyboard layouts does not works properly on ozone wayland only mode
Labels: bug,linux,keyboard-layout,wayland

Issue Type: <b>Bug</b>

I'm using Programmer Dvorak keyboard layout, keybindings only works fine on Xorg with default keyboard dispatch (code).

1. Enable Programmer Dvorak keyboard layout on Linux (`setxkbmap us dvp` for Xorg)
2. launch in wayland mode `./code-insiders --enable-features=UseOzonePlatform --ozone-platform=wayland --no-sandbox` or change keyboard dispatch to `keyCode`
3. Press shortcut `Ctrl+Shift+[backtick]` (create new integrated terminal, the last key is located at the left side of BACKSPACE key), it will zoom in instead (because it actually think the user inputed `Ctrl+#`).

I've tried [Troubleshooting](https://github.com/microsoft/vscode/wiki/Keybinding-Issues) as well, and I find that it does not follow one single keymap. such like `Ctrl+Shift+e` works, but it shows strange keys (maybe from QWERTY) for most of combined keys especially those ones involves to the keys on number row.

[Programmer Dvorak](https://www.kaufmann.no/roland/dvorak/) keyboard layout:
![Programmer Dvorak keyboard layout](https://www.kaufmann.no/roland/dvorak/images/dvp1.png)

VS Code version: Code - Insiders 1.58.0-insider (9056b400b527c562871093916081c3e6df2691dd, 2021-07-03T07:56:06.848Z)
OS version: Linux x64 5.10.27-gentoo
Restricted Mode: No

<details>
<summary>System Info</summary>

|Item|Value|
|---|---|
|CPUs|Pentium(R) Dual-Core  CPU      E5700  @ 3.00GHz (2 x 2992)|
|GPU Status|2d_canvas: enabled<br>gpu_compositing: enabled<br>multiple_raster_threads: disabled_off<br>oop_rasterization: disabled_off<br>opengl: enabled_on<br>rasterization: disabled_software<br>skia_renderer: enabled_on<br>video_decode: disabled_software<br>vulkan: disabled_off<br>webgl: enabled<br>webgl2: enabled|
|Load (avg)|0, 1, 1|
|Memory (System)|3.84GB (0.09GB free)|
|Process Argv|--enable-features=UseOzonePlatform --ozone-platform=wayland --no-sandbox|
|Screen Reader|no|
|VM|0%|
|DESKTOP_SESSION|undefined|
|XDG_CURRENT_DESKTOP|undefined|
|XDG_SESSION_DESKTOP|undefined|
|XDG_SESSION_TYPE|wayland|
</details>Extensions: none<details>
<summary>A/B Experiments</summary>

```
vsliv695:30137379
vsins829:30139715
vsliv368:30146709
vsreu685:30147344
python383cf:30185419
pythonvspyt602:30291494
vspor879:30202332
vspor708:30202333
vspor363:30204092
pythonvspyt639:30291487
pythontb:30258533
vsc_aa:30263845
vspre833:30321513
pythonptprofiler:30281269
vshan820:30294714
pythondataviewer:30285072
vscus158:30321503
pythonvsuse255:30319630
vscorehov:30301224
vscod805cf:30301675
pythonvspyt200:30323110
vscextlang:30310088
vsccppwt:30312692
bridge0702cf:30333156

```

</details>

<!-- generated by issue reporter -->


I tried to build vscodium as well, would also appropriate if someone could tell a dirty workaround by patching something to get programmer dvorak works for me on wayland. so far I've only notice [vscode/src/vs/workbench/services/keybinding/browser/keyboardLayouts/](https://github.com/microsoft/vscode/tree/main/src/vs/workbench/services/keybinding/browser/keyboardLayouts) but idk what should I edit.