protonscr

Proton keyboard layout swap issu.

protonopen
ValveSoftware/Proton#8708 · opened 2025-05-17 by Zutyosh · updated 2026-07-30 · 23 comments · github
4 matching comments, n / p to jump
ZZutyosh 2025-05-17 github

Hey, I have a really strange behavior with Proton in relation to keyboard layout swap: when I have “French” at the top of my layout list, but set my OS keyboard to US, in-game chat input correctly uses US QWERTY, but all my movement/interaction keys (ZQSD, etc.) still act as if I were on AZERTY French.

How to reproduce this situation:

In GNOME/KDE, add “English (US)” and “French (AZERTY)”.

Put “French” at the top of the list, then change your operating system's keyboard layout to “English (US)”.

Launch any game via Proton :

    Chat input follows the layout of the American QWERTY keyboard.

    Movement and interaction keys behave as if you were on a French AZERTY keyboard (ZQSD inverted).

Even if you reverse the order of the list (US first), everything works as intended with QWERTY movement and interaction keys.

What's happening: Proton seems to consider only the first-entry layout for game commands, ignoring the actual active layout for inputs other than chat, whereas chat windows respect the actual operating system layout.

This forces me to rearrange my layouts each time to get consistent controls, which is very annoying.

This bug is on every version of Proton.

Image

Kkhatharsis42 2025-05-19 github

I've had the same issue for years !

Mmarshallovski 2025-05-29 github

Hi, thank you for "resolving" the issue. Set English keyboard layout on top and Watch_Dogs and all buttons started to work.

Without this "fix":
Image

With English layout on top:
Image

Image

Aautisticgandalf 2025-10-18 github

same here
it's a major problem for every non QWERTY keyboard user
it's even more a problem when some devs are lazy enough to include non Qwerty keys in some games so remapping is impossible, so you are forced to switch layout to play (like atomic heart)

this really need to be fix

Kkhatharsis42 2025-10-20 github

I've found a workaround. In steam, you can change the command to setxkbmap us && %command% && setxkbmap <your language>

Aautisticgandalf 2025-12-02 github

I've found a workaround. In steam, you can change the command to setxkbmap us && %command% && setxkbmap <your language>

so if i understand i put setxkbmap us && %command% && setxkbmap fr
in the command section of my game property on steam so it will be QWERTY instead of AZERTY ?

EDIT: yep it work

ZZutyosh 2025-12-03 github

I've found a workaround. In steam, you can change the command to setxkbmap us && %command% && setxkbmap <your language>

I try and give u a feedback.

TTohkai 2025-12-09 github

why is this still an issue after all these years??? setxkbmap does not work.

Kkhatharsis42 2025-12-09 github

Probably because the maitainers have a QWERTY keyboard and most games allow you to remap the keys anyways

FFantom1214B 2025-12-18 github

I've found a workaround. In steam, you can change the command to setxkbmap us && %command% && setxkbmap <your language>

I tried with Wuthering Waves on Steam and does not work

NNationalgeographic 2026-01-04 github

I do have the same issue on Ashes of Creation, if I start with PROTON_ENABLE_WAYLAND=1.
Ingame Chat uses QWERTZ, Ingame Controls uses QWERTY...

Ttwmccart 2026-01-06 github

I do have the same issue on Ashes of Creation, if I start with PROTON_ENABLE_WAYLAND=1. Ingame Chat uses QWERTZ, Ingame Controls uses QWERTY...

What version of proton are you using? What is your complete launch options setup?

NNationalgeographic 2026-01-06 github

What version of proton are you using? What is your complete launch options setup?

Currently using GE-Proton10-28 and ENABLE_LSFG=1 PROTON_ENABLE_WAYLAND=1 PROTON_USE_NTSYNC=1 PROTON_FSR4_UPGRADE=1 PROTON_FSR4_INDICATOR=0 gamemoderun %command%
Tried the most recent vanilla Proton aswell, Proton 10.0-3 to the same result.

Iizzzymeow 2026-02-25 github

Any update ?? i'm also having a similar issue

AArtyomFR 2026-03-12 github

Same here, would be great if proton could deal with this in background without us having to set US keyboard layout default. It's a real pain in the a** to change layout to french at each startup.

ZziipzaaapM16A4 2026-04-05 github

Im having the same issue but without changing the layout.

My layout is QWERTZ and the game recognizes QWERTZ but when i use special characters it uses US layout.
For - it detects /
and # becomes "
^ is not even recognized.

This is especially frustrating in Arma Refoger because it has no layout change option

Ppaastabox 2026-04-07 github

I've found a workaround. In steam, you can change the command to setxkbmap us && %command% && setxkbmap <your language>

Works like a charm on StarRupture to swtich from AZERTY to QWERTY with setxkbmap us && %command% && setxkbmap fr in launch options.

On KDE Plasma 6.6.4 Wayland, and Proton Hotfix.

ZziipzaaapM16A4 2026-04-26 github

I've found a workaround. In steam, you can change the command to setxkbmap us && %command% && setxkbmap <your language>

Didn't work for me.
When active it fixes ^ button
but then
still - becomes /
and the game wont actively translate it into - anymore
(somehow the game recognizes / but was still able to translate it into - when using in text fields)
in Arma Reforger

also this launch command weiredly made other programs to use english keyboard.

ZZutyosh 2026-04-30 github

Using HOST_LC_ALL=en_US.UTF-8 %command% in NTE : Neverness to Everness fix the issue for me !

Mmabynke 2026-07-03 github

I have this issue as well, very annoying. I'm using Colemak, but have to reorder and put Qwerty on top and reorder again after the game.

EEvanZarrella 2026-07-07 github

First, thanks everyone for the solutions. I searched the internet for a long time before finding this issue.

tldr: Use XKB_DEFAULT_LAYOUT=<lang> gamescope in the game’s launch arguments.

Another workaround is to use Gamescope, Valve’s compositor. For context, I’m using an AZERTY keyboard and trying to play Crimson Desert. I tried all the methods mentioned above, with the following results:

  • Switching the default keyboard layout works, but it is annoying. You need to change it before and after playing, which is not very convenient in my opinion.
  • Setting HOST_LC_ALL=en_US.UTF-8 does not work with this game.
  • setxkbmap us && %command% && setxkbmap fr works great until you realize that it changes the keyboard layout for the whole desktop. Changing KDE’s keyboard layout behavior improves things, but does not fully fix them. Other windows may or may not switch back to AZERTY.

I wanted a single line that I could drop into the game’s launch options and then forget about it. Here it is:

XKB_DEFAULT_LAYOUT=us gamescope -e -f -w 2560 -h 1440 -W 2560 -H 1440 -- %command%

Change the source and target resolution to match your screen. Without these options, the resolution defaults to 1280x720.

Gamescope is installed by default on SteamOS and CachyOS.

LLightjohn 2026-07-14 github

Having an interesting one with Atomic Heart, azerty is just impossible to use by defaults and trying to meddle XKB_DEFAULT_LAYOUT=us gamescope ... make the game crash when trying to use keyboard.

setting XKB_DEFAULT_LAYOUT or XKB_DEFAULT_VARIANT have same results.

Any idea how I could fix it?

EDIT also tried HOST_LC_ALL + setxkbmap tricks and none of them works with that game :(
Note that Atomic Heart does not allow remapping to azerty because of internal game issues

EDIT2: found it! on my system (cachy os) XKB_DEFAULT_VARIANT is setup to azerty by systemctl

so final command must unset it: XKB_DEFAULT_VARIANT= XKB_DEFAULT_LAYOUT=us gamescope ...

``

Eelonthree 2026-07-22 github

I appear to have a related issue in dark souls 3 and skyrim with multiple keyboard layouts (US/Ukrainian/Russian). On gnome and Cinnamon, keyboard input works until the keyboard layout
is switched once while the game is running. It does not matter which
layout is switched from or to. On KDE Plasma, the issue may be present immediately after launch. Letter keys stop working correctly or produce invalid bindings. In Skyrim, rebinding movement keys makes the corresponding entries
disappear from the controls menu. Broken in proton 8.0-5, proton 10, proton 11, experimental
and hotfix. But in proton 7.0-6 and GE-proton11-1 keyboard works correctly. The same hardware keyboard produces correct press/release events in
evtest, wev and xkbcli.

MMr-nUUb 2026-07-30 github

I think https://github.com/ValveSoftware/wine/blob/81d78e4f3ea8ce868d775021fdc9f90122dc1a6b/dlls/winewayland.drv/wayland_keyboard.c#L405-L411 are connected to this issue if PROTON_ENABLE_WAYLAND=1 is applied. If I use the plain German layout in KDE, a QWERTZ layout is applied as expected. If I configure "German (Autria, no dead keys)", a QUERTY layout gets applied.